iOS9以降でhttp通信をする

iOS9からはhttp通信が拒否されるようになりました。

自前のサーバーに接続するならhttps通信に切り替えれば良いのですが、外部のサイトにアクセスする場合はどうしてもhttp通信が必要になる場面があります。

その場合は、例外としてhttp通信してもよいサイトを登録します。

1.hogehoge.plist内にApp Transport Security Settings:Dictionaryを作る
2.App Transport Security Settings内にException Domains:Dictonaryを作る
3.Exception Domains内にwww.hoge.jp(許可するサイト):Booleanを作り、YESにする

アクセスするサイト分だけこれを登録しておきます。

その部分をテキストエディタで見るとこうなります。

<key>NSAppTransportSecurity</key>
 <dict>
 <key>NSExceptionDomains</key>
  <dict>
  <key>www.hoge.jp</key>
  <dict>
   <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
   <true/>
  </dict>
 </dict>
</dict>