Are there any features that you can add to the app in the newest ios (ios 18) but wont add because those features wont be supported in the older ios versions (ios 15,16,17) ?
In most cases, that only happens with Apple features that are only available in modern iOS versions. For example, Live Text is only available in iOS 17+ because it uses an API in iOS, which is only available in iOS 17+.
Normally, we don’t introduce iOS limitations ourselves. And it’s very hard to foresee when something like this could happen.
The system APIs also limit us. Let me give you a concrete example.
This is a portion of the interface of Apple’s URL
class API
As you can read there, appendingPathComponent
is deprecated, meaning we shouldn’t use that method anymore, and it soon will become unavailable.
To work-around that we could do something like this in our code
To use the newer function in iOS 16+, and the older version in previous versions.
That is fine depending on how many of those are. We only branch out the code once, otherwise it becomes unmanageable. If we can completely isolate a feature without polluting the rest of the code, that’s the easiest case. We only make one feature available in one version+ and that’s it.
But when Apple makes foundational changes, and that forces us to branch the code too many times, we normally bump the minimum iOS version. Otherwise, it would be like developing many apps simultaneously.
The bottom line is that we don’t take lightly dropping support for old iOS versions.
But we’re a small team and can only support so many code variants.
Fortunately, Apple has recently extended the number of devices supporting reasonable new versions.
I hope that makes sense.