Closing off APIs that facilitate fingerprinting is just one of many incompatible changes Apple has been making.
Some other reasons are deprecating power hungry technologies and asking for more permissions to access private data.
These are changes that benefit users on a massive scale. Why shouldn’t a developer be expected to respect users needs?
Also - “windows does it” is obviously irrelevant when we are talking about a mobile OS.
I won't continue this discussion about maintaining compatibility. This is fundamentally a philosophical issue. I agree with the sibling comment that it is the job of an OS to provide stable APIs across versions. It requires some effort (as a long-term library maintainer, I'm very well aware of this), but it is not an impossibility at all.
The job of the computer is to serve the end user. The job of the OS is to manage the computer’s resources on the users behalf.
API stability can contribute to that goal, but this is not an absolute.
Apple balances their view of what is good for users over what is good for developers and themselves.
Your preference is to prioritize developer comfort over both end users and Apple.
If you think there are no insecure or inefficient APIs in older versions of operating systems, then you are simply wrong.
API stability sometimes serves the end user, and sometimes does not. When it does not, it should not be maintained.
Isn't this supposed to be why the App Store has a manual approval process? So Apple can actually check if developers are doing malicious things?
By all means, apply extra scrutiny if an old API is in use. Maybe allow the API only in updates to old apps, and not new ones.
> By all means, apply extra scrutiny if an old API is in use. Maybe allow the API only in updates to old apps, and not new ones.
If the developer is updating the app, there is no reason they shouldn’t adopt a more user friendly api.