iOSアプリの審査リジェクトに対応したときの話


少し前にiOSの審査でリジェクトを食らったときの対応まとめになります。

ついでにiOSの審査はかなり気まぐれだなぁという話。

## 最初のリジェクト

アプリのアップデートのためにiOS申請を行った際に
久々に以下の内容でリジェクトを食らってしまいました。

> Guideline 2.3.4 - Performance - Accurate Metadata
> 
> Your app preview includes content that does not sufficiently reflect the app in use. Specifically, your preview:
> 
> - Includes framing around the video screen capture of the app.
> 
> Next Steps
> 
> To resolve this issue, please revise your app preview to only use video screen captures of the app, narration, and textual and design overlays.
> 
> Resources
> 
> For resources on creating great app previews, you may want to review the App Previews page. For more general information on how to make the most of your app's App Store product page, please see the App Store Product Page information available on the Apple Developer website.
> 
> Please see attached screenshots for details.

以下翻訳

> ガイドライン2.3.4 - パフォーマンス - 正確なメタデータ
> 
> アプリのプレビューには、使用中のアプリが十分に反映されていない内容が含まれています。具体的には、以下のような内容です。
> 
> - アプリのビデオ画面キャプチャの周りにフレームが含まれている。
> 
> 次のステップ
> 
> この問題を解決するには、アプリのビデオ画面キャプチャ、ナレーション、テキストおよびデザインのオーバーレイのみを使用するように、アプリのプレビューを修正してください。
> 
> リソース
> 
> 優れたアプリのプレビューを作成するためのリソースについては、アプリのプレビューのページを参照してください。アプリのApp Store商品ページを最大限に活用する方法に関する一般的な情報については、Apple Developer Webサイトで公開されているApp Store商品ページ情報を参照してください。
> 
> 詳細については、添付のスクリーンショットをご覧ください。

正直なところ一切心当たりがありませんでした。

というのも、これまで定期的なアップデートでも一発で審査は通過しており
さらにこの申請の二週間前に一度申請を行い無事審査に通過していたのです。
それからAppleから指摘されているような箇所は一切更新しておらず
急に審査に通らなくなってしまったのが謎でした。

### 原因と対処

原因としてはアプリのプレビュー動画に
本来黒帯がつかない解像度のプレビュー動画にも黒帯がついているのがダメという事のようでした。

確かに実際に端末上での表示とは異なるので、「なるほど」と思いつつも
「なぜ今さら？」と若干の疑問も感じつつ
対処せざるを得ないのでしぶしぶ対応を行います。

対応方法としては各種解像度毎のプレビュー動画をこれから作成するのは現実的ではないので
本来は黒帯がつかない解像度のプレビューから動画を削除しスクリーンショットのみに変更しました。

## 二度目のリジェクト

先程の対応後、再度申請をおこなった結果

再度リジェクトを食らってしまいました。
ところがどうやら先程の対応自体は問題無かったようで
別の部分が問題として指摘されました。

> Hello,
> 
> Thank you for your resubmission. Upon further review, we identified an additional issue that needs your attention. See below for more information.
> 
> If you have any questions, we are here to help. Reply to this message in App Store Connect and let us know.
> 
> Guideline 1.5 - Safety - Developer Information
> 
> The support URL specified in your app’s metadata,  does not properly navigate to the intended destination.
> 
> Next Steps
> 
> To resolve this issue, please revise your app’s support URL to ensure it directs users to a webpage with support information.
> 
> Guideline 2.1 - Information Needed
> 
> We have started your app's review, but we were unable to successfully access all or part of your app. In order for us to continue the review, we need to have a way to verify all app features and functionality. Typically this is done by providing a demo account that has access to all features and functionality in your app.
> 
>　>>>Please provide us valid game data transferring account so that we can access to all of your app features after tutorial.
> 
> Next Steps
> 
> To resolve this issue, provide a user name and password in the App Review Information section of App Store Connect. It is also acceptable to include a demonstration mode that exhibits your app’s full features and functionality. Note that providing a demo video showing your app in use is not sufficient for us to continue the review.
> 
> Resources
> 
> To learn more about providing information to App Store Review in App Store Connect, see App Store Connect Help.
> 
> Please see attached screenshots for details.

翻訳

> こんにちは。
> 
> 再提出をありがとうございました。さらに検討したところ、注意を要する追加的な問題があることが判明しました。詳細については、以下をご覧ください。
> 
> ご不明な点がございましたら、お気軽にお問い合わせください。App Store Connectでこのメッセージに返信して、私たちに知らせてください。
> 
> ガイドライン1.5 - 安全性 - デベロッパー情報
> 
> アプリのメタデータに指定されたサポートURLが、意図した宛先に正しく移動しない。
> 
> 次のステップ
> 
> この問題を解決するには、アプリのサポートURLを修正し、サポート情報を掲載したウェブページに誘導するようにしてください。
> 
> ガイドライン2.1「必要な情報
> 
> アプリのレビューを開始しましたが、アプリの一部または全部に正常にアクセスすることができませんでした。レビューを継続するためには、アプリのすべての機能と特徴を確認する方法が必要です。通常、アプリの全機能にアクセスできるデモアカウントを提供することで確認します。
> 
>　>>>チュートリアル終了後、アプリの全機能にアクセスできるよう、有効なゲームデータ転送用アカウントをご提供ください。
> 
> 次のステップ
> 
> この問題を解決するには、App Store ConnectのApp Review Informationセクションで、ユーザー名とパスワードを提供してください。また、アプリの全機能を表示するデモモードを含めることも可能です。アプリの使用状況を示すデモビデオを提供するだけでは、レビューを継続するために十分ではありません。
> 
> リソース
> 
> App Store ConnectでApp Store Reviewに情報を提供する方法については、App Store Connectのヘルプを参照してください。
> 
> 詳細については、添付のスクリーンショットをご覧ください。

**> さらに検討したところ**

(´・ω・`)<(最初に全部言ってよ)

少々思うところはありますがリジェクトされた以上対応しないわけにはいかないので対応を行います。

### 二度目の原因と対処

今回は二点の問題が指摘されており
ひとつは
> アプリのメタデータに指定されたサポートURLが、意図した宛先に正しく移動しない。

とのこと。
これはシンプルにサポートURLが古かったようなのですが
こちらもURLが古くなったのは半年以上前のことで今さら感を感じる指摘でした。
(とはいえ更新していなかったこちらにも非はありますね...)

もう一つは
>　>>>チュートリアル終了後、アプリの全機能にアクセスできるよう、有効なゲームデータ転送用アカウントをご提供ください。

という点。

これは文字通りアプリの全機能にアクセスできるユーザーアカウント情報をくれというもので

アプリ申請時に「App Reviewに関する情報」の「サインイン情報」部分から提出ができる情報です。

ここに記載していた情報は数年前のアプリリリース時のままで
該当するデモアカウントも数年前に失効しているアカウント情報がそのままになっているため
今回問題になったようです。

こちらも最新のデモアカウントを用意して提出しました。


## 結果と所感

二度目の再提出後、無事Appleの審査を通過し
アプリのアップデートを行うことができました。

ただ、数年間運用しているアプリで審査上の問題点がずっとスルーされたままだったことに驚きました。

よくよく調べるとApp Reviewも担当者次第でチェックの厳しさに差異があるということで
これまでがかなり緩いチェックを受けており
おそらく一回目のリジェクトを鑑みて、再提出後に厳密なチェックが入った結果
二度目のリジェクトを食らったのかと推測しました。

運用上、審査が通る＝現状の提出情報に不備がない認識で運用を続けていたので
今回のようなことも起こり得るというのは良い教訓になりました。


また、今回の対処法が同様のガイドライン部分でリジェクトされた方の対処方法のお役に立てれば幸いです。