Apple’s upcoming requirement (as per Apple’s announcement) states that apps submitted to the App Store after April 24, 2025, must be built with Xcode 16 or later using the iOS 18 SDK. I understand that Xcode 16 only supports a minimum deployment target of iOS 15 or later, meaning I cannot directly build new updates for iOS 14 or earlier with Xcode 16.
I have a significant user base on iOS 14 and earlier (e.g., iOS 13, 12), and I want to ensure these users can continue using my app while also shipping new features. I’m aware of Apple’s last compatible version feature, which allows users on older iOS versions to download a previously approved version of the app compatible with their OS. However, I’m unsure how to balance this with delivering new features to these users.
Here are my specific questions:
- Since Xcode 16 doesn’t support deployment targets below iOS 15, is there any way to ship new features to users on iOS 14 or earlier without maintaining a separate codebase built with an older Xcode version (e.g., Xcode 15)?
- How does Apple’s last compatible version feature work for users on iOS 14 or earlier? If I upload a new app version built with Xcode 16 (minimum iOS 15), will users on iOS 14 automatically get the last compatible version previously built for their OS? Are there any limitations or risks to this approach?
- Can I maintain a legacy version of my app (e.g., built with Xcode 15 for iOS 14 support) in the App Store alongside the new version built with Xcode 16? If so, how can I submit critical bug fixes or minor updates for the legacy version?