這個(gè)問題在我這里表現(xiàn)得很奇怪。當(dāng)用戶手機(jī)沒有安裝微博客戶端的時(shí)候,會(huì)使用H5授權(quán)頁(yè)進(jìn)行登錄。在 4G 網(wǎng)絡(luò)環(huán)境下是沒問題的,但使用 WiFi 的時(shí)候,點(diǎn)擊登錄經(jīng)常會(huì)不響應(yīng),報(bào)的是下面這個(gè)錯(cuò)。
NSURLSession/NSURLConnection HTTP load failed
查了一圈,解決方法是在 info.plist 加上下面的配置。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
原因是 iOS9 之后,默認(rèn)都是采用 HTTPS 請(qǐng)求,所以使用 HTTP 請(qǐng)求就會(huì)報(bào)這個(gè)錯(cuò)。官方文檔也有提到這個(gè)(iOS9 的適配置問題),這就是不認(rèn)真看文檔的代價(jià)。不過問題還是來了,后來我抓包看了,全是 HTTPS 請(qǐng)求啊,所以那句名言又來了。
It works, but I don't know why :)