9

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

  • 1
    Keep in mind that an iOS 9 phone may be extinct in the wild, but an iOS 9 iPad is a perfectly functional product still widely in use. – Harper Mar 21 at 22:25
  • @Harper, I have both running fine. – lhf Mar 22 at 11:16
  • @Harper I have 2 iPhones: an iPhone SE running iOS 12.1.4 I use for daily activities and an iPhone 5c (my mom's old phone) which I only use to read and watch stuff in bed, so I don't have my alarm phone lying within arms reach of my bed. It makes it easier for me to get out of bed in the morning since it means getting out of bed to turn off my alarm anyway. It does mean I need to use outdated versions of the Reddit and Chrome apps though, which is particularly annoying because there is no iOS-9 compatible Reddit app with swipe navigation support that has no performance issues with videos/gifs. – Nzall Mar 22 at 14:09
15

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.

  • I will prepare for xs max though some people having that are already using the app and did not complain anything about it. Thanks for the answer. – Anuran Barman Mar 21 at 13:20
  • 3
    If you've been following the autolayout guides properly and doesn't have hardcoded View dimensions etc. your app should work "out of the box" on XS Max :) – Mateusz Szlosek Mar 21 at 13:22
  • I am pretty confident that it will work "out of the box" in xs max. just some days ago crashlytics mentioned a iphone xs max user. He did not say anything about the UI via mail or review. Hope it will work. – Anuran Barman Mar 21 at 13:25
  • 2
    You can use XS Max Simulator to find out yourself how it looks there. This may help to find some issues and prevent from being rejected by Apple in the future. – Mateusz Szlosek Mar 21 at 13:27
  • 1
    You can still support older OSes, but moving to a newer SDK can be a non-trivial task for older apps.. Apple sometimes deprecates APIs, and at some point apps using those APIs will not compile against the latest SDK. If an app uses OpenGL, for example, it may require a major rewrite (using Metal) in order to be re-submitted in future. Apple are pretty good about giving notice of those changes, but the work still needs to be done at some point. – bobtato Mar 22 at 4:14
6

No, there’s no requirement to change the minimum supported iOS version.

The only requirement is that you must build it with the 12.1 SDK. You can do that while supporting older iOS versions.

For most the new requirement just means that you have to update Xcode and rebuild your app. It takes a few minutes, and most probably already updated anyways.

  • Yeah I am on the latest xcode. Hope I wont have to do anything else. I will prepare for xs max though some people having that are already using the app and did not complain anything about it. Thanks for the answer . – Anuran Barman Mar 21 at 13:20
  • 1
    You’ll also have to comply with the rest of the new requirements, like the iPhone XS Max and iPad Pro 12.9” UI requirement, but it is usually very easy to do so if you have an app that is continuously updated and uses auto layout. – jksoegaard Mar 21 at 13:21
  • Yeah whole app is using auto layouts. It's physically tested in iphone X. Hope there won't be any major change for xs max. for ipad I have to do thorough testing. – Anuran Barman Mar 21 at 13:23

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .