2015年10月7日水曜日

iOS9でHTTP通信できなかったので理由をメモ

LOVETOHOという拙いアプリを公開しています。
AppStoreで「toho」って検索すればトップにでます。

iOS9対応に重い腰を上げてやったのはいいが、
iOS8の頃と違っていろいろ不具合出ちゃう。

HTMLパースしかしてないアプリなのに。。。とほほ

そもそもhttpリクエストでHTMLを読み込むところでコケる。
iOS9からATS(App Transport Security)なるものがデフォで有効になっているせいだ。
そう、もう非セキュアなHTTP通信させないぜ、ということだ。
詳細はここを参考にしてください。
http://dev.classmethod.jp/smartphone/iphone/ios-9-intro-ats/

無効にすることもできるが、アプリ審査で弾かれるかもしれないという
噂がネット上に漂ってて。。。ゲロ吐きそう。

でも、対応は意外に単純でしたのでご紹介します。
特定のドメインとHTTP(S)通信をしますって宣言して、
どういうセキュリティレベルで通信しますってちゃんとplistに書いておけば良い。
もちろんHTTPSに対応してないサーバや、バージョンや暗号スイートが違うなんてザラ。
だから通信先のサーバではこれを許してねとかっていうのを明記していけばいいらしい。

世の中の流れ的にHTTP通信は撲滅の方向なのが身にしみた。
いろんなアプリが影響受けそう。

0 件のコメント:

コメントを投稿