Expo 开发客户端构建助手
为 Expo 原生代码测试构建并分发开发客户端。
文档披露了本地与云端构建的费用差异、Apple Developer要求及EAS/TestFlight外部影响,并将生产发布引导至另一技能;但未要求执行云构建、提交TestFlight或凭据操作前确认,也未说明凭据/项目数据流、权限最小化或回滚方案,因此扣8分。
流程、配置示例和常见命令基本一致,且包含签名错误、缓存和CLI版本排查;但没有针对关键路径的测试或执行证据,前置条件、异常输入、平台差异和部分构建产物假设说明不足,因此按静态评估限制扣分。
目标用户和适用场景较清晰,明确列出需要开发客户端的原生能力,并区分生产商店发布技能;但非适用范围、触发边界、项目准备条件及中文环境说明有限,云端核心流程依赖EAS和App Store Connect,未讨论中国大陆网络可达性,因此扣5分。
具备名称、描述、版本1.1.0、MIT许可、分节说明、示例命令、故障排查和仓库级更新/版本检查;但缺少变更日志、明确维护责任人和针对该技能的安装/依赖说明、FAQ及已知限制,因此扣6分。
可直接覆盖判断、配置、构建、安装、连接Metro和查看状态等核心任务,示例具有操作价值;但未完整说明安装expo-dev-client、凭据准备、配置合并风险及不同输出格式,静态证据不足以确认结果可直接使用,因此按上限给6分并扣9分。
技能提供可审计的命令、配置和官方文档链接,仓库还有技能限制与版本检查工作流;但没有覆盖该技能关键路径的提交测试、真实构建记录或第三方执行证据,无法静态复现结论,因此扣6分。
- 执行eas build --submit会产生云端费用并触发App Store Connect外部提交;操作前应确认账户、费用、目标项目和提交意图。
- 技能未明确说明如何安装或确认expo-dev-client依赖、EAS登录状态、iOS签名权限及配置合并策略。
- 云端EAS/TestFlight流程的中国大陆网络可达性和失败后的恢复路径未说明;本地构建是更可控的替代路径。
这个 Skill 能做什么,适合哪些场景?
该技能帮助 Expo 项目使用 EAS Build 创建开发客户端,可在本地构建,也可通过云端构建后提交 TestFlight 进行内部测试。它覆盖 EAS development profile 配置、iOS 与 Android 构建、安装、Metro 连接、构建状态查看和常见故障排查。适合使用自定义原生代码、原生模块、配置插件或 Apple targets 的真实 Expo 应用。生产版 TestFlight 发布和应用商店提交应使用 eas-app-stores 技能。
读取并指导修改 eas.json 中的 development profile;运行 eas build 构建 iOS 或 Android 开发客户端;使用 --submit 将 iOS 开发客户端提交到 App Store Connect;生成或处理 .ipa、.apk、.aab 和模拟器 .app;使用 xcrun simctl、ideviceinstaller 或 adb 安装本地构建;运行 eas build:list、eas build:view 查看状态;运行 npx expo start --dev-client 启动 Metro,并指导客户端连接开发服务器;使用 eas credentials、--clear-cache 和 eas update 排查构建问题。
- 正在开发自定义 Expo 原生模块,需要在实体设备上测试分支代码的团队。
- 使用 Expo Go 不包含的第三方原生模块,需要创建专用开发客户端的开发者。
- 需要测试小组件、App Clips、扩展、远程推送通知或 App/Universal Links 的 iOS 项目。
- 希望把 iOS 开发客户端交给内部测试人员通过 TestFlight 安装的团队。
- 需要在没有云端构建的情况下,使用 Xcode 或 Android 工具链本地生成安装包的开发者。
这个 Skill 有哪些优点和局限?
- 同时覆盖 iOS、Android、本地构建和 EAS 云端构建流程。
- 提供 development profile 示例及关键字段说明。
- 包含 TestFlight 内部测试、构建安装、Metro 连接和状态查看步骤。
- 明确区分本地免费构建与 EAS Build/TestFlight 的付费边界。
- EAS 云端构建使用计划内构建分钟,TestFlight 或实体设备分发还需要付费 Apple Developer 账户。
- 生产版 TestFlight 发布和应用商店提交不在本技能范围内。
- 本地 iOS 构建依赖 Xcode,Android 安装依赖 adb,部分设备安装还需要签名。
- 源材料未提供测试套件、平台覆盖验证或自动化质量指标。
如何安装这个 Skill?
该技能属于 expo/skills 集合。使用 Skills CLI 安装全部 Expo 技能:npx skills@latest add expo/skills --skill '*'。从项目根目录运行,按提示选择安装位置;安装后重启或刷新 Agent 会话。Claude Code 可运行 claude plugin install expo@claude-plugins-official;Codex 可运行 codex plugin add expo@openai-curated。源材料未说明如何通过 Skills CLI 只安装 expo-dev-client。
如何使用这个 Skill?
在项目中确保 eas.json 包含 development profile,并设置 developmentClient: true。云端构建并提交 iOS 开发客户端:eas build -p ios --profile development --submit。本地构建:eas build -p ios --profile development --local 或 eas build -p android --profile development --local。安装后运行 npx expo start --dev-client,再用开发客户端扫描二维码或输入 Metro URL。可向 Agent 提问:“为这个 Expo 项目配置 development profile,并构建一个用于实体设备测试的开发客户端。”
这个 Skill 与同类方案有什么区别?
与 Expo Go 相比,开发客户端适合包含自定义原生代码、原生模块、配置插件或 Apple targets 的真实应用;Expo Go 更适合学习和快速实验。与 eas-app-stores 相比,本技能面向开发客户端和内部测试,后者面向生产构建、TestFlight、应用商店发布和商店元数据。