用途
本技能用于指导使用 EAS(Expo Application Services)完成 iOS 和 Android 应用的构建与商店发布。适用于 Expo 及 React Native 项目,也适用于不包含 React Native 运行时的现有原生应用。EAS 作为交付服务,原生应用无需引入 Expo 或 React Native 运行时即可使用;原生 iOS 设置目前以 SwiftUI/UIKit 为主。
主要能力
- 安装并登录 EAS CLI,初始化 EAS 项目并配置构建文件(eas.json)。
- 执行 iOS App Store、Android Play Store 及双平台生产构建。
- 构建并自动提交至 App Store Connect 或 Google Play。
- 提供 iOS TestFlight 快捷流程(npx testflight)。
- 管理版本号(appVersionSource: “remote”),查看和设置版本。
- 监控构建列表、构建状态、提交记录(部分命令需 EAS CLI 23.2.0 及以上)。
- 通过 EAS Workflows 自动化 build → submit → update 流水线,用于 CI/CD 和 PR 预览。
- 提供 iOS 原生归档与图标检查、App Store 元数据管理、Play Store 提交等参考文档指引。
使用方式
- 安装 EAS CLI 并登录: npm install -g eas-cli eas login
- 初始化项目:npx eas-cli@latest init,可按需运行 eas build:configure 生成构建配置;已有发布设置时保留现有项目与商店标识符。
- 构建:如 npx eas-cli@latest build -p ios --profile production、npx eas-cli@latest build -p android --profile production,或双平台 npx eas-cli@latest build --profile production。
- 提交:使用 --auto-submit 构建并提交,或配置 eas.json 中的 submit 段后提交。
- 版本与监控:eas build:version:get、eas build:version:set -p ios、eas build:list、eas build:view BUILD_ID、eas submit:list -p ios --json、eas submit:view SUBMISSION_ID --json。
- 原生 iOS 路径需先阅读 references/native-ios.md;原生 Android 路径参考 references/play-store.md,官方暂未提供专门的原生 Android 设置教程。
适用场景
- 为 Expo/React Native 应用配置生产构建并发布到 App Store 与 Google Play。
- 为现有原生 iOS 或 Android 应用接入 EAS 发布流程。
- 在 CI/CD 中自动构建、提交和更新应用,或生成 PR 预览。
- 进行 TestFlight 测试分发、版本号管理与构建状态追踪。
限制与注意事项
- EAS 为收费服务:云构建消耗 EAS 计划资源,免费与付费计划有限额;Apple Developer 与 Google Play 会员为单独订阅,具体见 https://expo.dev/pricing。
- 商店上传、元数据推送、邀请、公开发布、付费构建和 OTA 发布需要相应用户权限;仅草稿或检查不构成授权。
- 云构建前应固定经过审查的 CLI 版本,并检查上传归档与忽略规则,避免泄露密钥。未经明确指示不得向外部发送项目日志或反馈,需脱敏密钥与用户数据。
- 存在多个候选时应使用精确的构建 ID、账户/团队和轨道,避免“最新”快捷选择。
- 成功的 EAS 构建或已排队的提交并不代表 Apple 已接受、测试者可访问或已上架。
- 原生 iOS 版本管理需检查归档中的 CFBundleVersion,远程计数器不能单独证明 Xcode 已使用该值。
- 提交相关命令在 EAS CLI 23.2.0 可用,在 18.6.0 中不可用,使用前应确认 CLI 版本。
- 本技能为上游导入,执行前需核实凭证、权限和安全边界,不替代针对具体环境的验证、测试或维护者审查。
- 网站与 API 路由的 EAS Hosting 部署由 eas-hosting 技能覆盖,本技能聚焦原生应用商店发布。