41
40

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.

Xcode7でATSを即座に無効にする方法(これが一番楽だと思います)

Last updated at Posted at 2016-01-05

Xcode 7でiOSアプリを作る際、http通信をデフォルトでブロックするATS(App Transport Security)という機能があります。詳しくはiOS9 ATS問題にまとまっています。

正しい対応方法やinfo.plistを直接編集する方法はあるのですが、テストをしたい時などに手軽にXcode上からATSを無効にする方法を紹介します。多分これが一番楽だと思います

キャプチャー1

① ナビゲーターのプロジェクト名部分を選択
② [info]を選択
③ 任意のKeyの、[+]ボタンをクリックしてKeyを追加する

キャプチャー2

④ 図の④の箇所をクリックする
⑤ 図の⑤の箇所でKeyを選択できるので、[Allow Arbitrary Loads]を選択する
⑥ Valueを[YES]にする

以上です。
やっていることはinfo.plistの編集と同じなのですが、直接ファイルを編集するよりもUI上から行うほうが安全でしょう。

テストするには下記のようなコードを使うとよいです。
上記の[Allow Arbitrary Loads]をYESをした場合のみ、http通信が可能になります。

Swift-ViewController.swiftのviewDidLoad()内
let myWebView:UIWebView = UIWebView();
myWebView.frame = CGRectMake(0, 0, 320, 480);
self.view.addSubview(myWebView);
// http通信を試みる。ATSが無効の時のみ成功する
myWebView.loadRequest(NSURLRequest(URL: NSURL(string: "http://yokanavi.com/")!));
41
40
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
41
40

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?