LoginSignup
4
4

More than 5 years have passed since last update.

ATS対応で使用するNSAllowsArbitraryLoadsについて

Posted at

ATS (App Transport Security) で使用するNSAllowsArbitraryLoadsについて調べる

そもそもATSとは

iOS9から追加されたセキュアな通信を保証する機能のこと。
iOS9の時はとりあえず無効化して問題がなかったが2017/1以降はATS有効化が必須に!!
OSで自動的に安全なhttpsの通信のみを許可して、それ以外をシャットダウンする。
なので、アプリ側は通信を全てhttpsにするか例外をinfo.plistに追加しないといけない。

NSAllowsArbitraryLoadsとは

デフォルトはNO
YESにするとATSを無効化

「NSExceptionDomains」を設定すると制御の対象外となるドメインを設定できる。

iOS10で増えたサブキーについて

iOS10からは下記のサブキーを設定することにより、以下のキーが優先される。(例えばNSAllowsArbitraryLoadsInWebContentを設定した場合はiOS10ではweb関連だけATSが無効化される)

NSAllowsArbitraryLoads
- NSAllowsArbitraryLoadsInMedia
- AVFoundationからAPIを使用してロードされたメディアに関する全てのATSを無効化
- NSAllowsArbitraryLoadsInWebContent
- KWebView、UIWebViewのATSを無効化 webviewを使う場合はとりあえずこれを設定すればok

これらを設定すればiOS9では全体でATSを無効化し、iOS10ではそれぞれのサブキーで設定したもののみ無効化する。

 

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4