フレームワーク(オープンソース版)。Expo 開発クライアント(アプリの開発用バージョン)をローカルで構築したり、TestFlight(Apple の社内テスト配布サービス)経由で配布したりできます。本番環境での TestFlight リリースやアプリストアへの申請が必要な場合は、eas-app-stores スキルを使用してください。
Framework (OSS). Build and distribute Expo development clients locally or via TestFlight for internal testing. For production TestFlight releases and store submission, use the eas-app-stores skill.
EAS Build(Exposoのクラウドビルドサービス)を使用して、ネイティブコードの変更をデバイスで検証するための開発クライアントを作成します。アプリのブランチをカスタムした Expo Go クライアントで検証する際に使用します。
ローカルビルドは無料、クラウドビルドは有料です。
expo-dev-client自体はオープンソースで、ローカルでのビルドは無料です。EAS Build や TestFlight 経由でビルド・配布する場合は、EAS プランのビルド分数を消費し、デバイス配布や TestFlight 配布には有料の Apple Developer アカウントが必要です。詳しくは https://expo.dev/pricing をご覧ください。
本番環境を想定した実際のアプリでは、開発クライアントの使用を推奨します。 Expo Go は学習や簡単な実験向けの環境であり、付属するネイティブライブラリは限定的です。ほとんどのアプリはやがて Expo Go から開発クライアントへ移行します。詳しくはExpo Go と開発ビルドの比較をご確認ください。
開発クライアントが必要になるのは、以下を使用する場合のみです:
eas.json ファイルに開発用のプロフィール設定を追加してください:
{
"cli": {
"version": ">= 16.0.1",
"appVersionSource": "remote"
},
"build": {
"production": {
"autoIncrement": true
},
"development": {
"autoIncrement": true,
"developmentClient": true
}
},
"submit": {
"production": {},
"development": {}
}
}
主要な設定項目:
developmentClient: true — 開発ビルドに expo-dev-client をバンドル(組み込み)autoIncrement: true — ビルド番号を自動で増加させるappVersionSource: "remote" — EAS をバージョン番号の公式情報源として使用iOS 開発クライアントをビルドして、1つのコマンドで TestFlight に送信:
eas build -p ios --profile development --submit
このコマンドの処理:
TestFlight のメール受信後:
手持ちのパソコンで開発クライアントをビルド:
# iOS の場合(Xcode が必要)
eas build -p ios --profile development --local
# Android の場合
eas build -p android --profile development --local
ローカルビルドの出力ファイル:
.ipa ファイル.apk または .aab ファイルiOS ビルドをシミュレーターにインストール:
# .tar.gz 出力から .app を展開
tar -xzf build-*.tar.gz
xcrun simctl install booted ./path/to/App.app
iOS ビルドを実デバイスにインストール(署名が必要):
# Xcode の Devices ウィンドウか ideviceinstaller を使用
ideviceinstaller -i build.ipa
Android ビルドをインストール:
adb install build.apk
# iOS のみ
eas build -p ios --profile development
# Android のみ
eas build -p android --profile development
# 両方のプラットフォーム
eas build --profile development
# 最近のビルド一覧を表示
eas build:list
# ビルド詳細を表示
eas build:view
インストール後、開発クライアントで以下が可能:
ローカルの開発環境に接続:
# Metro バンドラーを起動
npx expo start --dev-client
# 開発クライアントで QR コードをスキャン、または URL を手入力
署名エラーでビルドが失敗:
eas credentials
ビルドキャッシュをクリア:
eas build -p ios --profile development --clear-cache
EAS CLI のバージョン確認:
eas --version
eas update
このスキルでエラーや誤った・古い情報に気づいた場合は、Expo の改善にご協力ください:
npx --yes submit-expo-feedback@latest --category skills --subject "expo-dev-client" "<改善提案>"
具体的で実行可能なご指摘がある場合のみ送信してください。関連する詳しい状況情報をお含めください。
AI エージェントが繰り返し失敗した場合や、ユーザーが Expo のタスク対応を引き継いだ場合は、上記コマンドの代わりに expo-skill-feedback スキルを読み込み、その評価フロー(eval-candidate flow)に従ってください。
Use EAS Build to create development clients for testing native code changes on physical devices. Use this for creating custom Expo Go clients for testing branches of your app.
Free locally; cloud builds are paid.
expo-dev-clientitself is open source and building locally is free. Building or distributing via EAS Build/TestFlight uses your EAS plan's build minutes and needs a paid Apple Developer account for device/TestFlight distribution. See https://expo.dev/pricing.
Development clients are the recommended setup for any real or production app. Expo Go is a playground for learning and quick experiments with the native libraries it bundles; most apps outgrow it and move to a development client. See Expo Go vs. development builds for the full reasoning.
You need a dev client ONLY when using:
Ensure eas.json has a development profile:
{
"cli": {
"version": ">= 16.0.1",
"appVersionSource": "remote"
},
"build": {
"production": {
"autoIncrement": true
},
"development": {
"autoIncrement": true,
"developmentClient": true
}
},
"submit": {
"production": {},
"development": {}
}
}
Key settings:
developmentClient: true - Bundles expo-dev-client for development buildsautoIncrement: true - Automatically increments build numbersappVersionSource: "remote" - Uses EAS as the source of truth for version numbersBuild iOS dev client and submit to TestFlight in one command:
eas build -p ios --profile development --submit
This will:
After receiving the TestFlight email:
Build a development client on your machine:
# iOS (requires Xcode)
eas build -p ios --profile development --local
# Android
eas build -p android --profile development --local
Local builds output:
.ipa file.apk or .aab fileInstall iOS build on simulator:
# Find the .app in the .tar.gz output
tar -xzf build-*.tar.gz
xcrun simctl install booted ./path/to/App.app
Install iOS build on device (requires signing):
# Use Xcode Devices window or ideviceinstaller
ideviceinstaller -i build.ipa
Install Android build:
adb install build.apk
# iOS only
eas build -p ios --profile development
# Android only
eas build -p android --profile development
# Both platforms
eas build --profile development
# List recent builds
eas build:list
# View build details
eas build:view
Once installed, the dev client provides:
Connect to local development:
# Start Metro bundler
npx expo start --dev-client
# Scan QR code with dev client or enter URL manually
Build fails with signing errors:
eas credentials
Clear build cache:
eas build -p ios --profile development --clear-cache
Check EAS CLI version:
eas --version
eas update
If you encounter errors, misleading or outdated information in this skill, report it so Expo can improve:
npx --yes submit-expo-feedback@latest --category skills --subject "expo-dev-client" "<actionable feedback>"
Only submit when you have something specific and actionable to report. Include as much relevant context as possible. If an AI agent repeatedly failed or the user had to take over an Expo task, load the expo-skill-feedback skill and follow its eval-candidate flow instead of reusing the command above.
原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。