・ iOSアプリ開発

App Store申請手順|ビルドからTestFlight・審査通過まで
はじめに 👋
こんにちは!React Native/Expoでアプリ開発をしているエンジニアです!🌸
iOSアプリのストア申請(App Store申請)は、初めてだとどこから手を付けていいかわからないですよね😅 この記事では、アプリが完成している前提で、ビルドからTestFlight配信、そして本格的な審査提出までの 全工程 を詳しく解説いたします!💪
この記事はおよそ 8,000字 なので、約20分 で読めます!📖⏰
特にReact Native/Expoでの開発者向けに、EAS BuildからTestFlightまでの最新手順も含めて解説いたします✨
※この記事は 7 割程度が AI によって執筆されています。
目次 📚
- 事前準備:Apple Developer Program登録
- アプリのビルドとTestFlightアップロード
- App Store Connect審査項目の完全攻略
- Figmaでプロ級スクリーンショット作成
- 審査を通すためのチェックリスト
事前準備:Apple Developer Program登録 🍎
必要なアカウントと費用 💰
まずは基本的な前提から説明いたします!App Storeにアプリを公開するには、必ず Apple Developer Program への登録が必要です
年間費用: 99 USD(約14,000円)💸
- 非営利組織、認定教育機関は費用免除申請が可能です
- 支払いはクレジットカードで年間自動更新
必要なもの:
- Apple ID(2要素認証が必須)🔐
- 18歳以上であること
- 本名での登録(ニックネームやエイリアス不可)
- メールアドレス、電話番号、住所(私書箱不可)
個人 vs 組織アカウントの選択 👤🏢
これは結構重要な選択ですので、しっかり考えて決めることをおすすめします!
| 項目 | 個人アカウント | 組織アカウント |
|---|---|---|
| App Store表示名 | 個人の本名 | 組織の法人名 |
| チーム機能 | チーム作成不可 | 複数メンバー追加・役割管理可能 |
| D-U-N-S番号 | 不要 | 必須 |
| 必要書類 | 個人証明のみ | 法人格証明、D-U-N-S番号 |
| 費用 | 99 USD/年 | 99 USD/年 |
個人開発者におすすめ 👤:
- フリーランサー
- 個人プロジェクト
- 学習目的
組織アカウントがおすすめ 🏢:
- チーム開発
- 企業ブランドでの配布
- 複数メンバーでの協力が必要
D-U-N-S番号取得の詳細手順(組織の場合)
D-U-N-S番号について(2025年要件):
必要な組織:
- 企業・法人
- 教育機関
- 政府機関は任意
重要なポイント ⚠️:
- DBA、架空事業、商号、支店は受付不可
- 法人格(株式会社、有限責任会社等)が必須
- Apple's D-U-N-S lookup toolで確認・申請可能
- 取得後、Appleが情報を受け取るまで最大2営業日
取得手順:
- Apple's D-U-N-S lookup toolにアクセス
- 法人名で検索
- 見つからない場合は新規申請
- 2-3営業日で取得完了
登録プロセスとタイムライン ⏰
標準的な流れ:
- Apple IDの準備(2要素認証設定)✅
- 個人/組織選択
- 必要情報・書類の準備
- D-U-N-S番号取得(組織の場合)
- Apple Developer Program License Agreement同意
- 年会費支払い💳
- Apple による審査・承認
タイムライン ⏱️:
- 個人: 通常1-3日
- 組織: D-U-N-S番号取得+審査で1-2週間程度
アプリのビルドとTestFlightアップロード 🚀
EAS Buildによる最新のビルド手順 ⚙️
React Native/Expoを使用している場合は、EAS Build が超便利です!クラウドでビルドしてくれるため、ローカル環境でXcodeの設定に悩む必要がありません✨
1. 前提条件の準備
# EAS CLIインストール
npm install -g eas-cli
# Expoアカウントログイン
eas login
2. プロジェクト設定
まずは app.json でiOS用の設定を確認しましょう📱
{
"expo": {
"name": "あなたのアプリ名",
"ios": {
"bundleIdentifier": "com.yourcompany.yourapp",
"buildNumber": "1"
}
}
}
3. EAS Build設定の初期化
# 初回設定(eas.jsonを生成)
eas build:configure
詳細なeas.json設定例
{
"cli": {
"version": ">= 0.60.0"
},
"build": {
"development": {
"developmentClient": true,
"distribution": "internal",
"channel": "development"
},
"production": {
"channel": "production",
"ios": {
"image": "macos-sonoma-14.4-xcode-15.3",
"resourceClass": "large"
},
"env": {
"API_URL": "https://api.example.com",
"APP_ENV": "production"
}
}
},
"submit": {
"production": {
"ios": {
"ascAppId": "your-app-store-connect-app-id"
}
}
}
}
重要な設定ポイント:
image: 最新のXcode対応イメージを指定resourceClass: "large"にすることでビルド時間短縮env: 環境変数でAPI URLなどを設定
4. プロダクションビルドの作成
# iOSプロダクションビルド
eas build --platform ios --profile production
# 自動サブミット付き(便利!)
eas build --platform ios --profile production --auto-submit
5. TestFlightへのサブミット
# 手動サブミット
eas submit --platform ios
# 最新ビルドを自動選択
eas submit -p ios --latest
2025年のビルド要件 📱
Apple要件(2024-2025年):
- Xcode 16以降を使用 ⚡
- iOS 18 SDKでビルド必須 📲
- 最小デプロイメントターゲット: iOS 11〜16.3でも可(SDKと別概念)
- 2025年4月24日からは上記が完全必須⚠️
アプリ署名とプロビジョニング 🔐
自動署名(推奨) ✅:
- Xcodeが証明書とプロファイルを自動管理
- 簡単でメンテナンス不要
- 個人開発者や小規模チームに最適
TestFlight用要件:
- App Store Distribution Certificate 必須 📜
- App Store Distribution Provisioning Profile 必須 🎫
- Ad Hocプロファイルは使用不可⚠️
TestFlightベータテストの管理 👥
テスター制限(2024年現在):
- 内部テスター: 最大100名(開発チームメンバー)👨💻
- 外部テスター: 最大10,000名 🌍
- デバイス制限: テスター1人あたり最大30台 📱
管理機能:
- ビルド制限: 最大100ビルド同時配信可能 📦
- 有効期限: ビルドは90日で期限切れ ⏰
- レビュー: 外部テスター用は48時間以内にAppleレビュー 🔍
よくあるビルドエラーと対処法
主なエラーと解決方法:
-
TestFlightでクラッシュするがシミュレーターでは正常 💥
- 原因: React Navigation依存関係不足、config plugin問題
- 解決:
npx expo-doctor実行、expo prebuildでXcodeデバッグ
-
ビルドがTestFlightに表示されない 👻
- 原因: plist設定不足、Compliance未設定
- 解決: Appleからのメールチェック、必要権限をplistに追加
-
Bitcodeエラー(Xcode 16) ⚡
- 原因: Apple が Xcode 16 で Bitcode を完全廃止
- 解決:
xcrun bitcode_stripでBitcode削除
-
JavaScript Bundle エラー 📦
- テスト:
npx expo exportでローカル確認 - 解決: import/exportパス、大文字小文字の確認
- テスト:
デバッグのコツ:
# Expo Doctor でヘルスチェック
npx expo-doctor
# ローカルでリリースビルドテスト
npx expo export
App Store Connect審査項目の完全攻略 📝
必須メタデータの設定 📋
App Store Connectで設定する必要がある項目は結構多いです。でも一つずつ丁寧にやっていけば大丈夫です!✨
基本情報
- アプリ名: 30文字以内(日本語可能)📝
- 説明文: 最初の170文字が重要(プロモーションテキスト)
- キーワード: 正確で関連性の高いキーワード
- カテゴリ: 適切なアプリカテゴリを選択
スクリーンショット要件(2025年更新)📸
- 必須サイズ: 6.9インチ iPhone と 13インチ iPad のスクリーンショットが必須
- フォーマット: JPEG、JPG、PNG形式対応
- 枚数: 最低1枚、最大10枚まで
- 内容: アプリの実際の使用画面を表示(スプラッシュ画面やログイン画面はNG)
- 重要: 最初の1-3枚は検索結果に表示されるけん、アプリの価値を伝える画像にする!
年齢評価システム(2024-2025年更新)🎂
新しい年齢評価システム:
- 新カテゴリ: 13+、16+、18+を既存の4+、9+に追加
- 完了期限: 2026年1月31日までに新しい質問票の完了が必須
- 質問内容:
- アプリ内コントロール、暴力的テーマ、医療・健康コンテンツ
- ユーザー生成コンテンツ
- チャット機能
- ウェブアクセス機能
プライバシー要件の厳格化 🔒
2024年プライバシーマニフェスト要件:
- 2024年5月1日から、サードパーティSDKを使用する場合のプライバシーマニフェストが必須
- 2025年Q1では、プライバシーマニフェスト違反でアプリの12%が拒否される
必須要件:
- プライバシーポリシーURL: App Store Connectメタデータフィールドに必須
- アプリ内でのアクセス: アプリ内で簡単にアクセス可能な場所に配置
- データ取り扱い説明: 収集するデータ、収集方法、使用目的を明確に記載
プライバシーマニフェスト実装例
{
"NSPrivacyTracking": false,
"NSPrivacyTrackingDomains": [],
"NSPrivacyCollectedDataTypes": [
{
"NSPrivacyCollectedDataType": "NSPrivacyCollectedDataTypeUserID",
"NSPrivacyCollectedDataTypeLinked": false,
"NSPrivacyCollectedDataTypeTracking": false,
"NSPrivacyCollectedDataTypePurposes": [
"NSPrivacyCollectedDataTypePurposeAppFunctionality"
]
}
],
"NSPrivacyAccessedAPITypes": [
{
"NSPrivacyAccessedAPIType": "NSPrivacyAccessedAPICategoryUserDefaults",
"NSPrivacyAccessedAPITypeReasons": ["CA92.1"]
}
]
}
この設定で、アプリがどのデータを収集し、どう使用するかをAppleに明示できます
App Review Guidelines 2024-2025 📖
2025年6月の主要更新:
- サブスクリプションポリシー変更: 3.1.2(a)のクロスアプリ共有サブスクリプション条項が削除
- 金融アプリコンプライアンス: 全地域でのライセンス保持が必須
- TestFlightルール: デジタル購入とテスター招待に関する明確化
- API要件: Declared Age Range APIなど新しいAPI使用要件
よくある拒否理由Top 5(2024-2025):
-
プライバシー違反(第1位) 🔒
- 対策: 明確なプライバシーポリシーとデータ使用の透明性
-
パフォーマンス問題・バグ・クラッシュ 🐛
- 対策: 徹底的なテストとデバッグ
-
デザインとUI/UX問題 🎨
- 対策: Apple Human Interface Guidelinesの厳格な遵守
-
不完全または誤解を招く情報 ❌
- 対策: 正確で完全なアプリ情報の提供
-
コピーキャットとスパムアプリ 🔄
- 対策: オリジナルなコンテンツと機能の提供
Figmaでスクリーンショット作成 🎨✨
2025年の最新スクリーンショット要件 📱
App Storeのスクリーンショットは、アプリの顔とも言える重要な要素です!2025年からは新しいデバイスサイズに対応する必要があります。
必須サイズ要件:
- iPhone: 6.9インチ(iPhone 16 Pro Max対応)
- ポートレート: 1320 x 2868 ピクセル
- ランドスケープ: 2868 x 1320 ピクセル
- iPad: 13インチ
- ポートレート: 2064 x 2752 ピクセル
- ランドスケープ: 2752 x 2064 ピクセル
技術仕様:
- ファイル形式: PNG(RGB、透明度なし)またはJPEG
- 解像度: 72 DPI
- 最大ファイルサイズ: 10MB
- 枚数制限: 各ローカライゼーションごとに最大10枚
おすすめFigmaプラグイン 🔌
スクリーンショット作成を効率化するための必須プラグインをご紹介いたします!
トップFigmaプラグイン
-
Template for App Store Screenshots 💪
- おしゃれなiPhoneデザインが簡単に作成可能
-
- デバイスフレーム豊富
効果的なスクリーンショットのデザイン原則 💡
最初の3枚が勝負: ユーザーは7秒しか見ません⏰ だからこそ、最初の3枚でアプリの価値を伝える必要があります
デザインのコツ:
- 明確な価値提案: 何の問題を解決するか一目で分かるように
- 高コントラスト: 明るい色と高コントラストが効果的✨
- テキストオーバーレイ: 短くて読みやすいキャッチコピーを追加
- 実際の機能を見せる: ゲームなら実際のゲームプレイ画面
無料で使えるスクリーンショット作成ツール
無料ツール
- AppMockUp Studio - プロ級テンプレート完全無料
- Previewed.app - 100種類以上のテンプレート
- AppScreens - 90,000開発者が利用、600万枚以上生成
- Pika.style - iPhone 14フレーム対応
- AppLaunchpad - Android & iOS対応
プレミアムオプション
- Screenshots Pro - 3D視点効果付き
- Previewed.app Pro - 年額$228(月$19相当)
公式リソース
- Apple Design Resources - Appleの公式デザインテンプレート📖
A/Bテストで最適化 📊
Apple Product Page Optimization (PPO)を使って、スクリーンショットの効果を測定できます!
テスト可能な要素:
- アイコン🎯
- スクリーンショット📱
- プレビュー動画🎬
テスト設定:
- テスト期間: 最大90日間
- 同時テスト: 最大3つのバリエーション
- トラフィック配分: 自由に設定可能
A/Bテストのベストプラクティス:
- 一度に一つ: 一回に一つの要素だけテスト
- 季節性考慮: ホリデーシーズンなど時期に合わせたテスト🎄
- コンバージョン率重視: 最重要指標
- データ蓄積待ち: 統計的有意性まで待つ
ローカライゼーション戦略 🌍
重要ポイント:
- 完全ローカライゼーション: 各言語に10枚ずつスクリーンショット設定可能
- 文化的適応: 単純な翻訳だけでなく、地域の文化に合わせる
- 効果実証済み: ローカライゼーションで128%ダウンロード増、26%収益増💰
実装のコツ:
- UI言語統一: アプリの表示言語とスクリーンショットの言語を合わせる
- 地域別カスタマイズ: 数値表記や視覚デザインも地域に合わせる
- 機械翻訳禁止: 文脈と文化的感度を考慮した翻訳が必須
審査を通すためのチェックリスト ✅
提出前の必須確認事項 📋
審査で拒否されないように、提出前にこれらの項目を必ずチェックしましょう!
審査に実際どれくらい時間がかかるのか、どんな理由でリジェクトされたのかは、3アプリ・13回分を実測したApp Store審査は何時間?13回の実測とリジェクト3回の理由にまとめています。
技術的要件 ⚙️
- iOS 18 SDKでビルドされている
- Xcode 16以降でビルドされている
- クラッシュや重大なバグがない
- すべての機能が正常に動作する
- パフォーマンスが良好
メタデータ要件 📝
- アプリ名が30文字以内
- 説明文が正確で完全
- キーワードが関連性高い
- カテゴリが適切
- 年齢評価が正確
プライバシー要件 🔒
- プライバシーポリシーURLが設定済み
- アプリ内でプライバシーポリシーにアクセス可能
- プライバシーマニフェストが正確
- データ収集について明確に説明
スクリーンショット要件 📸
- 6.9インチiPhoneサイズのスクリーンショットがある
- 13インチiPadサイズのスクリーンショットがある(iPadアプリの場合)
- 実際のアプリ画面を使用
- 最初の3枚でアプリの価値を伝えている
レビュープロセスとタイムライン ⏰
標準レビュー時間:
- 通常: 24-48時間⚡
- 90%: 1日以内に完了
- 残り10%: 48時間以内
緊急レビュー申請:
- 対象: 重大なバグ修正、イベント関連アプリ
- 制限: 限定的な割り当て、悪用防止のため厳格な審査
- 申請方法: アプリ名、開発者アカウント詳細、バージョン番号、緊急性の理由を含める
重要な期限とアップデート 📅
2025年の重要な期限:
- 2025年1月24日: SHA-1証明書期限切れ
- 2025年2月17日: EU Trader Status未提供アプリの削除
- 2026年1月31日: 新年齢評価質問票完了期限
2024-2025年の重要な変更点:
- EU Trader Status要件(2024年10月16日〜)
- Xcode 15必須(iOS 17対応、2024年4月29日〜)
- 新APNs証明書(2025年1月20日)
よくある質問とトラブルシューティング
Q: アプリが審査で拒否されました。どうすればいいですか? A: まず拒否理由をよく読んで、指摘された問題を修正してください。修正後、新しいビルドをアップロードして再提出するか、既存のビルドで解決済みの場合は "Resolve issue" を選択してレビューアーに説明してください。
Q: TestFlightでテストはできるけど、本番で動かない機能があります A: プロダクションとテスト環境での設定の違いを確認してください。特にAPI URL、証明書、プロビジョニングプロファイルの設定を見直してください。
Q: スクリーンショットの要件がよくわかりません A: 2025年からは6.9インチiPhoneと13インチiPadのサイズが必須です。Figmaテンプレートを使用することを強く推奨します。
Q: プライバシーマニフェストって必要ですか? A: 2024年5月1日以降、サードパーティSDKを使用している場合は必須です。未対応だと審査で拒否される可能性が高いです。
Q: iOSだけでなくAndroid(Google Play)にも同時にストア申請したい場合は? A: この記事はiOS/App Store申請に特化していますが、Google Playへのストア申請は主に3点が異なります。①開発者登録費用はApple Developer Programの年99USDに対し、Google Playは25USDの一回限り(年更新不要)。②審査期間は新規アプリで数時間〜数日が目安ですが、特定のアカウントでは最大7日以上かかる場合もあるとGoogle自身が案内しています。③プライバシーポリシーの提出に加えて、Google Play独自の「データセーフティ」フォームでの開示も必須です。両ストアに出す場合は、審査が長めなApp Store側から準備を始めるのがおすすめです。
まとめ 🎯
App Storeへのアプリ公開は、2024-2025年にかけて要件が大幅に更新されており、特に以下の点に注意が必要です:
重要なポイント 📌
- Apple Developer Program登録 - 99USD/年の投資は必須
- EAS Buildの活用 - React Native/Expoなら断然おすすめ
- 2025年の新要件対応 - 新デバイスサイズ、プライバシーマニフェスト、年齢評価システム
- 効果的なスクリーンショット - Figmaプラグインを活用して最初の3枚で勝負
- 徹底的な事前チェック - 拒否理由Top 5を避ける対策
実際にこの手順で公開したアプリ 📱
この記事の手順で実際にApp Storeへ公開したアプリの例としては、ペットの写真と健康記録を残せるPetdear(ペットディア)があります。公開後も、新しいデバイスへの対応は続きます。たとえばiPhone Duo発売時にどこを確認したかはiPhone Duo対応アプリの準備にまとめています。
次のステップ 🚀
- Apple Developer Programに登録
- EAS CLIをインストールしてビルド環境構築
- Figmaでスクリーンショット作成
- App Store Connectでメタデータ設定
- TestFlightでベータテスト実施
- 本格審査提出
アプリ公開は最初は複雑に感じるかもしれませんが、一つずつ丁寧にやっていけば必ず成功できます!💪✨
皆様のアプリがApp Storeで輝くことを心から祈っております🙏💕
俺バカだからよくわっかんねえけどよ。
wonderful!!