我在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策略是否已更改?我找不到任何相关信息
答案 0 :(得分:0)
根据当前的docs,仍然可以使用此密钥,但是在App Store审核期间可能会要求您提供一些解释。
由于这是 beta版本,因此这可能也是工具问题,而不是明确的更改。
请注意:
在iOS 10和更高版本以及macOS 10.12和更高版本中,如果应用的“信息属性列表”文件中存在以下任何键,则将忽略NSAllowsArbitraryLoads键的值,并使用默认值NO代替: NSAllowsArbitraryLoadsForMedia NSAllowsArbitraryLoadsInWebContent NSAllowsLocalNetworking
同时,您是否考虑使用NSmainExceptions作为解决方法?无论如何,最好的做法是为特定域添加例外,而不是仅允许整个应用程序进行不安全的加载。 Exception domain docs for your reference