The Pragmatic Ball boy

iOSを中心にやってる万年球拾いの老害エンジニアメモ

iOS9 ATSの設定方法

β4現在

Xcode7でビルドするとiOS9以降でApp Transport Security (ATS) が利用可能となります

App Transport Security Technote: App Transport Security Technote

デフォルトでhttps通信が必須となるので、この挙動を変更するには上の仕様に書いてあるようにInfo.plistに設定を記載する必要があります。

ATS設定パターン

1. 全ての通信にApp Transport Securityを適用

設定不要

2. 全ての通信にApp Transport Securityを適用しない

以下のように設定することでhttpsでなくても通信可能となります

f:id:yanamura:20150725122127p:plain

3. 指定したドメインのみ適用する

指定したドメインのみhttps通信をmustにしたい場合は以下のように設定します サブドメインも含めたい場合は、 NSIncludesSubdomainsをYESにします。

f:id:yanamura:20150725123159p:plain

この例では、yahoo.co.jpとそのサブドメインに対して通信する場合はhttpsが必須となり、 その他のサイトでは任意となります。

4. 指定したドメイン以外に適用する

指定したドメインのみhttps通信をmustにしたく”ない”場合は以下のように設定します

f:id:yanamura:20150725140625p:plain

この例では、yahoo.co.jpのみhttpで通信可能となり、それ以外はhttpsが必須となります。

これ以外の細かい設定はAppTransportSecurityTechnoteに色々とパラメータが用意されているので、それらを参照ください