iOS 9 - App Transport Security 不会加载 XML 文件

iOS 9 - App Transport Security wont load XML files

我正在将我的应用程序升级到 iOS9。为了支持 ATS,我将我所有的 url 都转移到了 https。 但是 ATS 在 XML 文件上抛出以下错误。位于同一位置的 JSON 个文件没有问题。

App Transport Security 已阻止明文 HTTP (http://) 资源加载,因为它不安全。可以通过您应用的 Info.plist 文件配置临时例外。

JSON URL: https://www.example.com/content/123.xml

XML URL: https://www.example.com/content/123.json

请指出可能是什么问题? 提前致谢。

运行 在终端中执行以下命令:

curl -v 'https://www.example.com/content/123.xml'
curl -v 'https://www.example.com/content/123.json'

很可能您的服务器不支持 SSL 并将您的 url 重定向到标准的 http 下载。

如果是这种情况,将会有一个 Location header 表示新的 url。

在您应用的 plist 中添加:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

将其添加到您的应用中info.plist

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>