eas-app-stores について
eas-app-stores は、EAS を使った iOS・Android アプリのビルドとリリースを案内する Expo のスキルです。Expo/React Native アプリと既存のネイティブアプリを対象に、ストア申請やテスト、リリース状況の確認方法を説明します。
主な機能
- 01EAS のビルドとストア申請ガイド
- 02Expo/React Native のリリース手順
- 03ネイティブ iOS の設定とアーカイブ確認
- 04TestFlight とストア申請のリファレンス
- 05自動リリースワークフローの案内
- 06バージョンとビルド状況の確認
活用シーン
- 01iOS・Android のストア用ビルドの準備
- 02iOS ビルドの TestFlight への申請
- 03EAS を使ったネイティブ Swift アプリのリリース
- 04ビルドと申請の進行状況の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ expo/ skills --skill eas-app-storesインストール後、Claude Code で/eas-app-storesを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/app-store-metadata.mdios-app-store.mdnative-ios.mdplay-store.mdtestflight.mdworkflows.md詳細
App Store へのデプロイ
EAS サービス — 費用が発生します。 クラウドビルドでは EAS プランのリソースを使用し、EAS サービスには無料枠と有料プランの利用上限があります。Apple Developer と Google Play のメンバーシップは別途必要です。ご利用予定のサービスについては、https://expo.dev/pricing をご確認ください。
このスキルでは、Expo やその他の React Native プロジェクト、および既存のネイティブアプリを対象に、EAS を使って iOS アプリと Android アプリをビルドし、リリースする方法を説明します。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 Store に提出する方法
- ./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 にビルドプロファイルを作成してください。リリース設定がすでにある場合は、既存のプロジェクト ID とストア ID を維持してください。
ビルドコマンド
本番ビルド
# iOS App Store build
npx eas-cli@latest build -p ios --profile production
# Android Play Store build
npx eas-cli@latest build -p android --profile production
# Both platforms
npx eas-cli@latest build --profile production
ストアに提出する
# iOS: Build and submit to App Store Connect
npx eas-cli@latest build -p ios --profile production --auto-submit
# Android: Build and submit to Play Store
npx eas-cli@latest build -p android --profile production --auto-submit
# Expo / React Native shortcut for 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 スキルを使用してください。最新のワークフロースキーマを参照して動作します。
バージョン管理
appVersionSource: "remote" を使用すると、EAS がバージョン番号を自動的に管理します。
# Check current versions
eas build:version:get
# Manually set version
eas build:version:set -p ios
バージョン設定コマンドでは、値の入力を求められます。ネイティブ iOS のバージョン管理を設定または変更するときや、ビルド番号の重複を調査するときは、アーカイブ内の CFBundleVersion を確認してください。リモートのカウンターだけでは、Xcode がその値を使用したことの証明にはなりません。
モニタリング
# List recent builds
eas build:list
# Check build status
eas build:view BUILD_ID
# Inspect submissions (verified with 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" "<actionable feedback>"
具体的で実行可能な報告内容がある場合にのみ送信してください。関連する背景情報をできるだけ多く含めてください。
エージェントが Expo のタスクを繰り返し失敗する場合や、ユーザーが介入する必要がある場合は、タスク、期待される結果、問題の内容を簡潔に報告し、--category evals と、関連する Expo パッケージまたはコマンドを --subject に指定してください。