iOS 13中的ATS策略是否已更改,并且“允许任意加载”现在不起作用?

时间:2019-07-17 13:34:15

标签: xcode11 ios13

我在plist中拥有Xcode 11 beta 3,iOS 13:

<key>NSAllowsArbitraryLoads</key>
<true/>

所有http请求都可以在iOS 13之前运行。在iOS 13中,我在控制台中看到了

  

无法启动任务<...>。<1>的加载,因为它不符合ATS   策略任务<...>。<1>已完成,错误为[-1022]错误   Domain = NSURLErrorDomain代码= -1022“无法加载资源   因为“应用传输安全”政策要求使用安全   连接。” UserInfo = {NSLocalizedDescription =资源无法   由于需要使用“应用程序传输安全性”策略而被加载   安全连接。

iOS 13中的ATS策略是否已更改?我找不到任何相关信息

1 个答案:

答案 0 :(得分:0)

根据当前的docs,仍然可以使用此密钥,但是在App Store审核期间可能会要求您提供一些解释。

由于这是 beta版本,因此这可能也是工具问题,而不是明确的更改。

请注意:

  

在iOS 10和更高版本以及macOS 10.12和更高版本中,如果应用的“信息属性列表”文件中存在以下任何键,则将忽略NSAllowsArbitraryLoads键的值,并使用默认值NO代替:   NSAllowsArbitraryLoadsForMedia   NSAllowsArbitraryLoadsInWebContent   NSAllowsLocalNetworking

同时,您是否考虑使用NSmainExceptions作为解决方法?无论如何,最好的做法是为特定域添加例外,而不是仅允许整个应用程序进行不安全的加载。 Exception domain docs for your reference