相信不少人和我一样更新了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搞定收工!
文章详细介绍了在iOS8及以上版本中遇到的UIWebView加载页面错误问题,包括错误提示、官方推荐的WKWebView替代方案、解决错误的步骤(如在Info.plist中加入NSAppTransportSecurity配置),并解释了错误原因及如何通过配置TLSv1.2SSL解决。

被折叠的 条评论
为什么被折叠?



