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.

投稿者: | 2016年4月11日
この記事は公開されてから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を直接編集しても構いません。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください