Search code examples
iosxcodeios9

Application Transport Security (ATS) and app submission


I searched online extensively but could not find any concrete/official information on the following questions related to submission of an app affected by ATS.

  1. Q: ATS is applicable only on iOS 9 onward. What happens to older apps (built for iOS 8.x and below) when the device is upgraded to iOS9. Will they have ATS disabled by default or will they stop functioning if they are not ATS compliant? ANS: Apps built for lower SDKs will opt-out of ATS by default. Was able to verify this using an iOS 9 beta 5 device.(app-dev-forum link)

  2. Will applications that set the global ATS disabler flag (allowarbitraryloads) be admitted to the app store?

  3. After iOS 9 releases, can apps linking to older SDKs can still be submitted to the marketplace? Apple is currently accepting apps with deployment_sdk of iOS 5
  4. After iOS 9 releases, should apps be built with the release version of the SDK?
  5. Q: I heard that if an app is built against beta versions, it will be rejected. Please correct me if I'm wrong. ANS: Yes. Apps based on beta version of SDKs will get rejected.

Great if you can answer any of the above. I'll compile the answers in this post to make it easy for later reference. Would be great if you add any official links for ref. Any help is really appreciated.


Solution

    1. As you said in your updated question, pre-iOS-9 apps are unaffected by ATS, because it only applies to apps linked against the iOS 9 (or later) SDK.

    2. Yes. Disabling ATS globally is fine as long as there's a good reason for doing so.

    3. With iOS 8, I think Apple started requiring apps to be built against the iOS 8 SDK about five months after iOS 8 shipped. So Apple might require you to build against the iOS 9 SDK at some point. Or maybe not. It's anybody's guess.

    4. Yes, iOS apps should be built against the iOS 9 SDK at this point. Linking against the iOS 9 SDK probably won't be required (at least initially), but it is usually a good idea to keep up-to-date.

    5. Yes, you must build against the final iOS 9 SDK version rather than any previous iOS 7 beta SDK.