Apple App Store 申請手続きチェックリスト

個人 / 小規模チームが iOS アプリを App Store に申請するときの作業項目を、上から順にこなせる形で並べたチェックリスト。各項目はクリックで完了マークが付き、ブラウザの LocalStorage に保存されるので作業を中断しても続きから再開できる。Reject されやすい落とし穴と TIPS も併記。

進捗: 0 / 0
目次
  1. 全体フロー
  2. Apple Developer Program 加入
  3. Bundle ID / 証明書 / Provisioning
  4. App Store Connect でアプリ作成
  5. App Information(基本情報)
  6. 価格と配信地域
  7. プライバシー(最重要)
    1. App Privacy(栄養成分表示)
    2. Privacy Manifest(PrivacyInfo.xcprivacy)
    3. ATT / Usage Description
  8. ストアページ(アイコン・スクショ・テキスト)
  9. ビルド作成とアップロード
  10. TestFlight(任意・推奨)
  11. App Review への提出
  12. よく Reject されるパターン
  13. 審査ステータスと Reject 対応
  14. リリース後
  15. 参考リンク

1. 全体フロー

[Apple Developer Program 加入]   ← 個人 $99/年, 法人は D-U-N-S 必要
              │
              ▼
[Bundle ID / 証明書 / Provisioning]   ← Xcode 自動管理でも可
              │
              ▼
[App Store Connect でアプリ作成]
              │
              ▼
[ストアページ情報入力]   ← アイコン / スクショ / 説明文 / プライバシー
              │
              ▼
[Xcode で Archive → Upload]   ← Bundle Version は単調増加
              │
              ▼
[ビルド処理待ち(5〜30 分)]
              │
              ▼
[(任意) TestFlight でベータ確認]
              │
              ▼
[App Review に提出]
              │
              ▼
[Waiting → In Review → Approved / Rejected]
              │                            │
              ▼                            ▼
       [Ready for Sale]         [Resolution Center で対応]

所要時間の目安: 初回申請は事前準備(D-U-N-S, 銀行情報, 証明書類)に 1〜2 週間、その後の作業は実働 2〜3 日。審査自体は通常 24〜48 時間で結果が出る(Reject だと往復が増える)。

2. Apple Developer Program 加入

注意: 法人で D-U-N-S を新規取得する場合、登記情報と 完全に一致する 名前 / 住所で取らないと Apple 側で照合が通らず登録が止まる。途中で修正できないので最初から正確に。

3. Bundle ID / 証明書 / Provisioning

TIPS: 個人開発なら Xcode の Automatically manage signing に任せて OK。手動管理は CI / 複数アプリで秘密鍵を共有するときに必要になる。

4. App Store Connect でアプリ作成

App Store Connect(appstoreconnect.apple.com)→ My Apps → 「+」→ 新規 App。

5. App Information(基本情報)

左メニュー → App Information で記入する情報。言語ごとに別々に入れる項目があるので、ローカライズ対象の各言語で記入する。

6. 価格と配信地域

初回は無料 / 全地域から始めて、運用が安定してから絞るのが安全。中国本土だけは ICP ライセンスなど別要件があるので、最初は外しておくのも一手。

7. プライバシー(最重要)

近年、Reject の最大要因はプライバシー関連。App Privacy / Privacy Manifest / ATT / Usage Description の 4 つすべてを整合させる必要がある。

7.1. App Privacy(栄養成分表示)

「栄養成分表示」とは?

Apple が 2020 年(iOS 14.3 / App Store Connect)で導入した Privacy Nutrition Labels(プライバシー栄養成分ラベル)の通称。食品パッケージの栄養成分表示になぞらえた Apple の公式呼称で、ストアのアプリページに以下の 3 区分で収集データが表示される。

  • データの追跡に使用されるデータ(Data Used to Track You)
  • ユーザーにリンクされたデータ(Data Linked to You)
  • ユーザーにリンクされていないデータ(Data Not Linked to You)

位置情報 / 連絡先 / 購入履歴 / 識別子などを「収集しているか・何の目的か」で申告する。Firebase / AdMob / Sentry など第三者 SDK が裏で収集している分もすべて自己申告する必要があり、近年の Reject 上位要因。

App Store Connect → App Privacy で収集データの種類と用途を申告。第三者 SDK の収集も自分のアプリの収集として申告するのが落とし穴。

7.2. Privacy Manifest(PrivacyInfo.xcprivacy)

2024 年 5 月以降、サードパーティ SDK を使うアプリでは PrivacyInfo.xcprivacy の同梱が必須。アップロード時にチェックされる。

典型的な Reason 値: UserDefaults なら CA92.1(同じアプリ内で書き読み)、FileTimestamp なら C617.1(自分が作ったファイル)。Apple のドキュメント "Describing use of required reason API" に対応表がある。

7.3. ATT / Usage Description

Info.plist に Usage Description(使用理由文)を入れていない API を呼ぶとアプリがクラッシュする。使う API すべてに対応する文言を必ず入れる。

8. ストアページ(アイコン・スクショ・テキスト)

8.1. アイコン

8.2. スクリーンショット

App Store ではデバイスサイズごとに別々のスクショが必要。最大デバイスサイズを用意すれば下のサイズは Apple が自動で縮小してくれるが、できれば各サイズ手動で作るのが推奨。

デバイス解像度必須/任意
iPhone 6.9" (16 Pro Max など)1290 × 2796iPhone 対応なら必須
iPhone 6.5" (11 Pro Max など)1242 × 2688 / 1284 × 2778任意(推奨)
iPad 13" (Pro 13")2064 × 2752iPad 対応なら必須
iPad 12.9" (Pro 第 2-6 世代)2048 × 2732任意

8.3. テキスト

8.4. ローカライズ

9. ビルド作成とアップロード

9.1. Xcode 側の事前確認

9.2. Archive とアップロード

9.3. 処理待ち と Export Compliance

よくある処理失敗: ITMS-91053(必須 Reason API 未宣言)、ITMS-90683(Usage Description 不足)、ITMS-90338(dSYM 不足)、ITMS-90809(非推奨 API 使用)。エラーメールが来たら指定の項目を埋めて再アップロード。

10. TestFlight(任意・推奨)

本番審査の前に身内 / ベータユーザーに配って動作確認するフェーズ。新規 1.0 では本番と同じビルドを TestFlight で先にテストするのが定石。

11. App Review への提出

App Store Connect → アプリ → 「+ Version or Platform」でバージョンを作成(または既存バージョンに対してビルドを紐付け)。

新規アプリ(1.0)は通常より審査が厳しい。 説明文 / スクショ / 機能のすべてが整合していること、Demo Account が完璧に動くことを直前に確認。提出後 24-48 時間で In Review → 結果通知。

12. よく Reject されるパターン

Guideline典型例対策
2.1 App Completenessクラッシュ / プレースホルダーテキスト / 機能不全実機で全機能を一通り動かしてから提出
2.3.1 Hidden Features未公開機能 / プライベート API 使用公開 API のみ使用
2.5.1 Software Requirements非公開 API 使用 / メソッドスウィズリング濫用同上
3.1.1 In-App Purchaseデジタルコンテンツの外部決済誘導StoreKit / IAP に統一(実物商品は除く)
4.0 DesignUI が壊れている / iOS らしくない / 不自然HIG 準拠、複数デバイス / Dynamic Type で検証
4.2 Minimum Functionality機能が薄い / Web ラッパーのみネイティブ機能を組み込む
4.3 Spam既存アプリの薄いコピー / 重複出品独自性を確保
4.8 Sign in with Appleサードパーティログイン提供時に Apple 認証なしSign in with Apple も提供
5.1.1 Privacy - Data Collection不要な権限 / Usage Description 不足 / 説明文が抽象的最小権限、具体的な利用目的を明記
5.1.2 Privacy - Data Use and SharingPrivacy Policy と App Privacy が不一致申告内容と Privacy Policy を整合
5.1.3 Health and Health Research医療系の根拠不足医療従事者監修 / エビデンス提示
5.2.1 Intellectual Property商標 / キャラ無断使用権利確認、ライセンス取得

13. 審査ステータスと Reject 対応

13.1. ステータスの流れ

[Prepare for Submission]   ← 入力中
        │
        ▼
[Waiting for Review]   ← 提出済み(通常 24h 以内に進む)
        │
        ▼
[In Review]   ← 審査中(数時間〜1 日)
        │
        ├──→ [Pending Developer Release]   ← 承認、手動リリース待ち
        │           │
        │           ▼
        │    [Ready for Sale]   ← 配信中
        │
        └──→ [Rejected]   ← 拒否、Resolution Center で対応

13.2. Rejected された場合

Rejected の心構え: 初回はほぼ何かしら指摘される。短文で礼儀正しく Reply し、修正は指摘範囲だけに絞る(範囲外を弄ると別の Reject 理由を生む)。返答待ちは新規申請より早く 24h 以内が多い。

14. リリース後

15. 参考リンク