It wouldn’t be that big a problem if 3rd party app developers would stop dropping support for older operating systems. This is the thing that truly kills the devices.
Go to the App Store on an iPhone 7 and every app will refuse to install because it requires the latest and greatest OS even though they used to work just fine on the old OS. They deliberately drop support even when they don’t have to. Total shitty behavior.
I gotta throw away my phone because you, Mr. Developer, can’t be bothered to keep the old code around for backward compatibility.
As far as I know, it's not really on the app developers, after a while Apple requires them to switch to a newer "target" build if they want to push out an update. Currently, the minimum target iOS version if you're submitting an app to the app store is iOS 18.
And additionally, even if there once was a compatible version, Apple only lets end users download it if they have previously purchased/downloaded the app.
In my opinion, this is almost fully Apple's fault
You’re conflating target version with minimum supported version.
There aren’t requirements to update the minimum. They’re independent. There might be limitations on what APIs are still available though in Xcode if they’re removed after a deprecation period however.
You can use the latest SDK, and if you don’t use any new APIs, your app will continue to deploy to whatever minimum you have set.
If you want to use the new APIs, you can put their use behind availability checks.
It’s just that at some point, as a dev, you want to stop testing on older devices and you want to stop branching your code for OS versions that are a minuscule fraction of the active user base. The ROI changes quickly.
I think a lot of people in this thread are mistaking SDK version and minimum supported version.
The App store requires you to link with a minimum SDK version, but the minimum supported version is set independently by the developer in Xcode. The latest version of Xcode + the latest SDK can still support devices running iOS 15. Developers are deliberately choosing to drop such support. Or maybe they just don't know how, as evidenced in this thread.
Xcode occasionally bumps the minimum will compile for without complaint.
Yes, but even with the current latest SDK and latest Xcode, iOS 15 can be set as the minimum supported version.
Which, importantly means you can support devices back to the iPhone 6S that is a decade old at this point.
I'm on iOS 15 and still regularly get updates for a handful of apps. How are they doing it?
Your app must run on iOS 18 but you can drop features to get it to support as old of an iOS as you want.
That’s not true, watch the video here to see why not: https://youtu.be/WXqVV8_GORE
TL;DW
1. you must use current Xcode to submit to the App Store
2. Current Xcode only supports a short list of the most recent iOS SDKs as targets
3. Therefore you can’t make a build with an older Xcode to submit, and you can’t make a build that supports say, iOS 15, with current Xcode.
The video highlights a complete hack which can for now be used to make builds that target older SDKs, but Apple could change their systems to break that at any time, and in fact the latest iOSs don’t use these device support files that he shows are the key to the hack. So while you can do this now for old iOS, when 26 is too outdated for Apple to want you to target, this hack won’t work to bring it back.
No you can
https://developer.apple.com/support/xcode/ the iOS 26 SDK can target iOS 15 or later
Sorry. I meant iOS 14, then
This video was very informative on how Apple deliberately blocks developers’ ability to update an app without removing support for older iOS and an unsupported undocumented workaround the creator has noticed which at least momentarily works to work around it:
https://youtu.be/WXqVV8_GORE
That’s not how that works. Broadly speaking, you compile your app against a selected SDK version. Want to use newer features? You have to use a newer SDK. The SDKs themselves support selected ranges of OSes and don’t go back all the way to the beginning.
If you’re writing an app that targets the newest hardware features, say because you’re making a camera app that uses the latest updates, it’s not going to run on iOS 5. You can’t hold that against app authors, or even against Apple, really. There’s not a lot of return on investment for sinking thousands of dev hours into supporting ancient phones that almost no one uses, and which by definition are more likely to be used by people who won’t spend a dime on apps or services.
It's also worth noting that app stores tend to have a range of SDK versions that they will accept for new uploads. (For iOS apps on the Apple App Store, the minimum is currently the SDK for iOS 18[0], and in April 2026, that will change to a minimum of the SDK for iOS 26[1]).
In some cases (such as with Google Play), app stores will even unpublish apps that were built with old versions of the SDK.
In other words, if you want to update your app at all, you have to stick to the rules that they provide regarding SDK versions.
[0] https://developer.apple.com/news/upcoming-requirements/?id=0...
[1] https://developer.apple.com/app-store/submitting/
I'm not talking about the SDK version, I'm talking about the minimum supported OS version, which is selected by the developer in Xcode. While App Store requires a minimum SDK version, your app using that SDK version is free to target iOS versions all the way back to some limit that Xcode sets, which is currently 15.
It's Apple more than developers. Even if an app has an older supported version, you cannot install it outright on older iDevices. You have to "purchase" it first (even if it's free) using old iTunes version or a newer iDevice with the same account, and only then, when you "own" the app, the old iDevice will prompt you to install the older version, if it's supported.
It's actually a requirement by app store connect to use a modern sdk for uploading binaries, and modern sdk versions will often raise the minimum supported ios version, so this is not always the developer's fault. See for example https://developer.apple.com/news/upcoming-requirements/?id=0...
> you, Mr. Developer
Yes, it is I, Mr Developer, that decided that every year the minimum XCode version / SDK Version must be raised