App Store Connect 与 TestFlight
创建 iOS 商店记录、上传构建、准备 TestFlight 和 App Review 材料
EAS Build 生成的是包,EAS Submit 负责上传。真正的 iOS 发布工作,还要在 App Store Connect 里完成。
App Store Connect 管三件事:商店里的 App 记录、TestFlight 测试、App Review 和正式发布。
创建 app record
先确保你已经在 Apple Developer 注册了主 App ID。然后进入:
https://appstoreconnect.apple.com/apps新建 App 常见字段:
| 字段 | 填什么 |
|---|---|
| Platforms | iOS |
| Name | 商店显示名 |
| Primary Language | 你的主语言 |
| Bundle ID | 选择 app.json 里的 expo.ios.bundleIdentifier |
| SKU | 内部编号,例如 yourapp-ios |
| User Access | 小团队可以先用 Full Access |
Bundle ID 一旦选错,后面构建上传和审核都会卡住。这里一定要和 products/01mvp/apps/mobile/app.json 对齐。
上传构建
先生成 production build:
vpr @01mvp/mobile#eas:build:production再提交:
vpr @01mvp/mobile#eas:submit:productionEAS Submit 会把构建上传到 App Store Connect。上传成功后,App 还没有公开发布,通常会先进入 TestFlight。
TestFlight 要测什么
TestFlight 不是走个形式。上线前至少用真机测这些路径:
- 邮箱登录、注册、退出登录。
- OAuth 或 magic link 回跳。
- 受保护 API 和用户资料。
- 会员状态、RevenueCat entitlement。
- 断网、弱网、API 失败时的 empty / error 状态。
- 深链、推送、文件、相机等原生能力。
- App 冷启动、后台切回来、卸载重装。
如果审核员需要登录,提前准备测试账号。不要让审核员自己注册、充值或猜入口。
商店资料清单
| 资料 | 说明 | 常见坑 |
|---|---|---|
| 截图 | 按设备尺寸准备,展示真实核心功能。 | 只放营销图,不展示 App 实际界面。 |
| 隐私政策 | 说明收集哪些数据、用途、删除方式。 | 文档写得和 App 实际行为不一致。 |
| 隐私问卷 | App Store Connect 里填写数据收集情况。 | 漏填分析、支付、账号相关数据。 |
| 审核备注 | 告诉审核员怎么登录、怎么触发核心功能。 | 不提供测试账号,付费功能也没有说明。 |
| 付费说明 | 订阅、内购、退款和权益说明。 | RevenueCat、商店产品和 App 文案不一致。 |
App Review 前的顺序
先让 production build 跑通:确认构建来自正确的 EAS project、Apple team 和 Bundle ID。
再用 TestFlight 走完整流程:不要只打开首页,至少测登录、会员、核心业务、错误状态。
补齐商店资料:截图、隐私、分级、关键词、支持地址、审核备注都要完整。
提交 App Review:提交后继续关注 Apple 的问题和补充材料要求。
EAS Update 和审核
EAS Update 可以推 JS、样式、图片和文案层面的更新,但不代表可以绕过平台规则。影响 App 行为、付费、权限、隐私、安全的改动,仍然要按 Apple 的审核要求处理。
这些变更不能只靠 OTA:
- 新增原生模块。
- 修改权限。
- 修改 Bundle ID、scheme、图标、启动页。
- 改 App Store 付费产品和订阅逻辑。
- 升级 Expo SDK 或 native dependency。
官方参考
这篇文档有问题?