5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【iOSアプリ開発メモ】JSON Serverを使ってiOSアプリ開発する時のATS無効化手順(Xcodeのキャプチャ付き)

Last updated at Posted at 2019-12-03

はじめに

まだ完成していない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まで)

  1. XcodeでInfo.plistを開く
    スクリーンショット 2019-12-04 4.08.49.png

  2. App Transport Security Settingsを追加する
    スクリーンショット 2019-12-04 4.10.50.png

  3. Allow Arbitrary Loadsを追加し、ValueはNOとする
    ※ 2で追加したApp Transport Security Settingsの子として追加する(手順4も同様)
    スクリーンショット 2019-12-04 4.32.10.png

  4. Exception Domainを追加する
    スクリーンショット 2019-12-04 4.37.41.png

  5. localhostを追加する
    ※ 4で追加したException Domainの子として追加する
    ※ TypeはDictionaryにする
    スクリーンショット 2019-12-04 4.39.13.png

  6. NSIncludesSubdomainsを追加し、ValueはYESとする
    ※ 5で追加したlocalhostの子として追加する(手順7, 8も同様)
    ※ TypeはBooleanにする(手順7, 8も同様)
    スクリーンショット 2019-12-04 4.42.40.png

  7. NSTemporaryExceptionAllowsInsecureHTTPLoadsを追加し、ValueはYESとする
    スクリーンショット 2019-12-04 4.45.44.png

  8. NSTemporaryExceptionRequiresForwardSecrecyを追加し、ValueはNOとする
    スクリーンショット 2019-12-04 4.49.20.png

ここまでの設定を行えば、HTTP通信でlocalhostにアクセスできる

参考リンク

JSON Serverを立てる時や、ATS無効化手順については下記記事を参考にしました。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?