App Store デプロイメント
EAS サービス - 費用が発生します。 クラウドビルドは EAS プランのリソースを使用し、EAS サービスには無料枠と有料プランの制限があります。Apple Developer および Google Play のメンバーシップは別途必要です。対象サービスの料金は https://expo.dev/pricing をご確認ください。
このスキルは、EAS を使用した iOS および Android アプリのビルドとリリースをカバーします。Expo やその他の React Native プロジェクト、さらに既存のネイティブアプリも対象です。EAS は配信サービスであり、ネイティブアプリはランタイムに Expo や React Native を追加せずに使用できます。ネイティブセットアップのチュートリアルは現在、iOS の SwiftUI/UIKit をカバーしています。
プロジェクトパスを選択
- React Native ランタイムがない SwiftUI/UIKit アプリ: ビルド構成を変更する前に references/native-ios.md をお読みください。Xcode プロジェクトと Swift コードをアプリの信頼できる情報源として維持します。以下の Expo/React Native クイックスタートと開発クライアントの例は、このパスには適用されません。
- React Native ランタイムがないネイティブ Android アプリ: 既存のネイティブビルドセットアップを維持します。提出については references/play-store.md を参照してください。Swift/iOS のセットアップ手順は適用されません。専用のネイティブ Android セットアップチュートリアルはまだ含まれていません。
- Expo/React Native アプリ: 以下のクイックスタートを使用し、次に関連するストアリファレンスを参照してください。
- 既存のネイティブアプリに React Native 画面を追加する場合: その統合には
expo-brownfieldを使用し、配信についてはここに戻ってきてください。
初期のネイティブ iOS セットアップ時、バージョニング、バンドル ID、またはアイコンを変更した後、または拒否されたアップロードを診断するときは、references/native-ios.md のアーカイブチェックとアイコンチェックを使用してください。通常のリリースは、EAS のビルド/提出フローと、references/testflight.md の処理および可用性チェックに従います。EAS ビルドが成功したり、提出がキューイングされただけでは、Apple の受理、テスターアクセス、または App Store リリースが確立されたことにはなりません。
リファレンス
必要に応じてこれらのリソースを参照してください。
- ./references/workflows.md -- ストアリリースと PR プレビューのための CI/CD ワークフロー
- ./references/testflight.md -- iOS ビルドを TestFlight に提出してベータテストを行う方法
- ./references/app-store-metadata.md -- App Store メタデータと ASO 最適化の管理
- ./references/play-store.md -- Android ビルドを Google Play ストアに提出する方法
- ./references/ios-app-store.md -- iOS App Store への提出とレビュープロセス
- ./references/native-ios.md -- Expo ランタイムを使用しないネイティブ Swift/SwiftUI/UIKit のセットアップ、バージョニング、アーカイブ検証
Expo / React Native クイックスタート
EAS CLI のインストール
npm install -g eas-cli
eas login
EAS の初期化
npx eas-cli@latest init
eas init は EAS プロジェクトをリンクまたは作成します。eas build:configure を実行して eas.json にビルドプロファイルを作成します。既にリリース設定が存在する場合は、既存のプロジェクト識別子とストア識別子を保持してください。
ビルドコマンド
プロダクションビルド
# iOS App Store ビルド
npx eas-cli@latest build -p ios --profile production
# Android Play Store ビルド
npx eas-cli@latest build -p android --profile production
# 両方のプラットフォーム
npx eas-cli@latest build --profile production
ストアへの提出
# iOS: ビルドして App Store Connect に提出
npx eas-cli@latest build -p ios --profile production --auto-submit
# Android: ビルドして Play ストアに提出
npx eas-cli@latest build -p android --profile production --auto-submit
# Expo / React Native 向け iOS TestFlight ショートカット
npx testflight
Web および API ルートのホスティング
Expo ウェブサイトまたは Expo Router API ルートを EAS Hosting にデプロイする(npx expo export -p web の後 eas deploy)場合は、eas-hosting スキルが対象です。このスキルはネイティブアプリのストアリリースに焦点を当てています。
EAS 構成
Expo / React Native プロジェクトの例(ネイティブ Swift プロファイルは references/native-ios.md にあります):
{
"cli": {
"version": ">= 16.0.1",
"appVersionSource": "remote"
},
"build": {
"production": {
"autoIncrement": true,
"ios": {
"resourceClass": "m-medium"
}
},
"development": {
"developmentClient": true,
"distribution": "internal"
}
},
"submit": {
"production": {
"ios": {
"appleId": "[email protected]",
"ascAppId": "1234567890"
},
"android": {
"serviceAccountKeyPath": "./google-service-account.json",
"track": "internal"
}
}
}
}
プラットフォーム別ガイド
iOS
- ネイティブ Swift アプリの場合は、
references/native-ios.mdの明示的なビルド/提出フローを使用してください - Expo / React Native アプリの場合は、
npx testflightで TestFlight フローを簡単に実行できます eas credentialsで Apple 認証情報を構成します- 認証情報のセットアップについては、./references/testflight.md を参照してください
- App Store への提出については、./references/ios-app-store.md を参照してください
Android
- Google Play Console のサービスアカウントを設定します
- トラックを構成します: 内部 → クローズド → オープン → プロダクション
- 詳細なセットアップについては、./references/play-store.md を参照してください
自動リリース
EAS Workflows は CI/CD のためのビルド → 提出 → 更新パイプラインを自動化します。ストアリリースの例については、./references/workflows.md を参照してください。ワークフロー YAML を作成または検証するには、eas-workflows スキルを使用してください。このスキルはライブのワークフロースキーマから動作します。
バージョン管理
EAS は appVersionSource: "remote" を使用してバージョン番号を自動管理します:
# 現在のバージョンを確認
eas build:version:get
# 手動でバージョンを設定
eas build:version:set -p ios
version-set コマンドは値を入力するようプロンプトを表示します。ネイティブ iOS のバージョニングを設定または変更する場合、または重複したビルド番号を診断する場合は、アーカイブされた CFBundleVersion を確認してください。リモートカウンターだけでは、Xcode がそれを使用したことを証明できません。
モニタリング
# 最近のビルドを一覧表示
eas build:list
# ビルドステータスを確認
eas build:view BUILD_ID
# 提出を確認(EAS CLI 23.2.0 で動作確認済み)
eas submit:list -p ios --json
eas submit:view SUBMISSION_ID --json
コマンドが見つからない場合は CLI バージョンを確認してください。これらの提出コマンドは 23.2.0 で利用可能ですが、テスト済みの 18.6.0 インストールでは利用できません。npx [email protected] のようにバージョンを固定して呼び出すことで、グローバルインストールを変更せずに使用できます。ライブの Apple ステータスと再試行のガイダンスについては、references/testflight.md を参照してください。JSON 結果に根本的な障害が含まれていない場合は、返されたログ URL をフォローしてください。正確なビルド ID/バージョンと、確認済みの最新のリリース状態を報告してください。
フィードバックの送信
エラー、誤解を招く情報、またはこのスキルの古い情報に遭遇した場合は、Expo が改善できるよう報告してください:
npx --yes @expo/agent-cli@latest feedback --category skills --subject "eas-app-stores" "<具体的なフィードバック>"
具体的で実行可能な報告がある場合のみ送信してください。可能な限り多くの関連コンテキストを含めてください。
エージェントが Expo タスクで繰り返し失敗する場合、またはユーザーが介入する必要がある場合は、タスク、期待される結果、および問題が発生した内容を --category evals と関連する Expo パッケージまたはコマンドを --subject として使用して簡単なレポートを送信してください。