このエントリーをはてなブックマークに追加

2017年1月6日金曜日

iOS10のWKWebViewとUIWebViewでhttpでの通信を許容する方法

こんにちは、onukiです。

対応が必須になったATS(NSAppTransportSecurity)ですが
こちらの対応を行うとhttpでの通信は行えなくなります。
ただし、iOS10のWKWebViewとUIWebViewに限りInfo.plistにキーを追加するだけで
httpでの通信を許容してくれるので今回はそちらの紹介をします。

ATS(NSAppTransportSecurity)とは


Cocoa keys
簡単に言ってしまうとiOS9以上で以下の通信にhttpの通信が使えなくなります
  • WKWebView
  • UIWebView
  • NSURLSession
  • NSURLConnection

httpでの通信を許容するには


iOS10よりATSに関して新たなキー「NSAllowsArbitraryLoadsInWebContent」が追加されました。
このキーはWebViewを利用してウェブコンテンツを表示している場合、
その内容に関してはhttpでの通信を許容するというものです。

設定方法


Info.plistの「App Transport Security Settings」に
「NSAllowsArbitraryLoadsInWebContent」を追加し値を「YES」にする


注意


タイトルからiOS10としてきましたが、
「NSAllowsArbitraryLoadsInWebContent」は現状、iOS10のみ有効になります。
このキーを設定していてもiOS9ではWebViewでのhttp通信は弾かれてしまいます。


0 件のコメント:

コメントを投稿