我在 iOS 9 和 iOS 8 上使用 Swift 2 和 Alamofire。在 iOS 8 中,我对 API 的所有请求都工作正常。在 iOS 9 中,它们立即失败,并显示 -1004 NSURLErrorDomain 并显示消息“无法连接到服务器。”。我了解了 Apple 对应用程序传输安全性的更改,并已将该条目添加到我的 Plist 中以禁用它并允许不安全的连接。
我不知道这个错误的原因......任何帮助都会很棒!
在尝试了很多不同的键和值以使其工作之后,我终于想出了这个方法以使其在 iOS9.1 中运行:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSExceptionDomains</key>
<dict>
<key>mydomain.com</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSTemporaryExceptionMinimumTLSVersion</key>
<string>TLSv1.1</string>
<key>NSExceptionRequiresForwardSecrecy</key>
<false/>
<key>NSRequiresCertificateTransparency</key>
<false/>
</dict>
</dict>
</dict>
当我添加了最后一个之后NSRequiresCertificateTransparency
并将其设置为 false 它有效,所以这可能是最重要的一个。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)