mcpField
E
expo-dev-client

expo-dev-client

github.com/sickn33开发48.8k66 次安装今天更新
代码仓库

关于 expo-dev-client

使用 EAS Build 创建和排查 Expo 开发客户端的技能,适用于测试依赖原生代码的应用变更,涵盖本地构建、安装、平台配置和连接 Metro 开发服务器。

主要功能

  1. 01配置开发构建配置文件
  2. 02构建 iOS 和 Android 应用
  3. 03安装本地构建产物
  4. 04连接 Metro 开发服务器
  5. 05查看构建状态并排查问题

适用场景

  1. 01测试本地 Expo 模块
  2. 02试用 Expo 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 模块(自定义原生代码)
  • Apple 目标(小组件、App Clip、扩展)
  • Expo Go 未包含的第三方原生模块
  • 配置插件,或测试远程推送通知和 App/Universal 链接

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 或扫描二维码
  • 构建信息 - 查看原生构建详情
  • 启动器界面 - 切换开发服务器

连接到本地开发环境:

# 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 开发构建时使用;此类构建需要原生模块或开发客户端行为。

评论

支持 Markdown