LoginSignup
5
4

More than 5 years have passed since last update.

iOS 9.0 の ATS 調査結果(iOS 9.0 beta5)

Posted at

iOS 9.0 の ATS

以下の記事で iOS 9.0 から導入される ATS やべぇ、と思って調査した覚書です。

調査したこと

  • ATS の挙動
  • Apple のドキュメント
  • 対策

結論

ATS の挙動

私が確認した iOS 9.0 beta5 では、ATS の挙動は確認できませんでした。

上記記事は iOS 9.0 beta3 時点での記事で、本記事執筆時点では iOS 9.0 beta5 です。そして beta5 では ATS による強制的な SSL/TSL 通信は行われませんでした。

Apple のドキュメント

ATS のドキュメントが 2015/08/24 に改定されています。

内容は以下のとおりです。

New document that describes the exception mechanism developer can use to override the default behaviors of App Transport Security for web services connections.

要約すると:

Web サービス接続のための ATS のデフォルト挙動を上書きするために使用できる例外メカニズムに関する新規ドキュメントを記述。

です。

ここで述べられているデフォルトの挙動を抜粋します。

All connections using the NSURLConnection, CFURL, or NSURLSession APIs use App Transport Security default behavior in apps built for iOS 9.0 or later, and OS X 10.11 or later.

内容は以下のとおりです。

iOS 9.0 以降と OS X 10.11 以降向けにビルドされたアプリでは、NSURLConnection、CFURL、NSURLSession を使用するすべての接続は ATS デフォルトの挙動になる。

つまり、ATS による SSL/TSL 通信は、Xcode の Deployment Target または Base SDK のいずれかを(おそらく Base SDK と思われます)iOS 9.0 にすると有効になるようです。

対策

Base SDK を iOS 9.0 に設定しない限り ATS は有効にはならないため、既存アプリはひとまず安心です。ただし、iOS 9.0 に対応しなければアプリのバージョンアップが行えなくなる、という制限が将来課せられる可能性は十分にあります。

Base SDK は設定を Latest iOS とすることが推奨されているため、Xcode のバージョンアップ等で気が付かないうちに iOS 9.0 になってしまう可能性があるため注意する必要があります。

また、iOS 9.0 は beta 版であるため、今後仕様が改定される可能性があることも付け加えておきます。

5
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
5
4