应用程序传输安全 (ATS) 和应用程序提交

Application Transport Security (ATS) and app submission

我在网上进行了大量搜索,但没有找到任何 concrete/official 有关以下与提交受 ATS 影响的应用有关的问题的信息。

  1. 问: ATS 仅适用于 iOS 9 以后。当设备升级到 iOS9 时,较旧的应用程序(为 iOS 8.x 及更低版本构建)会发生什么情况。他们会默认禁用 ATS 还是会在不符合 ATS 标准的情况下停止运行? ANS: 为较低 SDK 构建的应用程序将默认选择退出 ATS。能够使用 iOS 9 beta 5 设备验证这一点。(app-dev-forum link)

  2. 设置全局 ATS 禁用标志(allowarbitraryloads)的应用程序会被允许进入应用商店吗?

  3. iOS9 次发布后,链接到旧版 SDK 的应用是否仍可以提交到市场? Apple 目前接受 deployment_sdk 的 iOS 5
  4. 的应用程序
  5. 在 iOS 9 个版本之后,应用程序是否应该使用 SDK 的发布版本构建?
  6. Q: 我听说如果一个应用程序是针对测试版构建的,它会被拒绝。如果我错了,请纠正我。 回答:是的。基于 beta 版 SDK 的应用将被拒绝。

如果您能回答以上任何问题,那就太好了。我将在post中整理答案以方便以后参考。如果您为 ref 添加任何官方链接,那就太好了。非常感谢任何帮助。

我的一些回答是基于个人经验,一些是关于开放的,一些是关于记录在案的苹果指南。

  1. 它不会在 iOS 9 设备上运行。

From a personal experience. I had live app. that was functionning perfectly in iOS 8.2 devices and once iOS 8.3 got released and those devices updated the App. suddenly start crashing.

  1. 设置 ATS 标志,使用 iOS 8 (Xcode 6.X) 构建并提交到商店。

PList is just a text file. It always can have non-recognized items by apple. As we always add values there for 3rd party libraries. I strongly don't think that apple's "current automated checker" will or supposed to check a future flag. and they will function for iOS 9 for the same reason app start crashing on point one!

  1. 是的。这些应该包括 ATS 标志。否则,将被拒绝。

Apps that do not perform as advertised by the developer will be rejected. (2. Functionality 2.3)

  1. 没有。

Not applicable to force all developers to update their enviroment. They only have to add the flag. Apple never did such a sudden restriction.

  1. 正确。

Refere to this answer. that shows a screen shot here.

  1. 正如您在更新后的问题中所说,iOS-9 之前的应用不受 ATS 影响,因为它仅适用于链接到 iOS 9(或稍后)SDK.

  2. 是的。只要有充分的理由,就可以全局禁用 ATS。

  3. 使用 iOS 8,我认为 Apple 开始要求在 iOS 8 发货后大约五个月针对 iOS 8 SDK 构建应用程序。因此 Apple 可能 要求您在某些时候针对 iOS 9 SDK 进行构建。或者可能不是。这是任何人的猜测。

  4. 是的,此时应针对 iOS 9 SDK 构建 iOS 应用程序。链接到 iOS 9 SDK 可能不需要(至少最初是这样),但保持最新通常是个好主意。

  5. 是的,您必须针对最终的 iOS 9 SDK 版本而不是之前的任何 iOS 7 beta SDK 进行构建。