iOS アプリの審査時に使用できるデモモードについて
前提
デモモードとは
Apple の審査プロセスで、アカウントベースのアプリではレビュアがログインするためのデモアカウントが必要とされています。もし法的やセキュリティの理由でデモアカウントを提供できない場合、デモモードを実装して審査をすることができます。
デモモードではアプリの機能をシミュレートするような実装が推奨されます。また、デモモードで実機を操作するアプリの場合、全ての機能が動作するわけではなく、操作感や画面遷移を確認できるような最小限の機能が求められることが多いです。デモモードでも提供が難しい機能がある場合には、その機能のみ動画で説明することも可能です。
特に確認されるのは録音やカメラなどのパーミッションが必要な機能で、もしもデモモードに組み込めない場合は、初回アクセス時に表示されるパーミッションの許可アラートを含めた動画を提供する必要があります。
App Review ガイドライン
2022年10月24日に 2.1 アプリの完全性 (a) にデモモードが追記されました
追加(2.1):「法律上またはセキュリティ上の義務のためデモアカウントを用意できない場合は、Appleによる事前の承認を得た上で、デモアカウントの代わりにデモモードを内蔵することも可能です。その場合は、デモモードでAppの機能および機能性をすべて確認できるようにしてください。」
実際に遭遇したリジェクト事例
- 2022年6月
- 社内用のカスタムアプリを、動画のみで審査に提出して通過
- 2023年8月
- アップデート時に動画のみでの審査が NG になり、デモアカウントまたはデモモードの実装を求められました
対応
カスタムアプリでユーザが社内に限定しているアプリだからできたデモモードの対応ですが、Production には個人情報含まれるためそれを閲覧できなくすれば良かったので、デモモードを有効にすると API の向き先を Production から Staging に変更する機能を追加して再審査したところ通過しました。
その他
IP 制限をかけているアプリでの対応
IP 制限のためだけにデモモードを実装するのはコストが高すぎるので、Apple のレビュアがアクセスする IP の 17.0.0.0/8
の範囲のみを許可することができないかを検討するのが良さそうです。
参考
Discussion