iOSのリリースサイクルとアプリ開発のサイクル
iOSの最新バージョンが発表されると以前のiOSバージョンからは(厳密にはSDK)からはアプリ申請できなくなる。
なのでiOSのバージョンアップに注意しないと、アプリ開発での障害になる。
新たに修正したり、デザインを変更する必要があり、最悪デザインベースからの大きな変更も必要になる。
しかし、Appleからは正確なスケジュールが発表される訳ではないので、注意が必要。
iOSの新バージョン発表から旧SDKによるアプリの申請が停止するまで
iOSの新バージョンがカンファレンスなどで発表される
↓
新しいiOSとiOS SDKのプレリリースの提供開始(NDA)
↓
GM(Golden Master)版のiOSとiOS SDKの提供開始(NDA)
↓
GM版iOS SDKでビルドされたアプリの申請を受け付け開始
↓
正式にiOSの新バージョンがリリース
ユーザーが対応する端末のアップグレードができるようになる
新iOSに対応してないアプリの申請がリジェクトされるようになる
↓
旧iOS SDKでビルドされたアプリの申請が受け付けられなくなる
多言語地域の対応
iOSには言語環境の設定として、
「言語」と「書式」がある。
「書式」はおもに日時の表示に関係してくる。
webサービスと連携するアプリでは、特に注意が必要。
CIとテスト
Xcode 5 から、OS Xサーバーを利用したCI機能が使用できる。
CIツールとして有名なJenkinsがある。
ビルドはOS X上でしか行えません。
Xcode標準のユニットテストフレームワークとして、「XCTest」があるが、あまり高機能でない。
OCMockや、OHHTTPStubsや、GHUnitを利用してもいい。
テスト用端末とiOSバージョン管理
端末のiOSバージョンがアップされると、購入時のバージョンが古かったとしても、最新バージョンになってしまう。
新バージョンにアップすると、旧バージョンに戻せない!ってことです。
なので、開発段階で必要となるiOSバージョンテスト端末機を慎重に準備しないといけない。
なので、古い端末などを中古で購入する事もあると思うのですが、iOSのバージョンも確認し、もし開発に必要なら必要なバージョンの端末を大切に置いておかないといけない。
アプリから見たiOSバージョンの対応
Appleは新しいバージョン対応に積極的です。
しかし開発してるアプリのどのバージョンまで対応させるか判断が必要です。
最新端末なら、端末スペックもよく、バージョンアップに対応しますが、iPodなどは、端末スペックが低いので、最新バージョンアップに対応しない場合があります。
ユーザーがiPod端末層が多いなら、注意が必要です。
どのユーザー層をカバーするかで、使われる端末を考え、考慮すべきです。