App Store Connect 的应用状态告诉你某个版本走到了审核和发布的哪一步。Apple 用颜色区分:红色表示在应用能分发之前你必须操作,黄色表示某个流程(你的或 Apple 的)还在进行,绿色表示已是 Ready for Distribution。最常见的是 Prepare for Submission、Waiting for Review、In Review、Pending Developer Release 和 Ready for Distribution;需要你动手的是 Invalid Binary、Rejected、Metadata Rejected 和 Developer Rejected。如果你想用代码读取状态,App Store Connect API 里 App Store 版本有 appVersionState 属性,旧的 appStoreState 用的是已被标记为弃用的取值列表,下面都做了对照。
有两篇文章讲相邻的话题,这里不重复:应用卡在 Waiting for Review 时能做什么(审核时长、加急审核、联系 App Review),以及构建状态,如 Processing 和 Missing Compliance。构建状态和应用状态是两回事,混淆它们是最常见的误会。
应用状态
下面是 Apple 帮助页 “App and submission statuses” 里的状态,顺序与 Apple 一致。Apple 标为可编辑的状态下,你可以修改该版本的元数据。
| 状态 | 含义 | 下一步 |
|---|---|---|
| Prepare for Submission | 已创建应用记录,仍在填写信息。 | 补全元数据、选择构建,然后提交。 |
| Ready for Review | 必填元数据已填完,你表示打算提交,但还没提交。可以单独提交应用,也可以连同 In-App Events 或自定义产品页等条目一起提交。 | 提交。此状态下图片和视频不可编辑。 |
| Invalid Binary | 你已提交,但构建不满足当前的二进制要求。 | 上传新构建,或选择满足全部当前要求的构建。 |
| Waiting for Review | Apple 已收到提交,尚未开始审核。 | 可以编辑部分应用信息,或把构建从审核中撤回。不能上传或编辑截图和应用预览。 |
| In Review | App Review 正在审核。 | 可以把构建从审核中撤回。 |
| Accepted | 这一项已通过,但同一提交中有一项或多项被拒。 | 只有全部条目通过,应用才会发布:修改被拒条目后重新提交,或把它们移出提交,先发布已通过的部分。 |
| Waiting for Export Compliance | 你的 CCATS 文件正在 Apple 的出口合规审核中。 | 等待该审核。 |
| Pending Developer Release | 应用已通过,但还要你自己发布。 | 在 App Store Connect 中发布。 |
| Processing for Distribution | 应用正在处理,24 小时内可供分发。 | 等待。 |
| Pending Apple Release | Apple 在等对应的 Apple 操作系统版本向公众发布,才会放出你的版本。 | 若你希望它在现有系统版本上发布,检查构建的部署目标。如果用不同的部署目标重新构建,需要拒绝该版本的构建并提交新版本。 |
| Pending App Transfer | 转出方已发起 App 转让,接收方还没接受。双方都可以取消。 | 在处理完之前,只能修改价格。 |
| Processing App Transfer | 接收方已接受转让。 | 转让完成前不能取消,也不能修改应用。 |
| Ready for Distribution | 已通过,可以分发。 | 你的协议必须处于生效状态;账户持有人可在“商务”(Business)部分接受最新协议。 |
| Rejected | 应用未通过。App Review 会把问题发给 Admin、App Manager 或 Developer 角色的用户。 | 在 App Review 里读消息,然后回复或修改。 |
| Metadata Rejected | App Review 不接受你的元数据。 | 读消息,修改元数据,并回复 App Review。 |
| Developer Rejected | 你自己把应用从审核中撤回了。 | 准备好后,重新提交该构建或提交新构建。 |
Apple 的页面还提到 webhook:应用状态变化时,App Store Connect 可以通知你的网络服务器,不必靠轮询。
有几个名字你可能预期会看到,但现在页面上没有:Ready for Sale、Removed from Sale、Developer Removed from Sale 和 Replaced with New Version。它们出现在 App Store Connect API 的取值里(见后文),但 Apple 的状态页没有给出说明,所以我们不去猜它们的含义。
提交状态与条目状态
因为一个应用版本可以和其他内容一起提交,App Store Connect 还会为整个提交以及其中每个条目显示状态。所有条目通过后,提交会在 App Review 页面从“进行中”移到“已完成”。
- 提交状态: Waiting for Review、In Review(可以取消提交以撤回)、Processing(你撤回了提交,操作正在处理)、Unresolved Issues(App Review 拒绝了一个或多个条目)、Rejected(针对 App 捆绑包或 TestFlight 提交;TestFlight 需要先提交新构建,才能邀请外部测试员)。
- 条目状态: Ready for Review(已加入提交,还没发给审核)、Waiting for Review、In Review、Accepted(但另有条目被拒,必须全部通过才能发布任何一项)、Rejected(修改后重新提交该条目,或把它移出提交)。
各国家和地区的状态
另有一套 App Store 状态,说明应用能否在某个国家或地区下载。红色表示该地不可用,黄色表示需要你操作或正在处理,绿色表示可用。Apple 列出的有:
| 状态 | 简单说明 |
|---|---|
| Available | 在该国家或地区已上架。 |
| Available on App Release | 到你设定的日期或手动发布后上架;只在应用从未在任何地区发布过时显示。 |
| Pre-Order Pending Developer Release | 预购设置好了,你发布版本后上线。 |
| Pre-Order (Scheduled Release [date]) | 预购已开放,按所示日期发布。 |
| Processing to Available / Not Available / Pre-Order | 24 小时内会变化;超过 24 小时请联系 Apple。 |
| Not Available | 你选择不在该地分发。 |
| Missing App Rating | 没有设置年龄分级。 |
| Missing Tax Form | 没有提交巴西税务信息。 |
| Missing Game registration number | 缺少中国大陆的批准文号和证明文件。 |
| ICP Filing Number Missing / Invalid | 缺少中国大陆 ICP 备案号,或与你在 MIIT 备案的信息不符。 |
| Cannot Sell App | 该地不可用;把指针悬停在状态上可看原因,或联系 Apple。 |
API 里对应的状态
App Store 版本(appStoreVersions)有两个状态属性。appVersionState 的类型是 AppVersionState。appStoreState 的类型是 AppStoreVersionState,Apple 文档把它标为已弃用。Apple 的页面只列了取值名称,没有逐项说明,所以下表是按名称与帮助页对应的。其中两对只能按最接近的名称对应,表里已注明。
| App Store Connect 状态 | appVersionState | 已弃用的 appStoreState |
|---|---|---|
| Prepare for Submission | PREPARE_FOR_SUBMISSION | PREPARE_FOR_SUBMISSION |
| Ready for Review | READY_FOR_REVIEW | READY_FOR_REVIEW |
| Invalid Binary | INVALID_BINARY | INVALID_BINARY |
| Waiting for Review | WAITING_FOR_REVIEW | WAITING_FOR_REVIEW |
| In Review | IN_REVIEW | IN_REVIEW |
| Accepted | ACCEPTED | ACCEPTED |
| Waiting for Export Compliance | WAITING_FOR_EXPORT_COMPLIANCE | WAITING_FOR_EXPORT_COMPLIANCE |
| Pending Developer Release | PENDING_DEVELOPER_RELEASE | PENDING_DEVELOPER_RELEASE |
| Pending Apple Release | PENDING_APPLE_RELEASE | PENDING_APPLE_RELEASE |
| Processing for Distribution | PROCESSING_FOR_DISTRIBUTION | PROCESSING_FOR_APP_STORE(名称最接近) |
| Ready for Distribution | READY_FOR_DISTRIBUTION | READY_FOR_SALE(名称最接近) |
| Rejected | REJECTED | REJECTED |
| Metadata Rejected | METADATA_REJECTED | METADATA_REJECTED |
| Developer Rejected | DEVELOPER_REJECTED | DEVELOPER_REJECTED |
| Pending App Transfer、Processing App Transfer | 无对应值 | 无对应值 |
| 帮助页上没有 | REPLACED_WITH_NEW_VERSION | REPLACED_WITH_NEW_VERSION |
弃用的列表里还有新列表没有的值:DEVELOPER_REMOVED_FROM_SALE、PENDING_CONTRACT、PREORDER_READY_FOR_SALE、REMOVED_FROM_SALE 和 NOT_APPLICABLE。如果你的代码还在判断 appStoreState,建议迁移到 appVersionState 并处理新名称,而且无论哪个都要保留一个“未知值”分支,Apple 以前改过这些列表,以后也可能再改。
读取状态用一个普通请求即可,例如 GET /v1/apps/{id}/appStoreVersions?fields[appStoreVersions]=versionString,platform,appVersionState。同一个接口还支持 filter[appVersionState] 过滤。请求要用令牌签名,可以用我们的 App Store Connect JWT 生成器。我们没有把这个请求真正发给 Apple,因为那需要真实的密钥;字段和接口名称来自 Apple 的文档。
该关注哪一种
- 红色状态(Invalid Binary、Rejected、Metadata Rejected、Developer Rejected):有事要你做,App Review 里的消息会告诉你具体是什么。
- Waiting for Review 或 In Review 很久: 这是审核排队,不是错误;见 Waiting for Review 指南。
- Pending Apple Release: 也不是排队,通常和部署目标有关。
- Pending Developer Release 或 Ready for Distribution 但没人能下载: 检查你选的发布方式、协议,以及上面各国家地区的状态。
- Processing for Distribution: Apple 说 24 小时内会就绪。
- 还没走到这些状态,构建就不见了或卡住了: 那是构建状态,见构建处理状态。
来源
均于 2026 年 11 月 1 日查阅。
- App and submission statuses,App Store Connect 帮助(应用、提交、条目和 App Store 可用性状态)
- AppVersionState 与 AppStoreVersionState,App Store Connect API
- AppStoreVersion 及其属性,App Store Connect API
- List all App Store versions for an app,App Store Connect API
- Generating Tokens for API Requests
Apple 的页面和 API 取值会变化,请以上面各页的最新内容为准。