Monthly Archives: 4月 2016

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.


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.

httpで接続するコードがあると警告されます。

これはiOS9ではデフォルトでApp Transport Security(ATS)が有効になっているためにhttp通信できないという問題です。Apple的にはhttps通信を推奨したいという意向の表れだろうと思いますが、http通信ができないとまだまだ支障があります。

それを解決しましょう。


Xcodeでinfo.plistを開き、info.plistに親要素のキーとしてNSAppTransportSecurityを追加し、子要素のキーとしてNSAllowsArbitraryLoadsを追加し、YESを設定します。型は前者がDictionary、後者がBooleanです。なお、文字列として”NSAppTransportSecurity”と”NSAllowsArbitraryLoads”を入力すると、それぞれ”App Transport Security Settings”と”Allows Arbitrary Loads”に変換されます。


info.plistの中身そのものがこのように追加されていればOKです。もちろん、Xcodeからではなく、テキストエディタでinfo.plistを直接編集しても構いません。