iOS9のATSのエラーについて
WEBでもAPIで利用しているひとでもiOS9のATSには悩まされているのではないでしょうか。
携わっているアプリでもATSで動作しなくなった感じなので、ちょっとずつ解消するために作業をしています。
HTTPSにする
まずHTTPで通信していた部分をHTTPSにしました。
WEB表示だけであればこれだけで解決する場合はあります。画像とかリンクもHTTPSにする必要はありましたが。
しかし、アプリの中でのWEBでajax呼び出し部分もHTTP通信で行っていた部分があり、やっぱりダメになっているっぽいです。
REST構造だから、よくある仕組みだと思うんだが、ダメですかー。
エラーとしては
NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802)
ブラウザ側のjavascript
SSL handshake failed
ともう一つエラーがでていました。(ちょっと忘れました。。。)
TLS1.2 以上にする
SSL handshake が出ていたので、どうやらプロトコル周りだろうと予想をして調査
Transport Layer Security - Wikipedia
どうやらiOS9になるとSSL3.0とかはダメになるらしい。AWSで通信プロトコルの指定があるみたいで、TLS1.2がはいっていなかった。
たぶん今後iOS9でWEBをみるさいにもこのプロトコルは許容する必要があるだろうから指定にいれておこう。
ここまでやってHandshakeは消えた。
よし、行ける!!と思ったが、もう一つのエラーが実は解消されていない。
これがまだ原因がつかめていない状態で試行錯誤中。
許可ドメインを指定
あまりやりたくなかったが、ドメインでの許可を入れるしかないかもしれない。と思っている。
ちょっと時間も無くなってきたので、なんとか動く形で出してみようと思います。
いま出ているアプリは大丈夫みたい
ここで心配になってたのは、いまのアプリってiOS9で動くの?という部分ですが、iOS9にしてストアからアプリをインストールしてみたが、問題なく動いているみたいです。
新しいバージョンXcodeでビルドしたら適用されるみたいな印象です。
確証はありませんが、いけるものと思ってそのままにする選択もありかもとか思っていました。
が、ほかの機能をリリースする必要があるなんてねー。。。
この時期にやってしまった感満載です。
まぁ、なんとかなるでしょう。今週のappleの発表が楽しみです。
- 作者: サイモンシン,青木薫
- 出版社/メーカー: 新潮社
- 発売日: 2007/06/28
- メディア: 文庫
- 購入: 30人 クリック: 216回
- この商品を含むブログ (233件) を見る