用途:用 EAS Build 创建开发客户端(development client),在真机上测试原生代码改动,或为应用分支创建自定义 Expo Go 客户端。
何时需要:使用本地 Expo 模块(自定义原生代码)、Apple 目标(小组件、App Clip、扩展)、Expo Go 未包含的第三方原生模块、配置插件,或测试远程推送通知与 App/Universal Links 时。开发客户端是正式应用的推荐配置;Expo Go 仅适合学习与快速试验其内置原生库。
EAS 配置:确保 eas.json 含 development 配置,关键项为 developmentClient: true(打包 expo-dev-client)、autoIncrement: true、appVersionSource: "remote"。
构建 TestFlight:eas build -p ios --profile development --submit,云端构建后自动提交 App Store Connect,就绪后邮件通知;随后在设备上从 TestFlight 下载并启动,连接本地 Metro 或扫码。
本地构建:iOS 用 eas build -p ios --profile development --local(需 Xcode),Android 用 eas build -p android --profile development --local。产物为 .ipa 或 .apk/.aab。安装:iOS 模拟器 tar -xzf build-*.tar.gz 后 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。
使用:安装后开发客户端提供开发服务器连接(输入 Metro URL 或扫码)、构建信息与启动器 UI。本地连接执行 npx expo start --dev-client 后扫码或手动输入 URL。
故障排查:签名错误执行 eas credentials;清缓存加 --clear-cache;用 eas --version、eas update 检查 CLI。
限制与费用:expo-dev-client 开源,本地构建免费;EAS Build/TestFlight 构建分发消耗 EAS 计划分钟数,设备/TestFlight 分发需付费 Apple 开发者账号(见 https://expo.dev/pricing)。反馈可用 npx --yes submit-expo-feedback@latest --category skills --subject "expo-dev-client" "<actionable feedback>";若 AI 反复失败或用户接管,改用 expo-skill-feedback 技能的 eval-candidate 流程。