Xcode 7 / iOS 9中的Api调用错误(如何在plist中设置App Transport安全性)
我正在使用xcode 7testing版本。 现在,我正在开发一个API。 如果,我在Xcode 6.3中使用API,它工作正常,但是当我在xcode 7中使用相同的API出现错误消息出现无法parsing。
这里是我使用的API
请帮我一下 提前致谢
在iOS9中,苹果增加了一项名为App Transport Security(ATS)的新function。
ATS在networking呼叫期间执行最佳做法,包括使用HTTPS。
苹果预发布文档:
ATS防止意外泄露,提供安全的默认行为,并且易于采用。 您应该尽快采用ATS,无论您是创build新应用还是更新现有应用。
如果您正在开发新的应用程序,则应该专门使用HTTPS。 如果您有现有的应用程序,则应尽可能使用HTTPS,并尽快制定一个计划来迁移应用程序的其余部分。
在你的info.plist中添加下面的关键字,然后看看。
<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>
即使你可以添加特定的exception,
<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>
你可以按照这个简单的步骤
在你的info.plist中添加以下内容
NSAppTransportSecurity
NSAllowsArbitraryLoadsNSAppTransportSecurity
这将帮助你。
NSAllowsArbitraryLoads