我正在製作一個應用程序,基於isbn返回書評。我試圖加載Goodreads審覈窗口小部件在Web視圖,但我得到兩個錯誤:NSURL無法加載在Web視圖-9824
CFNetwork SSLHandshake failed (-9824)
和NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9824)
我曾嘗試其他幾個網址,並得到同樣的結果。
這裏是我的代碼,其中我打電話的網址:
override func viewDidLoad() {
super.viewDidLoad()
let url = NSURL (string: "https://www.goodreads.com/api/index#book.show_by_isbn");
let requestObj = NSURLRequest(URL: url!);
webView.loadRequest(requestObj);
}
在info.plist中我也有例外域字典中的goodreads.com
字典。我收錄在goodreads.com NSIncludesSubdomains, NSExceptionsAllowsInsecureHTTPLoads, and NSExceptionsMinimumTLSVersion
(設置爲TLSv1.1)
有沒有什麼明顯的我會出錯?域名是否錯誤?
編輯:對於任何人後來讀這篇文章,我想我已經解決了它。這頁(Does App Store reject submission if NSAllowsArbitraryLoads set to YES?)非常有幫助。
如果您使用NSAllowsArbitraryLoads
,App Store將會拒絕您的應用程序。然而,他們將允許NSAllowsArbitraryLoadsInWebContent
每蘋果開發者指南,
「將此鍵設置的值是從在 您的應用程序的Web視圖ATS政策得到豁免,不影響 的ATS-規定的安全要支持舊版iOS和 macOS(比iOS 10舊),您可以使用此密鑰並仍然手動配置ATS。要執行 ,請將此密鑰的值設置爲YES,並配置 NSAllowsArbitraryLoads地址。如果您將此密鑰添加到您的Info.plist 文件,則無論密鑰的值如何,ATS都將忽略NSAllowsArbitraryLoads鍵的 值。「
你是否檢查過這個帖子http:// stackoverflow。com/questions/30720813/cfnetwork-sslhandshake-failed-ios-9 – Natarajan
TLS 1.1太低。 – Gruntcakes
我試過1.2,仍然收到相同的錯誤。 –