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だと工数的に色々困ったことになるとことでした。。抜け道があって良かったです。