mcpField
E
expo-dev-client

expo-dev-client

github.com/sickn33開発48.8k66 回インストール今日更新
リポジトリ

expo-dev-client について

EAS Build で Expo 開発クライアントを作成・トラブルシューティングするスキルです。ネイティブコードを含む変更のテスト向けに、ローカルビルド、インストール、プラットフォーム設定、Metro 開発サーバーへの接続を扱います。

主な機能

  1. 01開発ビルドプロファイルの設定
  2. 02iOS と Android 向けビルド
  3. 03ローカル成果物のインストール
  4. 04Metro 開発サーバーへの接続
  5. 05ビルド状況の確認と問題解決

活用シーン

  1. 01ローカル Expo モジュールのテスト
  2. 02Expo Go にないネイティブモジュールの試用
  3. 03デバイス向け開発クライアントのビルド
  4. 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開発ビルドを作成またはトラブルシューティングする場合に使用します。

コメント