はじめに
業務で iOS12 のサポート終了対応を行った。
次回作業時ラクするために対応したことをチェックリストにしておく。
チェックリスト
-
ユーザー数の調査
- サポート終了する iOS バージョンのユーザーがどれくらいいるのか GA などのアナリティクスツールで調べる
- DAU、MAU それぞれ全体の何パーセントか、ユーザー数の推移とか
-
責任者へ確認
- サポート終了の決定権を持っている責任者へユーザー数の調査結果を確認してもらって判断してもらう
- サポート終了したい理由があればそれも合わせて確認
- NG の場合
- どうすればサポート終了していいのか明確にしてもらう
- 明確にするために追加で調査が必要なのであれば対応
- 次回確認日を決める
- OK の場合
- サポート終了までのスケジュールを決めて関係各所へ共有する
- ユーザーに周知することも考慮し余裕を持ったスケジュールにする
-
お知らせ掲載
- ユーザーへサポート終了のお知らせを掲載する
- 掲載文の例
- タイトル 【重要】iOS 13未満サポート終了のお知らせ - 本文 いつも「○○○」をご愛用いただき、誠にありがとうございます。 このたび、「○○○」では、安全な環境でご利用いただくため、XXXX年XX月XX日をもちまして、iOS 13未満のサポートを終了いたします。 iOSバージョンをご確認いただき、iOS 13未満でご利用の場合は、お手数ですが最新のOSバージョンにアップデートをお願いいたします。 サポート終了後は、最新版アプリへのアップデートができなくなります。すでにインストール済みのアプリはそのままご利用いただけますが、サポートの対象外とさせていただきます。 --------------------------------- iOS バージョン確認方法 1.ホーム画面上で、「設定」を選択する 2.「設定」の画面で、「一般」を選択する 3.「一般」の画面で、「情報」を選択する --------------------------------- ご利用のみなさまにはご迷惑をおかけいたしますが、ご理解のほどよろしくお願いいたします。
-
iOS Deployment Target
を変更する(スクリーンショットの XCode は 13.2.1 のもの)
- 今回の iOS アプリでは XCodeGen を導入していたので
project.yml
のdeploymentTarget
を変更した
- 今回の iOS アプリでは XCodeGen を導入していたので
-
Podfile
のplatform
を変更する
-
iOS バージョンの条件処理を削除する
- 以下のような処理
guard #available(iOS 13.0, *) else { return }
@available(iOS 13.0, *) private func handleAppRefresh(task: BGAppRefreshTask) {
-
検証
- サポート対象の iOS で検証する
- 申請
- リリース
-
推奨環境の更新
- サービス内に推奨環境など記載している場合はそちらも更新
- ドキュメント等も更新
サポート終了になった iOS バージョンはどうなるか
- 新しいバージョンのアプリをリリースしてもアップデートできなくなる
- アプリのインストールは可能
- サポート終了する前のバージョンのものがインストールされる