iOSアプリのiOS 9対応はかなりしんどいぞ!! (対応状況報告を兼ねて)

昨日、日本国内でも”iOS 9”の配布が始まりましたが、ことiOSアプリの開発者にとっては、今回の新バージョンはかなり鬼門だったりします。
現在、有料アプリから順番に動作確認をしつつ、iOS 9との非互換を見極めて対応バージョンの開発とアップルさんへの申請手続きを順次行っています。
なかでも、”空港ファン (AirportFun)”と”オークション (AuctionAuditor) ”は、かなり深刻なダメージを被っていますので、まずはそのあたりからご報告。

両アプリに共通の不具合としては、
・日本語環境なのに英語表記になってしまう。
・もしかすると、ネット上からデータを受信できなくなってします。”もしかすると”というのは、新しいiOSアプリあるいはアプリのバージョンアップをすると、受信できなくなるようなので、バージョンアップしていないiOSアプリは問題が生じないようです、という動作確認を行った結果からの推察)

最初の英語表記になってしまう問題は、POOHが開発している全てのiOSアプリで、主に操作マニュアルを閲覧した際に起こる現象です。但し、iOS 9の公式な仕様変更に含まれていない仕様変更みたいなので、今後、アップルさんが次回のiOSバージョンアップで元に戻す可能性もあるので、少し様子を見つつ対応を進めていこうと思っています。(全て直した後に、再度元に戻すのって面倒なので。)
二点目の問題は、iOS 9からアップルさんが採用した”App Transport Security”というネットセキュリティ強化による現象になります。こちらは、iOSアプリをiOS 9対応としてバージョンアップするとネットからデータを受信できなくなるようですので、他のアプリをバージョンアップする際、注意しながら対応を進めていくつもりです。
いずれにしても、上記、2つのアプリに関しては、上記のような現象が発生しないように対象しました。
既に、アップルさんに申請をし終えましたので、今後はアップルさんの審査次第となります。ネットワーク周りのアプリの審査は厳しいので、もしかすると、審査が難航するかも?

以下、iOS 9対応を進めるなかで、個人的につまずいたポイントをいくつかTALKしておきますので、何かの足しにして下さい。

・iPhone 4Sで、待ち受け画面のパスコード入力で完全フリーズ、少し経つと再起動するといった現象に遭遇しました。
何度リトライしても改善しなかったので、電源ボタンとホームボタンの長押しで、思い切りリセットしたら直しました。

・Xcode 7に、iOS 9にアップデート済みの実機のiPhoneが表示されず、開発が手間取りました。
各iPhoneをリスタートしても改善しなかったので、USBケーブルを抜き差ししたら直しました。んんん、こんなんで直るなんて….

・Xcode 7にて、iOS 9にアップデート済みの実機のiPhoneで新しいバージョンのiOSアプリを起動しようとしたら、以下のメッセージが表示され、随分と解決までに時間を要してしまいました。この現象は、一旦、iOSアプリを実機のiPhoneから削除すれば再現しないのですが、なかにはテスト用のデータを蓄積してきたアプリもあるので、そうやすやすと削除できません。

XcodeScreenSnapz001

更に、iTune ConnectにSubmitしたところ、こんなワーニングが表示されたので、

2015-09-18-7.22.14

Xcode上の”Code Signing”覧にある”Provisioning Profile”項目を”Automatic”からマニュアルでの設定に変更したら直しました。

2015-09-18 8.28.37

・iPad向けのiOSアプリの場合、iTune ConnectにSubmitすると、こんなエラーが表示されます。

2015-09-18 10.14.09
この現象は、Xcode上の”Deployment Info”覧の”Requires full screen”項目を有効にすればエラーは表示されなくなります。ただ、その他に、ソースコード的に何かの措置が必要なのか否かは現時点で不明です。

2015-09-18 10.20.59

・アップル社が、iOS9以降、Web APIサービスとの通信の安全性を高めるために”App Transport Security“の導入を決め、iOS SDK 9.0以降で開発したアプリにおいてApp Transport Security が有効となっている場合、App Transport Securityが推奨する必要条件を満たさない通信はすべて遮断するという措置。セキュリティ強化って言われるとぐうの音も出ないわけですが、そうは言っても、サーバーサイドの対応を伴うため、POOHのようなWebサービスを利用する側だけでは何ともしようがありません。

何も対応しないと、Xcode 7で開発した全てのアプリを対象に、Webサービスを提供するサーバとの通信ができなくなってしまうので、アップルさんの計らいに従って、当面の暫定措置をアプリに設定する必要があります。詳しいことは、アップルさんのHPで解説しているので、そちらを参照して下さい。

たった1日の間に、これだけの非互換に遭遇しました。まだまだ、POOHがフォローできていない非互換があるかも。いやー、いつになく、今回のiOS 9は敷居が高そうです。

ホームページ”THE POOH FILES”にも是非お立ち寄り下さい。

tomohiko

長年に渡りMacintosh向けの自作アプリを作り続けているPOOHです。最近はiPhone,iPad向けアプリ開発にも挑戦中。グルメ、旅行、露天風呂、写真、サイクリング、映画、STAR TREKが大好き。レトロでSFなおもちゃを大量にコレクション。プレーリードッグと同居中。

おすすめ

コメントを残す