我正在使用xcode 7 beta版。 现在,我正在使用API。如果,我在Xcode 6.3中使用API它工作正常,但是当我在xcode 7中使用相同的API时出现错误消息无法解析。
请帮帮我。在此先感谢
答案 0 :(得分:9)
在iOS9中,Apple添加了一项名为App Transport Security(ATS)的新功能。
ATS在网络呼叫期间实施最佳做法,包括使用HTTPS。
Apple预发布文档:
ATS防止意外泄露,提供安全的默认行为, 并且很容易采用。你应该尽快采用ATS, 无论您是创建新应用还是更新 现有的。
如果您正在开发新应用,则应该专门使用HTTPS。如果 你有一个现有的应用程序,你应该尽可能多地使用HTTPS 现在,并创建一个计划,以迁移您的应用程序的其余部分 尽快。
在info.plist&中添加以下密钥然后看看。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
即使你可以添加特定的例外,
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>testdomain.com</key>
<dict>
<key>NSIncludesSubdomains</key>
<false/>
<key>NSExceptionAllowInsecureHTTPSLoads</key>
<false/>
<key>NSExceptionRequiresForwardSecrecy</key>
<true/>
<key>NSExceptionMinimumTLSVersion</key>
<string>TLSv1.2</string>
<key>NSThirdPartyExceptionAllowInsecureHTTPSLoads</key>
<false/>
<key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
<true/>
<key>NSThirdPartyExceptionMinimumTLSVersion</key>
<string>TLSv1.2</string>
<key>NSRequiresCertificateTransparency</key>
<false/>
</dict>
...
</dict>
</dict>
答案 1 :(得分:4)