【Swift/Xcode】HTTP通信を許可する方法!App Transport Security Settings
この記事からわかること
- Swift/XcodeでHTTP通信を行う方法
- 許可されていないHTTP通信を接続させるには?
- App Transport Security SettingsのAllow Arbitrary Loadsとは?
index
[open]
\ アプリをリリースしました /
友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-
posted withアプリーチ
参考文献:公式リファレンス:NSAppTransportSecurity
iOSアプリではHTTP通信が許可されていない
現在のXcodeで開発したiOSアプリではアプリからのHTTP通信が許可されていません。これはiOS9.0または macOS10.11SDK以降からのアプリではデフォルトで設定されたApp Transport Security(ATS)と呼ばれるネットワーキング機能によるものです。
公式リファレンス:App Transport Security
セキュリティ向上のためにSSL化されている通信のみに制限し、セキュリティ制限を満たさない通信は自動でブロックしているそうです。
次の方法はXcodeからApp Transport Securityの設定を変更することでHTTP通信を可能にしていますが、セキュリティの観点上良くはないので十分検討して実装してください。対象のURLがHTTPsに対応しているならそちらをご利用ください。
HTTP通信を許可する方法
1.info.plistにKeyを追加
「info.plist」を開いてKey:App Transport Security Settings
を追加します。
2.App Transport Security Settings>Allow Arbitrary Loadsを追加
続いて追加した「App Transport Security Settings」に「Allow Arbitrary Loads」を追加します。
3.Allow Arbitrary LoadsにYesを設定
最後に設定した「Allow Arbitrary Loads」に「Yes」を選択して終了です。
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。