取り組みの背景
Rork Max を使ってアプリを開発したら、いよいよ App Store や Google Play に公開するステップです。しかし、多くの開発者がここで想像以上のトラブルに直面します。「ローカルではビルドも動作も問題ないのに、なぜか申請がリジェクトされる」というご経験はありませんか?
アプリ公開は開発プロセスのゴール目前の最後の壁です。この段階でのエラーは、デバッグ情報が限定的でハンドル不可能に感じることも多いでしょう。ですが、よくあるエラーパターンを体系的に理解すれば、ほぼ全てのトラブルは適切な対処で解決できます。
App Store 申請時のよくあるエラー
証明書・署名設定のエラー
App Store への申請には、Apple Developer アカウントで生成した署名証明書(Code Signing Certificate)が必要です。Rork Max が生成した iOS プロジェクトでは、Xcode の設定画面から以下を確認してください。
確認ポイント:
- Signing Certificate が「有効期限内」であること
- Provisioning Profile がアプリの Bundle ID と一致していること
- Team ID が正しく設定されていること
証明書の有効期限が切れていると「CMS object is malformed」や「Invalid Code Signing Entitlements」といったエラーが発生します。Apple Developer サイトから新しい証明書を生成して、Xcode の Signing & Capabilities タブで再度設定してください。
バンドル ID の重複
複数のアプリを公開している場合、新しいアプリのバンドル ID が既に登録されている別のアプリと重複することがあります。App Store では、バンドル ID は全世界で一意である必要があります。
com.yourcompany.appname という形式で、ユニークな名前を設定してください。Rork Max から生成したプロジェクトでは、ios/YourApp/Info.plist 内の CFBundleIdentifier キーを確認・編集できます。
アイコン・スクリーンショットの要件不備
App Store では、複数サイズのアプリアイコンが必須です。また、各デバイス(iPhone、iPad、Apple Watch など)で異なるスクリーンショットサイズが要求されます。
必須サイズ(目安):
- アプリアイコン: 1024x1024 px(App Store 申請用)
- iPhone スクリーンショット: 1170x2532 px(最大5枚)
- iPad スクリーンショット: 2048x2732 px(最大5枚)
画像がこれらの要件を満たさないと、申請時点で自動的に却下されます。Rork Max で生成されたアセットが正しいかどうかを確認し、必要に応じて調整してください。
プライバシーポリシーと必須情報の不足
App Store では、アプリが個人データを収集・使用する場合、明確なプライバシーポリシーの URL を提供する必要があります。また、年齢制限(Age Rating)の設定も必須です。
Rork Max で生成したアプリが以下のデータにアクセスしている場合は、App Store Connect の「App Privacy」セクションで詳細に記入する必要があります。
- カメラ、マイク
- 位置情報
- アドレス帳、カレンダー
- ヘルスデータ
これらの情報が不完全だと「Incomplete App Privacy」という理由でリジェクトされます。
スクリーンショットの説明不足
各スクリーンショットには、アプリの主要な機能を説明するテキスト(各言語で最大170文字)を追加する必要があります。これがないと、レビュアーがアプリの意図を正しく理解できず、リジェクトの原因になります。
Google Play 申請時のよくあるエラー
AAB(Android App Bundle)形式の生成
Google Play では、古い APK 形式ではなく、Android App Bundle(AAB)形式でのアップロードが必須となっています。Rork Max で生成した Android プロジェクトから AAB を生成するには、以下のコマンドを実行します。
cd android
./gradlew bundleRelease成功すると、app/build/outputs/bundle/release/app-release.aab というファイルが生成されます。
Target SDK Version の要件
Google Play では、毎年 Target SDK Version の最小要件が更新されます。古い SDK バージョンでビルドされたアプリは申請を受け付けません。Rork Max で生成されたプロジェクトの build.gradle で以下を確認してください。
android {
compileSdk 34 // 最新バージョンを確認
defaultConfig {
targetSdkVersion 34
}
}
Google が指定する最小バージョン(通常は 2 年以内の最新版)に更新してください。古いバージョンで止まっていると「Restricted Target API Level」というエラーが出ます。
Data Safety Section の記入漏れ
Google Play では、アプリが収集するデータ種別とその使用目的を「Data Safety」セクションで明示する必要があります。広告 ID、ユーザー認証情報、位置情報などを収集している場合は、それぞれ詳細に記入してください。
記入漏れや虚偽情報があると、Google が自動検出して申請がリジェクトされます。
テスト用アカウント情報の提供
アプリが認証やサブスクリプション機能を含む場合、Google Play レビュアーがテストするためのアカウント情報(テストメール、パスワード)を提供する必要があります。
Rork Max で In-App Billing を実装している場合、必ず有効なテスト用アカウントを用意してください。テストアカウントなしでは、申請プロセスが進みません。
リジェクト理由別の対処チェックリスト
よくあるリジェクト理由と対処法
| リジェクト理由 | 考えられる原因 | 対処法 |
|---|---|---|
| "Violates intellectual property rights" | 許可なしに他人の著作物を使用 | アセット(画像・音声)の権利確認。著作権フリーのリソースを使用 |
| "Apps that crash or exhibit bugs" | デバイスで実際にクラッシュ | テストデバイスで十分なテスト実施。クラッシュログを確認 |
| "Does not follow guidelines" | UI・UX が Apple / Google のルール違反 | ガイドラインを再確認。戻るボタンの実装、標準 UI コンポーネントの使用 |
| "Incomplete app information" | メタデータ不完全(説明文・スクリーンショット等) | 全て の言語で完全なメタデータを入力 |
| "Not appropriate for audience" | 年齢制限設定の誤り | Content Rating を正確に設定 |
| "Misleading description" | 説明文とアプリ実装が異なる | 説明文を実装に合わせて修正 |
対処の優先順位
- 手続的な問題: メタデータ、スクリーンショット、プライバシーポリシー — 24時間以内に修正可能
- 技術的な問題: ビルド設定、署名、ターゲット SDK — 48時間以内に修正可能
- 機能的な問題: クラッシュ、バグ、著作権 — 1 週間以上の対応期間が必要な場合あり
まずは手続的な問題から対処し、その上で技術的・機能的な問題に向き合うのが効率的です。
申請前の最終確認ポイント
公開申請を送信する前に、以下のチェックリストを全て実施してください。
iOS 申請前チェック:
- Signing Certificate と Provisioning Profile が有効期限内
- Bundle ID がユニークで、他のアプリと重複していない
- App Store アイコン(1024x1024 px)が用意されている
- スクリーンショット(各言語で最大5枚)が要件を満たしている
- プライバシーポリシー URL が有効
- Age Rating(年齢制限)が正確
- メタデータ(タイトル、説明文、キーワード)が全言語で入力完了
Android 申請前チェック:
- AAB(Android App Bundle)をビルドできた
- Target SDK Version が Google Play の最小要件を満たしている
- Signing Key(署名キー)が用意されている
- Data Safety セクションを完全に記入した
- テスト用アカウント情報を用意した(認証機能がある場合)
- デバイスで十分なテストを実施した
これらの確認を怠ると、リジェクトされるリスクが大幅に高まります。アプリ公開は一度の申請で成功するのが理想的ですが、万が一リジェクトされても、このチェックリストに従って対処すれば、確実に次の申請で承認を得られます。
Rork Max で生成したアプリは、エコシステムの標準に従った堅牢な構造になっています。このガイドに従うことで、ほぼ全てのアプリが問題なく公開できるはずです。質問やトラブルが発生した場合は、各 OS の公式ドキュメントと共に、本記事のセクションを参照してみてください。