用途:expo-dev-client 用于构建和分发 Expo 开发客户端(development client),以便在物理设备上测试原生代码改动,或为应用分支创建自定义 Expo Go 客户端。
何时需要:仅当应用需要自定义原生代码时才创建开发客户端。大多数应用在 Expo Go 中即可正常运行。需要开发客户端的情况包括:使用本地 Expo 模块(自定义原生代码)、Apple 目标(小组件、App Clip、扩展)、Expo Go 中不包含的第三方原生模块。建议先用 npx expo start 尝试 Expo Go,若一切正常则无需开发客户端。
EAS 配置:需确保 eas.json 中存在 development 配置档,关键设置包括 developmentClient: true(为开发构建打包 expo-dev-client)、autoIncrement: true(自动递增构建号)、appVersionSource: "remote"(以 EAS 作为版本号来源)。
构建与分发:构建 iOS 开发客户端并提交到 TestFlight 可用 eas build -p ios --profile development --submit,该命令在云端构建、自动提交到 App Store Connect,并在 TestFlight 就绪时发送邮件。本地构建使用 eas build -p ios --profile development --local(需 Xcode)或 eas build -p android --profile development --local,输出 iOS 的 .ipa 或 Android 的 .apk/.aab。安装本地构建:iOS 模拟器可用 tar -xzf build-*.tar.gz 后执行 xcrun simctl install booted ./path/to/App.app;iOS 真机(需签名)可用 ideviceinstaller -i build.ipa;Android 可用 adb install build.apk。也可按平台单独构建,或用 eas build:list、eas build:view 查看构建状态。
使用开发客户端:安装后提供开发服务器连接(输入 Metro bundler URL 或扫描二维码)、构建信息查看、启动器 UI(在多个开发服务器间切换)。连接本地开发可运行 npx expo start --dev-client,再用开发客户端扫描二维码或手动输入 URL。
限制与排错:签名错误可运行 eas credentials;清除构建缓存可用 eas build -p ios --profile development --clear-cache;检查 EAS CLI 版本可用 eas --version 与 eas update。资料未提供收费、价格、平台支持范围等更多信息。