IOS – What does Apple’s new App Store requirement mean

app-store-connectiosios-appstore

This message came in my App Store Connect:

Upcoming Submission Requirements As a reminder, starting March 27,
2019 all new apps and app updates for iPhone or iPad, including
universal apps, will need to be built with the iOS 12.1 SDK and
support iPhone XS Max or the 12.9-inch iPad Pro (3rd generation).
Screenshots for these devices will also be required. All new apps and
app updates for Apple Watch will need to be built with the watchOS 5.1
SDK and support Apple Watch Series 4.

What does the line will need to be built with the iOS 12.1 SDK mean? Does it mean that minimum supported iOS version need to be iOS 12.1?

I have already an app in App Store with minimum iOS as 10.0. Do I need to change that to 12.1?

Link to the news:

https://developer.apple.com/news/?id=03202019a

Best Answer

Minimum SDK ≠ minimum OS version.

You will have to compile your app with the SDK ≥ 12.1, but your Deployment Target can be lower than that. Apple wants to "force" you to prepare the UI for iPhone XS Max.

Here's more info about the SDK and Deployment Target on StackOverflow.

Simple explanation from Big Nerd Ranch:

SDK stands for “Software Development Kit,” which is the set of libraries and headers for a particular OS version. This is the version of Apple’s APIs that you compile and link against. The SDK describes the set of API available to you. Linking against the iOS 9 SDK means you can use any API that comes with iOS 9. You won’t be able to directly use stuff introduced in iOS 10. Modern Xcodes are tightly coupled to the SDKs for the latest OS versions, so if you upgrade your Xcode, you will be linking against a newer version of the SDK.

The other version number is the Deployment Target. This declares the oldest OS version your app will support. How far back you decide to support is a business decision based on how much work you are willing to do for customers on older versions of the OS.