更新できなければ淘汰されるiOSアプリ

2020年12月7日に更新

最近の事情

UIWebViewの完全廃止

 UIWebViewはiOS8以降に非推奨になっていたが新規アプリの申請を終了する予定でした。2020年末以降に延長した。今のところ未定となった。 WKWebViewに移行しなければいけない。依存しているライブラリに組み込まれている可能性があるので、今一度確認した方がいいだろう。iOS15では完全に使えずに実行時にクラッシュになるかもしれない。 developer.apple.com

Apple Push Notification Serviceのアップデート

 古いプッシュ通知の方法が使えなくなる。2021年3月31日に延期になりました。新しいプッシュ通知の方法を使うように切り替える必要がある。 developer.apple.com

Xcode12でのビルドが必須

 2021年4月末からXcode12でのビルドする必要がある。必然的に下記のOSで変更になったUIの挙動に対応した状態にしておかなければ、意図しない挙動になっている可能性がある。 * iOS 14 * watchOS 7 * tvOS 14

https://developer.apple.com/ios/submit/ iOS14対応をまとめてみた - Qiita

UIAlertView

 UIAlertViewはiOS8以降に非推奨となっている。申請時に注意されたという話も聞くこともありUIWebViewと同様に禁止になる日もそう遠くない。

Swiftが基本

 Swiftが2014年に発表され5年経過した。新規に開発アプリや追加機能はSwift以外にありえない状況になった。Objective-Cは淘汰され、既存のアプリはSwiftに移行しなければ採用はでき辛くなって行っている。Objetive-CからSwiftに移行するにあたってもそれができるエンジニアがいなければ移行できないし、予算と時間が必要になる。長い目で見れば今すぐにSwiftに移行した方が良い。そうでなければ、アプリのアップデートを諦めて低予算運用に切り替えた方が良い。

ダークモード対応

 iOS13以降ではダークモードが使えるようになりました。今のところ、ダークモード非対応の不利益はおりません。おそらく、2,3年のうちにアップデート時に必須になる可能性がある。ダークモードだけでなく3つ目4つ目のカラーモードを設定できる想定で対応を行なった方が良いだろう。 developer.apple.com

SwiftUI

 今のところ移行するノウハウすらない状態。  いつか移行するために情報収集や移行するためのコードのリファクタリングを行なっておうた方がいいかもしれない。

過去にあった淘汰の歴史

Sign in with Apple

 2020年4月末からサードパーティログインのみで認証が完結するアプリには Sing in with Apple が必須になります。GoogleFacebookTwitterのアカウントでログインできるのであればAppleのアカウントでもログインできるようにする必要があります。

独自のサインインシステムや特定のシステムに直接サインインするクライアントアプリなどは、Sign in with Appleを実装する必要はありません。

https://developer.apple.com/news/?id=03042020d

マルチタスク対応

 没入型の体験を提供するアプリでない限り、iPadではマルチタスクに対応していない場合は2020年4月末からアプリの申請が通らなくなる。

 「没入型の体験を提供する」が何を持って、提供していると言えるかは動画内で語られてはいないが、主にゲームを主にターゲットにしていると思われる。 iPad専用アプリの場合は程度大きい画面サイズを想定していることがあるが、今後はそうも行かなくなる。 あらゆるサイズを想定したレイアウトを組む必要がある。

 同時にiPhoneサイズにも対応するのが良いだろう。

https://developer.apple.com/ios/submit/

Google Analyticsの統合

FabricはFirebaseに統合されることに伴って、 Google Analyticsは廃止される。早くFirebaseまたは代わりのサービスに移行する必要がある。

12ヶ月の猶予ということから2020年10月ごろには完全にデータが削除されると予想される。

https://support.google.com/analytics/answer/9167112?hl=ja

Fabricの統合

FabricはFirebaseに統合されることに伴って、 Fabricは2020年3月31日に廃止される。Firebaseにアプリを移行する必要がある。

Firebase

iPhone5対応等のディスプレイサイズの増加

 iPhone4S までは3.5インチとiPad 9.7インチのディスプレイサイズしか存在していなかった。「Androidはあらゆるディスプレイサイズがあって大変だなぁ」なんて呑気に話していた物だった。iPhone5が発売されて、ほどなくして4インチの画面サイズのサポートが必須になった。縦480ポイントであることを前提にしたレイアウトの組み方をしていたアプリは改修を余儀なくされた。当時はオートレイアウトもなくViewの位置を左上からの位置を計算を行って配置を行っていたため、それなりに大変だった。

 iPhone6や6+が登場してiPhone系の端末を4つのサイズをサポートすることになった。この頃にはオートレイアウトができており、オートレイアウトへの移行が必要に迫られることになになった。その後iPadでもiPad Proの登場やマルチタスク対応があった。今後は画面サイズが動的に変更され、あらゆるサイズが存在しうることを前提として開発を行っていく必要がある。

arm64対応必須

 2015年2月1日、arm64に対応していないアプリはストアから削除されることになった。対応としてはただ追加するば終わりという物だったため更新のあるアプリはほとんど何もすることもなくアップデートしれば終わりではあった。ほとんど更新されていなかったアプリがごっそりと消えた。amr64e対応必須はありえる。

デザインの変更

 iOS7にスキューモーフィズムからフラットデザイン変更があった。iOSでは時々多いくデザインが変更されていくため、それに合わせて修正を行っていく必要がある。

まとめ

 iOSアプリは新しいアプリを作ったら1年以内に儲かる目処を立てて更新を行っていく必要がある。

参考

https://developer.apple.com/app-store/review/guidelines/