【iOS】iOS9の新機能ATS

【iOS】iOS9の新機能ATS

こんにちは。エンジニアのtakanoです。

iOS9の新機能ATS(App Transport Security)は
今まで開発していたアプリをXcode7にバージョンアップして
ビルドするためには必ず知っておかなければならない事です。

ATSはHTTP通信を行うと自動的にHTTPS通信に置き換える機能です。
Appleは今後HTTPSを推奨していきます。
HTTPへアクセスする場合はinfo.plistに設定をしてATSを無効にするか、
アクセス先をHTTPSに対応させる必要があります。(TLS1.2以上であること)

Xcode6でビルドしたアプリであればiOS9上でも動作しますが
Xcode7にバージョンアップするとHTTPで通信を行っている部分が動かなくなります。
サーバー側をすぐにHTTPSに対応させることができない場合は
info.plistで対応するのがよさそうです。

info.plist設定

ATSを無効にする(Appleは非推奨)
<key>NSAppTransportSecurity</key>
     <dict>
         <key>NSAllowsArbitraryLoads</key>
         <true/>
     </dict>

ドメインを指定してATSを無効にする
<key>NSAppTransportSecurity</key>
     <dict>
         <key>NSExceptionDomains</key>
         <dict>
             <key>xxx.co.jp</key>
             <dict>
                 <key>NSIncludesSubdomains</key>
                 <true/>
                 <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
                 <true/>
                 <key>NSTemporaryExceptionRequiresForwardSecrecy</key>
                 <false/>
             </dict>
         </dict>
     </dict>

TAG

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

素晴らしいアプリを開発して世の中をもっとハッピーにしたい! ビール大好き!卓球大好き!音楽大好き! 最近は子供とおかあさんといっしょを見てるせいで「ブンバボーン」の脳内再生が止まりません。