用途:为需要自定义原生代码的 Expo 应用构建并分发开发客户端(dev client),用于在真机上测试原生代码改动,或为应用不同分支制作可测试的客户端。大多数应用在 Expo Go 中即可运行;仅当使用本地 Expo 模块(自定义原生代码)、Apple 目标(小组件、App Clip、扩展)或 Expo Go 不支持的第三方原生模块时才需要 dev client。可先用 npx expo start 在 Expo Go 中验证。
配置:确保 eas.json 含 development 配置档,关键项为 developmentClient: true(打包 expo-dev-client)、autoIncrement: true(自动递增构建号)、appVersionSource: "remote"。
构建与分发:使用 TestFlight 配置档构建 iOS 并自动提交,命令为 eas build -p ios --profile testflight --auto-submit,构建完成后会收到邮件,在设备上从 TestFlight 下载并启动,可连接本地 Metro 或扫描二维码。本地构建使用 eas build -p ios --profile development --local 或 eas build -p android --profile development --local;iOS 模拟器输出 .tar.gz,真机(需签名)输出 .ipa,Android 输出 .apk。安装:模拟器用 tar -xzf 解压后执行 xcrun simctl install booted ./path/to/App.app;真机可用 ideviceinstaller -i build.ipa;Android 用 adb install build.apk。指定平台可用 -p ios 或 -p android,不加则同时构建。查看构建用 eas build:list 与 eas build:view。
使用与限制:安装后 dev client 提供开发服务器连接(输入 Metro URL 或扫码)、构建信息查看和启动器界面,可切换开发服务器;连接本地开发执行 npx expo start --dev-client。故障排查:签名错误运行 eas credentials;清理缓存加 --clear-cache;用 eas --version 检查 EAS CLI 版本,可 npm install -g eas-cli@latest 升级。