LoginSignup
31
29

More than 5 years have passed since last update.

xcodeにてApp Transport Security(ATS)除外のドメインを複数設定する

Last updated at Posted at 2015-09-28

「aaa.co.jp」と、「bbb.com」というドメインをATS除外にするとします。(余裕あったら後で動画gif上げます。)

概要はこちらが分かりやすかったです。
http://dev.classmethod.jp/smartphone/iphone/ios-9-intro-ats/

手順
1.プロジェクトのplistを選択して、どこでもよいので、Key項目の「+」ボタンを押して、「NSAppTransportSecurity」と打ち込みKeyを追加します。
2.上記で追加した「NSAppTransportSecurity」のTypeを「Dictionary」をする。
3.NSAppTransportSecurity配下に更にkeyを追加します。「+」ボタンで「NSExceptionDomains」Keyを追加。
4.「NSExceptionDomains」のTypeを「Dictionary」をする。
5.「NSExceptionDomains」配下に更にkeyを追加します。「+」ボタンで「aaa.co.jp」Keyを追加。
6.「aaa.co.jp」のTypeを「Dictionary」をする。
7.「aaa.co.jp」配下に更にkeyを追加します。「+」ボタンで「NSExceptionAllowsInsecureHTTPLoads」Keyを追加。
8.「NSExceptionAllowsInsecureHTTPLoads」のTypeを「Boolean」にして、Valueを「YES」。
9.5~8の作業を「bbb.com」で再び作成。

結果
できたPlist(Proberty List)版が下記。
スクリーンショット 0027-09-28 10.33.35.gif

ソースコード部分は下記です。

xxx.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleName</key>
    <string>${PRODUCT_NAME}</string>
    <key>CFBundleIcons~ipad</key>
    <dict/>
(…他の設定…)
    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSExceptionDomains</key>
        <dict>
            <key>aaa.co.jp</key>
            <dict>
                <key>NSExceptionAllowsInsecureHTTPLoads</key>
                <true/>
            </dict>
            <key>bbb.com</key>
            <dict>
                <key>NSExceptionAllowsInsecureHTTPLoads</key>
                <true/>
            </dict>
        </dict>
    </dict>
(…他の設定…)
</dict>
</plist>

31
29
3

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
31
29