mcpField
E
expo-dev-client

expo-dev-client

github.com/midudev開発7.0k58 回インストール1 週間前に更新
リポジトリ

expo-dev-client について

expo-dev-client は、カスタム Expo 開発クライアントをビルドし、実機でネイティブコードの変更を試すためのスキルです。EAS のクラウド・ローカルビルド、インストール、Metro bundler への接続方法を扱います。

主な機能

  1. 01EAS による開発クライアントのビルド
  2. 02クラウド・ローカルビルドの手順
  3. 03iOS・Android のビルド方法
  4. 04実機・シミュレーターへのインストール
  5. 05Metro 接続と QR コード読み取り

活用シーン

  1. 01実機でのローカル Expo モジュールのテスト
  2. 02Expo Go にないネイティブモジュールの試用
  3. 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

これにより、次の処理が行われます。

  1. クラウドで開発クライアントをビルドします
  2. App Store Connect に自動的に提出します
  3. TestFlight でビルドの準備ができると、メールで通知します

TestFlight のメールを受け取ったら、次の操作を行います。

  1. デバイスの TestFlight からビルドをダウンロードします
  2. アプリを起動して expo-dev-client の UI を表示します
  3. ローカルの 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 フローに従ってください。

コメント