尝试在iOS9模拟器上运行应用程序后,我遇到了以下令人讨厌的警告
无法加载资源,因为App Transport Security策略要求使用安全连接 .
谷歌搜索解决方案后,我发现了一个 . 打开 project's .plist
文件作为源代码并添加以下行:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>mydomain.com</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSExceptionRequiresForwardSecrecy</key>
<false/>
</dict>
</dict>
</dict>
清理了构建,运行 - 并看到类似的警告 .
之后,我尝试了其他各种方法How do I load an HTTP URL with App Transport Security enabled in iOS 9?
没有用 .
我尝试允许所有域名,即使这是一种拒绝风险的方法 .
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
它也没用 . 无论我如何编辑 plist
文件,似乎Xcode 7.0.1都会覆盖此配置 .
期待有关该主题的任何建议 .
1 回答
您正在调用的域名具有哪个安全版层?
Apple默认设置为1.2 TLS . 您的API可能是1.1或1.0安全性 . 尝试设置 NSExceptionMinimumTLSVersion . 只需在info.plist中编辑您提到域名的字典 . 以下是TLS版本1.0安全性的示例 .