这个问题在我这里表现得很奇怪。当用户手机没有安装微博客户端的时候,会使用H5授权页进行登录。在 4G 网络环境下是没问题的,但使用 WiFi 的时候,点击登录经常会不响应,报的是下面这个错。
NSURLSession/NSURLConnection HTTP load failed
查了一圈,解决方法是在 info.plist 加上下面的配置。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
原因是 iOS9 之后,默认都是采用 HTTPS 请求,所以使用 HTTP 请求就会报这个错。官方文档也有提到这个(iOS9 的适配置问题),这就是不认真看文档的代价。不过问题还是来了,后来我抓包看了,全是 HTTPS 请求啊,所以那句名言又来了。
It works, but I don't know why :)
网友评论