Xcode9.0、iPhoneSE(iOS11.0.1)の端末でデバッグしていた時に遭遇したエラー。
現象としては、WKWebViewでhttpのページにアクセスしたいんだけど下記のエラーログが出てページが表示されない。
App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app’s Info.plist file.
iOS9の時も同じ状況になったのに、しばらくしたら忘れてました。。
参考になったのがこちら↓
iOS9でHTTP通信ができない時の解決法
iOS9.0からはHTTPS通信が推奨されているようで、App Transport Security(以下ATS)が有効である場合は何も設定しないとHTTP通信ができなくなってしまいます。
僕の場合、通信するサーバーのドメインがわからない案件だったので、非推奨ではありますが、強制的に許可する方法にしました。
1 2 3 4 5 6 7 8 9 10 |
//iOSWebviewでhttp通信エラーになる場合の解決法 <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict> <key> // |
接続先のサーバードメインがわかっている場合などは、ホワイトリストを作成して、適切に指定した方がセキュリティ的にいいので、
できれば強制許可しなくてすむといいんですが。。
コメントを残す