iOS9でHTTP接続できないのはATSによる制限が原因だった

iOS9で外部サーバーにHTTP接続するとエラーになった

前回の記事のAlamofireであれこれやっときにエラーになったのでメモ。
[Swift] Alamofire 3.0を使用してJSONデータを取得(2.0と書き方が変わってます)

こんなエラーが出る人が多いと思います。

Application Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app’s Info.plist file.

iOS9のATS(App Transport Security)による制限が原因

HTTPS接続は問題ありませんが、iOS9からHTTP接続が制限されるようになりました。ですが、完全NGというわけではなく、HTTP接続を可能にする方法もあります。

info.plistを編集すればHTTP接続できます

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

いやー、HTTP接続が完全NGだと工数的に色々困ったことになるとことでした。。抜け道があって良かったです。