2 ms·
1, 2, and 3 are actually all Apple policies. 1: Native appearance on new devices is solely to prevent them from looking bad on a user's new device. Presumably
by jshier 4y ago
1, 2, and 3 are actually all Apple policies.
1: Native appearance on new devices is solely to prevent them from looking bad on a user's new device. Presumably the user would rather have their apps work, but Apple wants the appearance.
2: Apple only ships new SDKs with new Xcodes and new Xcodes can't run old SDKs. This is strictly a technical policy to limit Apple's development effort. People have been able to extract old SDKs from old Xcodes to run in the new version but that's become harder and harder over the years.
3. Another technical policy, this time with many parts. Apple starts a new Xcode version's life supporting the current and future macOS versions, but then removes support for what is then the previous version at some point. This lets them remove compatibility code but cuts OS support in the middle of a major version cycle. Additionally, Apple seems to be dropping arbitrary hardware support in macOS over the last few years, so many developers can't upgrade to the latest OS at all.
- mlyle 4y ago> 1, 2, and 3 are actually all Apple policies. I basically said that. You echo the way I distinguished things: #2 and #3 are limitations on what Apple chooses to support (for somewhat reasonable technical reasons). I suppose you could call them "technical policy". #1 is a deliberate marketing choice to leverage the App Store to make developers improve support for new devices.