mcpField
E
expo-dev-client-v55

expo-dev-client-v55

github.com/blockmatic开发1221 次安装4 周前更新
代码仓库

关于 expo-dev-client-v55

面向 Expo 应用开发者的开发客户端构建指南,介绍使用 EAS Build 或本地构建为原生代码测试生成客户端,并通过 Metro 连接开发服务器。

主要功能

  1. 01配置 EAS development 构建配置
  2. 02通过 EAS Build 构建并提交 TestFlight
  3. 03在本地构建 iOS 和 Android 客户端
  4. 04连接 Metro 开发服务器或扫描二维码

适用场景

  1. 01测试自定义原生代码或 Expo Go 未包含的模块
  2. 02在实体设备上测试应用分支
  3. 03检查开发构建状态并处理签名问题

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/blockmatic/basilic-skills --skill expo-dev-client-v55

安装后在 Claude Code 中输入/expo-dev-client-v55确认已加载。

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

EAS 配置

确保 eas.json 中有一个 development 配置:

{
  "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 界面
  3. 连接到本地 Metro 打包器,或扫描二维码

本地构建

在你的计算机上构建开发客户端:

# 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

提交反馈

如果你在此技能中发现错误、误导性内容或过时信息,请提交报告,帮助 Expo 改进:

npx --yes submit-expo-feedback@latest --category skills --subject "expo-dev-client" "<actionable feedback>"

仅当你有具体且可采取行动的问题时才提交。请尽可能提供相关背景信息。 如果 AI Agent 反复失败,或用户不得不接手 Expo 任务,请加载 expo-skill-feedback 技能,并按其 eval-candidate 流程操作,而不要重复使用上面的命令。

评论

支持 Markdown