相信不少人和我一样更新了Xcode7,同时打开公司的项目发现我靠,又是有一些诡异的错误要调整和修改。
其中肯定也有人和我一样遇到了UIWebView加载页面错误的问题,错误提示如下:
NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802);
查下文档如下:
Overview
Note:Note
In apps that run in iOS 8 and later, use WKWebView instead of using UIWebView. Additionally, consider setting the WKPreferences property javaScriptEnabled to NO if you render files that are not supposed to run JavaScript.
其实在iOS8.0之后官方就推荐使用WKWebView来取代UIWebView,但是不少公司尤其是大公司肯定还是用UIWebView,原因嘛,你懂的~(向还在兼顾iOS4.3的app以及相应苦逼程序猿致敬!!!)
好了废话说了一大堆,我们当然不要改UIWebView。解决方案是在Info.plist里面加入
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
然后搞定收工,这时你们会发现有的可以正常使用啦,有的还是不行?神马原因?WTF!!!
其实是因为你们公司的后台服务器端如果使用了ssl的话,要配置TLSv1.2 SSL,ok搞定收工!
其中肯定也有人和我一样遇到了UIWebView加载页面错误的问题,错误提示如下:
NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802);
查下文档如下:
Overview
Note:Note
In apps that run in iOS 8 and later, use WKWebView instead of using UIWebView. Additionally, consider setting the WKPreferences property javaScriptEnabled to NO if you render files that are not supposed to run JavaScript.
其实在iOS8.0之后官方就推荐使用WKWebView来取代UIWebView,但是不少公司尤其是大公司肯定还是用UIWebView,原因嘛,你懂的~(向还在兼顾iOS4.3的app以及相应苦逼程序猿致敬!!!)
好了废话说了一大堆,我们当然不要改UIWebView。解决方案是在Info.plist里面加入
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
然后搞定收工,这时你们会发现有的可以正常使用啦,有的还是不行?神马原因?WTF!!!
其实是因为你们公司的后台服务器端如果使用了ssl的话,要配置TLSv1.2 SSL,ok搞定收工!