关于 eas-app-stores
eas-app-stores 是一项 Expo 技能,指导开发者使用 EAS 构建并发布 iOS 和 Android 应用。内容涵盖 Expo/React Native 项目及现有原生应用的商店提交、测试和发布状态检查。
主要功能
- 01EAS 构建与商店提交指南
- 02Expo/React Native 发布步骤
- 03原生 iOS 配置与归档检查
- 04TestFlight 和商店提交参考
- 05自动发布工作流指南
- 06版本与构建状态检查
适用场景
- 01准备 iOS 和 Android 商店构建
- 02将 iOS 构建提交至 TestFlight
- 03使用 EAS 发布原生 Swift 应用
- 04检查构建和提交进度
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ expo/ skills --skill eas-app-stores安装后在 Claude Code 中输入/eas-app-stores确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlreferences/app-store-metadata.mdios-app-store.mdnative-ios.mdplay-store.mdtestflight.mdworkflows.md详细介绍
App Store 部署
EAS 服务需付费。 云端构建会占用 EAS 计划资源,且 EAS 服务有免费层和付费计划的使用限额。Apple Developer 和 Google Play 会员资格需另行购买。请访问 https://expo.dev/pricing 查看所需服务的价格。
此技能介绍如何使用 EAS 构建和发布 iOS 与 Android 应用:包括 Expo 和其他 React Native 项目,以及现有原生应用。EAS 是交付服务;原生应用无需在运行时引入 Expo 或 React Native,也可使用该服务。目前,原生应用设置指南涵盖 iOS 上的 SwiftUI/UIKit。
选择项目路径
- 不含 React Native 运行时的 SwiftUI/UIKit 应用: 更改其构建配置前,请先阅读 references/native-ios.md。以 Xcode 项目和 Swift 代码作为应用的唯一事实来源。下方的 Expo/React Native 快速入门和开发客户端示例不适用于此路径。
- 不含 React Native 运行时的原生 Android 应用: 保留现有的原生构建设置。提交说明请参阅 references/play-store.md;Swift/iOS 设置说明不适用。目前尚未提供专门的原生 Android 设置指南。
- Expo/React Native 应用: 使用下方的快速入门,然后参阅相关商店指南。
- 在现有原生应用中添加 React Native 屏幕: 使用
expo-brownfield完成集成;之后回到此处进行分发。
在原生 iOS 初次设置时、更改版本号、包 ID 或图标后,或排查上传被拒的问题时,请按照 references/native-ios.md 中的归档和图标检查步骤操作。常规发布请遵循 EAS 构建/提交流程,以及 references/testflight.md 中的处理和可用性检查。EAS 构建成功或提交进入队列,并不代表已获 Apple 接受、测试人员已获得访问权限,或应用已在 App Store 发布。
参考资料
请按需查阅以下资源:
- ./references/workflows.md -- 用于自动化商店发布和 PR 预览的 CI/CD 工作流
- ./references/testflight.md -- 将 iOS 构建提交到 TestFlight 进行 Beta 测试
- ./references/app-store-metadata.md -- 管理 App Store 元数据和 ASO 优化
- ./references/play-store.md -- 将 Android 构建提交到 Google Play Store
- ./references/ios-app-store.md -- iOS App Store 提交和审核流程
- ./references/native-ios.md -- 无需 Expo 运行时的原生 Swift/SwiftUI/UIKit 设置、版本管理和归档验证
Expo / React Native 快速入门
安装 EAS CLI
npm install -g eas-cli
eas login
初始化 EAS
npx eas-cli@latest init
eas init 会关联或创建 EAS 项目。运行 eas build:configure 可在 eas.json 中创建构建配置;如果已有发布设置,请保留现有项目和商店标识符。
构建命令
生产构建
# iOS App Store build
npx eas-cli@latest build -p ios --profile production
# Android Play Store build
npx eas-cli@latest build -p android --profile production
# Both platforms
npx eas-cli@latest build --profile production
提交到商店
# iOS: Build and submit to App Store Connect
npx eas-cli@latest build -p ios --profile production --auto-submit
# Android: Build and submit to Play Store
npx eas-cli@latest build -p android --profile production --auto-submit
# Expo / React Native shortcut for iOS TestFlight
npx testflight
Web 和 API 路由托管
将 Expo 网站或 Expo Router API 路由部署到 EAS Hosting(先运行 npx expo export -p web,然后运行 eas deploy)的内容由 eas-hosting 技能介绍。本技能侧重于原生应用商店发布。
EAS 配置
适用于 Expo / React Native 项目的示例(原生 Swift 配置见 references/native-ios.md):
{
"cli": {
"version": ">= 16.0.1",
"appVersionSource": "remote"
},
"build": {
"production": {
"autoIncrement": true,
"ios": {
"resourceClass": "m-medium"
}
},
"development": {
"developmentClient": true,
"distribution": "internal"
}
},
"submit": {
"production": {
"ios": {
"appleId": "[email protected]",
"ascAppId": "1234567890"
},
"android": {
"serviceAccountKeyPath": "./google-service-account.json",
"track": "internal"
}
}
}
}
平台专属指南
iOS
- 对于原生 Swift 应用,请使用
references/native-ios.md中明确的构建/提交流程 - 对于 Expo / React Native 应用,
npx testflight可快速完成 TestFlight 流程 - 使用
eas credentials配置 Apple 凭据 - 凭据设置请参阅 ./references/testflight.md
- App Store 提交请参阅 ./references/ios-app-store.md
Android
- 设置 Google Play Console 服务账号
- 配置轨道:内部 → 封闭 → 开放 → 生产
- 详细设置请参阅 ./references/play-store.md
自动化发布
EAS Workflows 可自动执行构建 → 提交 → 更新流程,用于 CI/CD。商店发布示例请参阅 ./references/workflows.md。要编写或验证工作流 YAML,请使用 eas-workflows skill——它基于实时工作流架构运行。
版本管理
使用 appVersionSource: "remote" 时,EAS 会自动管理版本号:
# Check current versions
eas build:version:get
# Manually set version
eas build:version:set -p ios
设置版本的命令会提示输入相应值。设置或更改 iOS 原生版本管理,或排查构建号重复问题时,请检查已归档的 CFBundleVersion:远程计数器本身并不能证明 Xcode 使用了该值。
监控
# List recent builds
eas build:list
# Check build status
eas build:view BUILD_ID
# Inspect submissions (verified with EAS CLI 23.2.0)
eas submit:list -p ios --json
eas submit:view SUBMISSION_ID --json
在判断命令缺失问题前,请检查 CLI 版本:这些提交命令在 23.2.0 中可用,但在经过测试的 18.6.0 安装版本中不可用。使用固定版本的 npx [email protected] 调用这些命令,无需更改全局安装。有关实时 Apple 状态和重试指南,请参阅 references/testflight.md。如果 JSON 结果未包含底层错误,请根据返回的日志 URL 查看详情。请报告确切的构建 ID/版本,以及经核实的最远发布状态。
提交反馈
如果你遇到错误、误导性信息或此 skill 中的信息已过时,请报告,以便 Expo 改进:
npx --yes @expo/agent-cli@latest feedback --category skills --subject "eas-app-stores" "<actionable feedback>"
只有在有具体且可执行的反馈时才提交。请尽可能提供相关背景。
如果 Agent 反复无法完成 Expo 任务,或用户不得不介入,请使用 --category evals,并将相关 Expo 软件包或命令指定为 --subject,简要报告任务、预期结果和出错之处。