expo-dev-client について
expo-dev-client は、カスタム Expo 開発クライアントをビルドし、実機でネイティブコードの変更を試すためのスキルです。EAS のクラウド・ローカルビルド、インストール、Metro bundler への接続方法を扱います。
主な機能
- 01EAS による開発クライアントのビルド
- 02クラウド・ローカルビルドの手順
- 03iOS・Android のビルド方法
- 04実機・シミュレーターへのインストール
- 05Metro 接続と QR コード読み取り
活用シーン
- 01実機でのローカル Expo モジュールのテスト
- 02Expo Go にないネイティブモジュールの試用
- 03アプリ拡張、リンク、リモートプッシュ通知のテスト
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ midudev/ autoskills --skill expo-dev-clientインストール後、Claude Code で/expo-dev-clientを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
EAS Build を使用して、実機でネイティブコードの変更をテストするための開発クライアントを作成します。アプリのブランチをテストするカスタム Expo Go クライアントの作成に使用してください。
ローカルでのビルドは無料です。クラウドビルドは有料です。
expo-dev-client自体はオープンソースで、ローカルでのビルドは無料です。EAS Build/TestFlight 経由でビルドまたは配布する場合、EAS プランのビルド分数を消費します。また、実機/TestFlight で配布するには有料の Apple Developer アカウントが必要です。https://expo.dev/pricing をご覧ください。
開発クライアントが必要となる場合
実際のアプリや本番アプリには、開発クライアントの使用をおすすめします。 Expo Go は、同梱されているネイティブライブラリを使って学習したり、手軽に実験したりするためのプレイグラウンドです。ほとんどのアプリは、いずれ Expo Go の制約を超えて開発クライアントへ移行します。理由の詳細については、Expo Go と開発ビルドをご覧ください。
次の場合にのみ、開発クライアントが必要です。
- ローカルの Expo モジュール(カスタムネイティブコード)
- Apple のターゲット(ウィジェット、App Clip、拡張機能)
- 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
}
},
"submit": {
"production": {},
"development": {}
}
}
主な設定:
developmentClient: true- 開発ビルドに expo-dev-client をバンドルしますautoIncrement: true- ビルド番号を自動的にインクリメントしますappVersionSource: "remote"- EAS をバージョン番号の信頼できる情報源として使用します
TestFlight 用のビルド
iOS の開発クライアントをビルドして TestFlight に提出するには、次のコマンドを実行します。
eas build -p ios --profile development --submit
これにより、次の処理が行われます。
- クラウドで開発クライアントをビルドします
- App Store Connect に自動的に提出します
- TestFlight でビルドの準備ができると、メールで通知します
TestFlight のメールを受け取ったら、次の操作を行います。
- デバイスの TestFlight からビルドをダウンロードします
- アプリを起動して expo-dev-client の UI を表示します
- ローカルの Metro バンドラーに接続するか、QR コードをスキャンします
ローカルでのビルド
マシン上で開発クライアントをビルドします。
# 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
フィードバックの送信
このスキルに関するエラー、誤解を招く情報、または古くなった情報に気づいた場合は、Expo が改善できるよう報告してください。
npx --yes submit-expo-feedback@latest --category skills --subject "expo-dev-client" "<actionable feedback>"
具体的で実行可能な報告事項がある場合にのみ送信してください。関連する背景情報をできるだけ詳しく記載してください。 AI エージェントが繰り返し失敗した場合、またはユーザーが Expo のタスクを引き継がなければならなかった場合は、上記のコマンドを再利用せず、expo-skill-feedback スキルを読み込み、その eval-candidate フローに従ってください。