If you are like me, you have some old iPhone devices at home that are out of date. They are too slow to browse the web and they are actually no good for nothing anymore. Which is a pity, because they still work and they actually look pretty. So why not use them as clocks or as interactive photo frames?
Anyway, although I do have the coding skills to implement apps in Objective-C or older flavours of Swift, current iOS SDKs and Xcode versions do not support old iOS versions. As of this writing I use Xcode 13 which uses iOS SDK version 15. Which means that you cannot develop apps for iOS versions lower than iOS 9. iOS 9 is still quite nice because you can install this iOS version on the second generation iPad. Therefore, developing apps for old iPads is not that big of a problem (I haven’t checked how developing works for the 1st generation iPad though).
In my case I wanted to develop a clock app for my iPhone 4 which uses iOS 7. The first question was: Which Xcode version does support iOS 7. Finding the answer was not that easy. In the end I tried out a few versions and narrowed it down to Xcode 7 (Xcode 7.3.1 to be more precise). You can find all versions of Xcode here. This site also tells you which macOS version you have to have AT LEAST in order to install each Xcode version. But it does not tell you which is the last supported version of macOS 🙈 I pulled out an old Mac Mini of the drawer with macOS 10.11 and it worked 😮💨 It has been a bit of a hassle though getting all the development certificates and provisioning profiles right in order to actually deploy the app to the iPhone. But the result is quite nice now (as you can see in the picture above).
In order to meet Xcode’s system requirements, you may need to downgrade your macOS version.