WebView loadRequest請求錯誤"NSURLConnection finished with error - code -1022"


執行下面代碼

[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.bing.com"]]];

webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error打印出來的的錯誤如下

1 [6587:75627] NSURLConnection finished with error - code -1022
2 [6587:75574] Error Domain=NSURLErrorDomain Code=-1022 "The resource could not be loaded because the App Transport Security policy 
3 requires the use of a secure connection." UserInfo={NSUnderlyingError=0x600000641f50 
4 {Error Domain=kCFErrorDomainCFNetwork Code=-1022 "The resource could not be loaded because the App Transport Security policy requires 
5 the use of a secure connection." UserInfo={NSErrorFailingURLStringKey=http://www.bing.com/, 
6 NSLocalizedDescription=The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.,
7  NSErrorFailingURLKey=http://www.bing.com/}}, NSErrorFailingURLStringKey=http://www.bing.com/, NSErrorFailingURLKey=http://www.bing.com/, 
8 NSLocalizedDescription=The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.}

 

解決方案很簡單:

URLString必須使用https的請求webview就能正常顯示了

 

但后來發現要加載http://localhost:8080然后悲劇了,看來還是要研究一下具體機制了,在XCode 9就會出現錯誤中提示了很明顯的信息

The resource could not be loaded because the App Transport Security policy 

去百度一下ATS policy,就可以知道很詳細的答案了,在SupportFiles->info.plist文件里面添加下面屬性就好了,有直接的選項,不需要自己填寫

done!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM