発生事象
AppStoreConnectでプラットフォームをiOSにしているのに、iPadもスクショよこせ。とコンソールで警告がでる。
- 該当箇所:プレビューとスクリーンショット
環境
- Xcode Version 16.1 (16B40)
- Flutter Version 3.24.4
原因
Xcodeの設定による問題です。
デフォルトの設定だとiPadも対象にとってアプリケーションがビルドされるようです。
今回はFlutterで開発しており、Xcodeを全然意識していなかったので、気がつくまでにかなり時間がかかりましたので、備忘として残します。
結論から言うと、iPhoneやiOSだけになっていない部分をひたすら修正する流れになります。
コンソール上はiPadやAppleWatchの画像をアップロードする項目が出ていても、求められない場合もありました。
確認する場所
- Vscodeの導線で解説します。
- VScodeから該当のFlutterプロジェクトを開く
- iosのディレクトリを選択し、左クリック
- Open in Xcode をクリック
- Xcodeにて、Runner > PROJECTを開き、General > Supported Destinations でiPhone以外のデバイスを - で削除する
- Build Settings タブをAllに変更
- Deviceの名前がついている項目でiPhone,iPadとなっている部分を修正
クリックすると、「1,2」のように表示されるので、「1」のみを残します。
7. Runner > TARGETSを開き、Build Settings タブをAllに変更
上記5と同様に確認と修正を実施
8. アプリケーションをビルドしPushする
Xcode > Product > Archive > アプリのビルドが実施される > Distribute App をクリック
9. 数分後にAppStoreConnectにアクセスし、該当バージョンのアップロードが終わっていれば、事象が解消される。
おまけ
- iPadのスクショが求められる状態で適当に「提供していません」の画像をあげるとどうなるのか?
->普通に審査は可能だが、以下のメッセージで弾かれる
原文
Guideline 2.1 - Performance - App Completeness
Issue Description
The submission includes content that is not complete and final.Specifically, the app has a placeholder for iPad content but does not intend to serve iPad devices.
Users expect the apps they download to be ready for public use and should not include incomplete or placeholder content. Apps shouldn't include placeholder or incomplete content or information.
翻訳
ガイドライン2.1 - パフォーマンス - アプリの完全性
問題の内容
提出されたコンテンツは、完全かつ最終的なものではありません。
具体的には、アプリにiPad用コンテンツのプレースホルダがあるが、iPadデバイスへの提供を意図していない。ユーザーは、ダウンロードしたアプリが一般に使用できる状態であることを期待しており、不完全なコンテンツやプレースホルダのコンテンツを含めるべきではありません。アプリは、プレースホルダや不完全なコンテンツや情報を含むべきではありません。
最後に
今思えば、適当なスクショで対応しようと思ったのが謎ですが、Xcodeサイドの問題なのがわかってよかったです。
以上、どなたかのお役に立てば幸いです。