はじめに
まだ完成していないWebAPIを利用してiOSアプリ開発を行う必要があり、その際、ローカルPCにAPIモックサーバー(Node.jsのJSON Server)を立てて開発を進めました。
通常だとiOSアプリはATS(App Transport Security)によりHTTP通信が利用できないため、上記作業を行う際に「ATS無効化の設定」を行いました。本記事では、その時の手順をXcodeのキャプチャ付きでメモしておきます。
前提
- Xcode Version 11.2
- iOSアプリからは「localhost」でAPIサーバーへアクセスする
- (下記のXcodeのキャプチャはSingle View Appでprojectを作成した直後の状態)
ATS無効化手順(1から8まで)
-
Allow Arbitrary Loadsを追加し、ValueはNOとする
※ 2で追加したApp Transport Security Settingsの子として追加する(手順4も同様)
-
localhostを追加する
※ 4で追加したException Domainの子として追加する
※ TypeはDictionaryにする
-
NSIncludesSubdomainsを追加し、ValueはYESとする
※ 5で追加したlocalhostの子として追加する(手順7, 8も同様)
※ TypeはBooleanにする(手順7, 8も同様)
-
NSTemporaryExceptionAllowsInsecureHTTPLoadsを追加し、ValueはYESとする
ここまでの設定を行えば、HTTP通信でlocalhostにアクセスできる
参考リンク
JSON Serverを立てる時や、ATS無効化手順については下記記事を参考にしました。