跳到正文
返回博客
·约 1 分钟读完

App Store Connect 应用状态详解

App Store Connect 里应用版本的每一种状态是什么意思、下一步该做什么,另含提交、条目和各国家地区的状态,以及对应的 App Store Connect API 取值。

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 ReviewApple 已收到提交,尚未开始审核。可以编辑部分应用信息,或把构建从审核中撤回。不能上传或编辑截图和应用预览。
In ReviewApp Review 正在审核。可以把构建从审核中撤回。
Accepted这一项已通过,但同一提交中有一项或多项被拒。只有全部条目通过,应用才会发布:修改被拒条目后重新提交,或把它们移出提交,先发布已通过的部分。
Waiting for Export Compliance你的 CCATS 文件正在 Apple 的出口合规审核中。等待该审核。
Pending Developer Release应用已通过,但还要你自己发布。在 App Store Connect 中发布。
Processing for Distribution应用正在处理,24 小时内可供分发。等待。
Pending Apple ReleaseApple 在等对应的 Apple 操作系统版本向公众发布,才会放出你的版本。若你希望它在现有系统版本上发布,检查构建的部署目标。如果用不同的部署目标重新构建,需要拒绝该版本的构建并提交新版本。
Pending App Transfer转出方已发起 App 转让,接收方还没接受。双方都可以取消。在处理完之前,只能修改价格。
Processing App Transfer接收方已接受转让。转让完成前不能取消,也不能修改应用。
Ready for Distribution已通过,可以分发。你的协议必须处于生效状态;账户持有人可在“商务”(Business)部分接受最新协议。
Rejected应用未通过。App Review 会把问题发给 Admin、App Manager 或 Developer 角色的用户。在 App Review 里读消息,然后回复或修改。
Metadata RejectedApp 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-Order24 小时内会变化;超过 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 SubmissionPREPARE_FOR_SUBMISSIONPREPARE_FOR_SUBMISSION
Ready for ReviewREADY_FOR_REVIEWREADY_FOR_REVIEW
Invalid BinaryINVALID_BINARYINVALID_BINARY
Waiting for ReviewWAITING_FOR_REVIEWWAITING_FOR_REVIEW
In ReviewIN_REVIEWIN_REVIEW
AcceptedACCEPTEDACCEPTED
Waiting for Export ComplianceWAITING_FOR_EXPORT_COMPLIANCEWAITING_FOR_EXPORT_COMPLIANCE
Pending Developer ReleasePENDING_DEVELOPER_RELEASEPENDING_DEVELOPER_RELEASE
Pending Apple ReleasePENDING_APPLE_RELEASEPENDING_APPLE_RELEASE
Processing for DistributionPROCESSING_FOR_DISTRIBUTIONPROCESSING_FOR_APP_STORE(名称最接近)
Ready for DistributionREADY_FOR_DISTRIBUTIONREADY_FOR_SALE(名称最接近)
RejectedREJECTEDREJECTED
Metadata RejectedMETADATA_REJECTEDMETADATA_REJECTED
Developer RejectedDEVELOPER_REJECTEDDEVELOPER_REJECTED
Pending App Transfer、Processing App Transfer无对应值无对应值
帮助页上没有REPLACED_WITH_NEW_VERSIONREPLACED_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 日查阅。

Apple 的页面和 API 取值会变化,请以上面各页的最新内容为准。

作者

独立开发者,在 Obelisk Club 做本地优先的 Mac 与 iOS 效率应用。 关于作者 →