iOS、AndroidのOSはほぼ毎年、メジャーバージョンアップが行われる。2020年を振り返るとAndroid11が9月8日に、iOS14が9月16日(日本時間9月17日)にリリースされたのだが、モバイルアプリ開発に携わっている者として、新OSへの対応は非常に頭の痛い課題である。
公開中のアプリの画面のレイアウトがおかしくなる、特定の機能が使えなくなる、最悪のケースではアプリが全く起動しない…といった事態も起こり得るため、事前の動作検証は必要不可欠である。
今回はiOS14に関して。Android11については後日。
iOSのOSアップデートに関するユーザー動向
以下はとあるアプリのiOSプラットフォームごとのユーザー比率である。
(AppStoreConnect アクティブなデバイス数 を集計)
- iOS14.0公開の翌日には5.6%
- iOS14.0公開の1週間後には20.0%
- iOS14.0公開の45日後に50%を突破
- 11月末時点では86.8%
となっていた。なんだ、翌日はたったの5.6%か…と思うかもしれないが、仮に10万ユーザーが利用するアプリなら5,600人。万が一、致命的な不具合が出てしまったら、ユーザーサポートへのクレーム電話(メール対応かもしれないが…)が殺到しかねない事態になる。マジでヤバい。
じゃあいつテストをすべきか?
ということだが、iOS14の公開直後に不具合に気づいて即座に修正に取り掛かり、アプリのアップデート申請ができたとしても恐らく2~3日程度。だが、10万ユーザーが使うような商用アプリで、ここまで迅速な対応ができるモノは果たしてどれくらいあるだろうか? もし、これくらいの対応は余裕だぜ! と言えるプロジェクトに参画している方は、その対応の速さには誇リを持って良いだろう。
まぁ…1週間や10日、中にはアップデート申請の開発~社内承認には1ヶ月くらいかかるよ…というプロジェクトも当然あるはず。なので、とりあえず正式版の公開がされる(と予想される)1ヶ月程度前にベータ版でテストをしてアタリをつけておく…という方針が良いのではないかと思われる。なお、iOSの正式な公開日は、だいたい9月の中旬ごろであるが、直前まで情報が公開されないため、9月8日かな? 15日かな?と想像して動くしか無い。
また、ベータ版、特に早期の段階ではOSの動作が不安定だったり、仕様が変わる可能性もあるので、待てる限り待つ、しかし対応が後手にならない線でテストをするのがベストである。
iOS14のOSアップデートを振り返る
過去のiOS beta版の配信スケジュールは、@enomotok さんが以下にまとめてくれているので、そちらを参考にしていただきたい。(非常に重宝しました。ありがとうございます!)
https://qiita.com/enomotok/items/696b10866e33303ab3d4
- iOS13 GM版 2019/9/10 → 正式版 2019/9/24 (14日後)
- iOS12 GM版 2018/9/12 → 正式版 2018/9/17 (5日後)
- iOS11 GM版 2017/9/12 → 正式版 2017/9/19 (7日後)
オレたちは3日でアップデートをリリースできるぜ! という稀有なプロジェクトなら、例年はGM版(最終版)で検証すればよいはずだったものの、iOS14はどうだったかというと…
- iOS14 GM版 2020/9/15 → 正式版 2020/9/16 (翌日)
はい、これは無理でした。何か起きていたら絶対に間に合いませんでした!
(beta4の時点で、見切り発車しておいて正解でした)
2020年の教訓:GM版を待つのはやめよう!
来年のiOS15はどうなることやら…修羅場にならないよう早め早めに検証は実施しよう!