NSURLSession/NSURLConnection Ошибка загрузки HTTP (kCFStreamErrorDomainSSL, -9813) в iOS 9 с Xcode 7.1
Я использую iOS 9 в качестве целевой и использую Xcode 7.1, пробовал все, как мой уровень, лучший для всех решений ATS, но не работал. Ниже приведено описание ошибки на консоли. Если какое-либо предложение придет, я буду обязан.
Некоторые из ключевых моментов здесь -
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
Ответы
Ответ 1
От iOS 9 Onwards Apple Enforce Чтобы сделать запрос HTTP с конкретным хостом для обеспечения безопасности.
// Также работает на iOS 10 с Swift 3
Для этого вам нужно добавить словарь NSAppTransportSecurity в ваш .plist файл Projet. Тогда ваш plist будет выглядеть примерно так:
Нажмите, чтобы увидеть .Plist File Image
Здесь NSAllowArbitraryLoads в основном означает "Подключиться ко всему" (возможно, это BAD). Вместо этого вы можете добавить конкретный хост для подключения.
![введите описание изображения здесь]()
Ответ 2
Если вы попытаетесь сделать HTTP-запросы с включенным ATS (используя NSURLSession или библиотеки, такие как AFNetworking), вы увидите такие ошибки.
Вот как полностью отключить ATS. Откройте Info.plist и добавьте следующие строки:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
Ваш файл info.plist должен выглядеть следующим образом
![введите описание изображения здесь]()
Смотрите это сообщение: fooobar.com/questions/137232/...
Ответ 3
Я просто запускал его в устройстве вместо симулятора. Он начал работать