Xcode 7.1在iOS 9中NSURLSession / NSURLConnection HTTP加载失败(kCFStreamErrorDomainSSL,-9813)

我正在使用iOS 9作为目标和使用Xcode 7.1,尝试一切,因为我的水平最好的ATS的所有解决scheme,但没有奏效。 以下是控制台中的以下错误说明。 如果有任何build议,我将被迫。

这里的一些关键的东西是 –

NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813) Error excluding Main.db from backup Error Domain=NSCocoaErrorDomain Code=4 "The file “Main.db” doesn't exist." UserInfo={NSURL=file:///Users/Raj/Library/Developer/CoreSimulator/Devices/BC3A0589-3B9A-4AFD-8F2A-B1C92FA341DD/data/Containers/Data/Application/70B3043A-8553-41E5-A147-8508D08BF3E6/Documents/Main.db, NSFilePath=/Users/Raj/Library/Developer/CoreSimulator/Devices/BC3A0589-3B9A-4AFD-8F2A-B1C92FA341DD/data/Containers/Data/Application/70B3043A-8553-41E5-A147-8508D08BF3E6/Documents/Main.db, NSUnderlyingError=0x798465c0 {Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory"}} 2016-08-30 21:09:10.867 GFIM[80653:484899] SFOAuthCredentials:revokeRefreshToken: refresh token revoked. Cleared identityUrl, instanceUrl, issuedAt fields 2016-08-30 21:09:10.871 GFIM[80653:484899] INFO|0|SFPasscodeManager|Resetting passcode upon logout. SFOAuthCredentials:revokeRefreshToken: refresh token revoked. Cleared identityUrl, instanceUrl, issuedAt fields 

这些事情可能是问题的原因。

 2016-08-30 21:09:19.095 GFIM[80653:484899] SFOAuthCoordinator:webViewDidStartLoad: host=test.salesforce.com : path=/ 2016-08-30 21:09:19.863 GFIM[80653:484962] NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813) 2016-08-30 21:09:19.983 GFIM[80653:484962] NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813) 2016-08-30 21:09:20.016 GFIM[80653:484962] NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813) 2016-08-30 21:09:20.054 GFIM[80653:484962] NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813) 2016-08-30 21:09:20.194 GFIM[80653:484962] NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813) 2016-08-30 21:09:20.956 GFIM[80653:484962] NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813) 2016-08-30 21:09:38.285 GFIM[80653:484899] SFOAuthCoordinator:webView:shouldStartLoadWithRequest: (navType=1): host=test.salesforce.com : path=/ 2016-08-30 21:09:38.311 GFIM[80653:484899] SFOAuthCoordinator:webViewDidStartLoad: host=test.salesforce.com : path=/ 2016-08-30 21:09:38.834 GFIM[80653:484899] SFOAuthCoordinator:webView:shouldStartLoadWithRequest: (navType=1): host=5-prod--stg.cs30.my.salesforce.com : path=/secur/frontdoor.jsp 

从iOS 9开始Apple Enforce为了安全目的使用特定主机进行HTTP请求。 //也可以用Swift 3在iOS 10上运行

为此,您需要将NSAppTransportSecurity字典添加到Projet的.plist文件中。 那么你的plist将如下所示。

点按即可查看.Plist文件图像

这里NSAllowArbitraryLoads基本上意味着连接到任何东西(这可能是坏的)。 相反,您可以添加特定主机进行连接。

在这里输入图像说明

如果您尝试使用启用了ATS的HTTP请求(使用NSURLSession或像AFNetworking的库),您将看到类似的错误。

以下是完全禁用ATS的方法。 打开Info.plist,并添加以下行:

 <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict> 

你的info.plist文件应该像这样

在这里输入图像说明

看到这个职位: https : //stackoverflow.com/a/31077483/6763322

我只是在设备上运行它而不是模拟器。它开始工作