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
NSAllowsArbitraryLoads
NSAppTransportSecurity
NSAllowsArbitraryLoads
这将帮助你。