expo-dev-client について
EAS Build で Expo 開発クライアントを作成・トラブルシューティングするスキルです。ネイティブコードを含む変更のテスト向けに、ローカルビルド、インストール、プラットフォーム設定、Metro 開発サーバーへの接続を扱います。
主な機能
- 01開発ビルドプロファイルの設定
- 02iOS と Android 向けビルド
- 03ローカル成果物のインストール
- 04Metro 開発サーバーへの接続
- 05ビルド状況の確認と問題解決
活用シーン
- 01ローカル Expo モジュールのテスト
- 02Expo Go にないネイティブモジュールの試用
- 03デバイス向け開発クライアントのビルド
- 04クライアントから Metro サーバーへの接続
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill expo-dev-clientインストール後、Claude Code で/expo-dev-clientを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
物理デバイスでネイティブコードの変更をテストするために、EAS Buildを使用して開発クライアントを作成します。アプリのブランチをテストするためのカスタムExpo Goクライアントを作成する際に使用します。
重要:開発クライアントが必要な場合
開発クライアントは、実際のアプリや本番アプリに推奨される構成です。 Expo Goは、同梱されているネイティブライブラリを使って学習したり、すばやく実験したりするためのプレイグラウンドです。ほとんどのアプリはExpo Goでは対応しきれなくなり、開発クライアントに移行します。理由の詳細については、Expo Goと開発ビルドの比較をご覧ください。
開発クライアントが必要なのは、次を使用する場合に限られます。
- ローカルExpoモジュール(カスタムネイティブコード)
- Appleのターゲット(ウィジェット、アプリクリップ、拡張機能)
- Expo Goに含まれていないサードパーティ製ネイティブモジュール
- Configプラグイン、またはリモートプッシュ通知とApp/Universal Linksのテスト
EASの設定
eas.jsonに開発プロファイルがあることを確認します。
{
"cli": {
"version": ">= 16.0.1",
"appVersionSource": "remote"
},
"build": {
"production": {
"autoIncrement": true
},
"development": {
"autoIncrement": true,
"developmentClient": true,
"distribution": "internal"
}
},
"submit": {
"production": {},
"development": {}
}
}
主な設定:
developmentClient: true- 開発ビルドにexpo-dev-clientをバンドルしますautoIncrement: true- ビルド番号を自動的にインクリメントしますappVersionSource: "remote"- EASをバージョン番号の信頼できる情報源として使用します
配布方法の選択肢
開発ビルドは通常、内部/アドホック配布(物理iOSデバイスは登録が必要です)または明示的なシミュレータープロファイルを通じてインストールします。TestFlightを使用する場合は、別途ストア配布用のビルド/プロファイルを使用し、最新のExpo/App Store Connectドキュメントに従ってください。開発クライアントのプロファイルを、通常の開発ビルド手順として提出しないでください。提出すると、成果物が外部アカウントに公開され、ユーザーによる該当する承認が必要になります。
シミュレーターでは、選択した別の開発プロファイルにios: { "simulator": true }を追加します。署名済みのデバイス用.ipaは、シミュレーター用の.appアーカイブではありません。インストールする前に、正確なプロファイル、対象、出力形式を確認してください。クラウドビルドでは、クォータや署名認証情報が消費される場合があります。
ローカルでのビルド
お使いのマシンで開発クライアントをビルドします。
# iOS (requires Xcode)
eas build -p ios --profile development --local
# Android
eas build -p android --profile development --local
ローカルビルドの出力:
- iOS:
.ipaファイル - Android:
.apkまたは.aabファイル
ローカルビルドのインストール
iOSビルドをシミュレーターにインストールします。
# Find the .app in the .tar.gz output
tar -xzf build-*.tar.gz
xcrun simctl install booted ./path/to/App.app
iOSビルドをデバイスにインストールします(署名が必要です)。
# Use Xcode Devices window or ideviceinstaller
ideviceinstaller -i build.ipa
Androidビルドをインストールします。
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
開発クライアントの使用
インストール後、開発クライアントでは次の操作ができます。
- 開発サーバーへの接続 - MetroバンドラーのURLを入力するか、QRコードをスキャンします
- ビルド情報 - ネイティブビルドの詳細を確認します
- ランチャーUI - 開発サーバーを切り替えます
ローカル開発に接続します。
# Start Metro bundler
npx expo start --dev-client
# Scan QR code with dev client or enter URL manually
トラブルシューティング
署名エラーでビルドが失敗する場合:
eas credentials
ビルドキャッシュをクリアする場合:
eas build -p ios --profile development --clear-cache
EAS CLIのバージョンを確認する場合:
eas --version
# EAS Update publishes app updates; it is not a CLI version check.
制限事項
- このスキルは、タスクが上流製品またはAPIの対象範囲に明確に合致する場合に限り使用してください。
- 変更を加える前に、コマンド、APIの動作、料金、クォータ、認証情報、デプロイへの影響を最新の公式ドキュメントで確認してください。
- 生成された例を、環境固有のテスト、セキュリティレビュー、破壊的または高額な操作に対するユーザーの承認の代わりとして扱わないでください。
使用する場合
ネイティブモジュールまたは開発クライアントの動作が必要な、承認済みのExpo開発ビルドを作成またはトラブルシューティングする場合に使用します。