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.
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 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
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