質問: NSURLRequest(URL: url) self.webview.loadRequest(urlRequest) } } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } } ``` 期待としては、動作させるとGoogleのトップ画面がWebViewに表示されると思ったのですが、真っ白のままです。 ググったところこちら()にたどりつき「!!白い画面のままならこちらの対応をお願いします!!」の記事内容に書かれていることを試しましたが、白いままです。他に確認・編集するべきところがあるのでしょうか? また、参考にしたサイトに「APIを使っているため敢えて非推奨でありながらこちらの対策を取っています。」と書かれています。WebViewはWebサイトを表示させるためにあるものだとおもうのですが、なぜWebViewにWebサイトを表示させることが初期設定で出来なくされて非推奨APIの使用が必要になる場合があるのかがよくわかりません。 以上の、 1WebViewにWebサイトを表示させるのに足りない手順 と 2WebViewが初期設定で使えなくなっていることがある理由 についてどちらかでもご存知の方いらっしゃいましたら、よろしくおねがいします。
回答: iOS 9からApp Transport Security(略してATS)と呼ばれる仕組みが追加されました。ATSが有効な環境では基本的に安全なHTTPSの通信しか許可されておらず、安全でないHTTP通信を行うにはATSを無効にするか、通信したいドメインを個別にInfo.plistに列挙する必要があります。 挙げられたサイトの例では前者の方法、ATSを無効にすることでHTTP通信を行えるようにしているので、非推奨の方法ということです。 例としてアクセスしているサイトはその方が作ったWebサイトのためHTTPSの環境が用意されていないので、仕方なくそうしている、ということです。 GoogleはHTTPSのサイトも用意しているので、URLを`https://www.google.co.jp`とすれば表示されると思います。試してみてください。 または、例のようにATSを無効にするか、`http://www.google.co.jp`をATSの例外としてInfo.plistに登録します。