【问题标题】:Is ATS policy have been changed in iOS 13 and Allow Arbitrary Loads now doesn't work?iOS 13 中的 ATS 策略是否已更改并且允许任意加载现在不起作用?
【发布时间】:2019-07-17 13:34:15
【问题描述】:

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

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

所有 http 请求都在 iOS 13 之前工作。在 iOS 13 中,我在控制台中看到:

无法开始加载任务 <...>.,因为它不符合 ATS 策略任务 <...>. 完成并出现错误 [-1022] 错误 Domain=NSURLErrorDomain Code=-1022 "资源无法加载 因为应用传输安全策略需要使用安全的 连接。" UserInfo={NSLocalizedDescription=资源不能 被加载,因为应用程序传输安全策略需要使用 的安全连接。,

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

【问题讨论】:

  • 我也有同样的问题
  • @dalejin 你解决了这个问题吗?

标签: xcode11 ios13


【解决方案1】:

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

由于这是一个测试版,这也可能是工具方面的问题,而不是显式更改。

注意:

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

同时,您会考虑使用 NSDomainExceptions 作为解决方法吗?无论如何,为特定域添加例外是一种更好的做法,而不是仅仅允许在您的应用程序中进行不安全的加载。 Exception domain docs for your reference

【讨论】:

    猜你喜欢
    • 2016-03-06
    • 1970-01-01
    • 2016-10-30
    • 2019-10-30
    • 2010-11-02
    • 2014-04-07
    • 1970-01-01
    • 2019-10-20
    • 2014-02-15
    相关资源
    最近更新 更多