makotton.com

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.

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。

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を直接編集しても構いません。

モバイルバージョンを終了