在尝试在iOS9模拟器上运行该应用程序后,我遇到了以下严重警告
无法加载资源,因为应用程序传输安全策略要求使用安全连接。
在谷歌搜索解决方案后,我找到了一个。将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>它也不起作用。看起来Xcode 7.0.1覆盖了这个配置,不管我如何编辑plist文件。
期待着关于这个问题的任何建议。
发布于 2015-10-26 17:04:14
您所调用的域名有哪个安全版本层?
苹果的默认设置是1.2TLS。您的API可能使用1.1或1.0安全性。尝试设置NSExceptionMinimumTLSVersion.只需在info.plist中编辑您提到域名的字典即可。下面是TLS 1.0版本安全性的一个示例。
<key>mydomain.com</key>
<dict>
<key>NSExceptionMinimumTLSVersion</key>
<string>TLSv1.0</string>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
<false/>
</dict>https://stackoverflow.com/questions/33349483
复制相似问题