asc-submission-health

asc-submission-health

热门

诊断 App Store 提交阻塞问题并使用 asc 操作审核健康状态,包括就绪验证、修复路由、状态监控、取消和重试决策。当验证失败、版本处于无效状态、审核状态不明确或卡住、或失败的提交需要修复并重试时使用。对于分阶段、上传、发布和提交执行,请使用 asc-release-flow。

934Star
49Fork
更新于 2026/7/21
SKILL.md
readonly只读
name
asc-submission-health
description

诊断 App Store 提交阻塞问题并使用 asc 操作审核健康状态,包括就绪验证、修复路由、状态监控、取消和重试决策。当验证失败、版本处于无效状态、审核状态不明确或卡住、或失败的提交需要修复并重试时使用。对于分阶段、上传、发布和提交执行,请使用 asc-release-flow。

App Store 提交健康

使用此技能解释为何发布无法继续,并管理现有的审核提交。将健康的发布执行交回给 asc-release-flow

职责边界

此技能负责:

  • 就绪验证和阻塞诊断;
  • 公共 API、Web 会话和手动修复路由;
  • 审核状态和历史;
  • 取消和重试决策。

不要从此技能进行分阶段、上传、发布或提交健康的发布。

回答顺序

  1. 说明版本是就绪、阻塞还是已在审核中。
  2. 列出每个阻塞项及其证据。
  3. 区分公共 API 修复与 Web 会话和手动工作。
  4. 给出一个下一步命令。不要列出整个修复目录。

确定目标

  • 解析 APP_ID、版本字符串或 VERSION_IDBUILD_ID、平台以及任何已知的 SUBMISSION_ID
  • 使用 asc auth loginASC_* 环境变量配置认证。
  • 仅在仓库测试和隔离验证中使用 ASC_BYPASS_KEYCHAIN=1,不要在正常用户会话中使用。
  • 一旦目标解析完成,优先使用 ID;当应用、版本或产品解析不明确时停止。

诊断就绪状态

首先运行标准就绪报告:

asc validate --app "APP_ID" --version "1.2.3" --platform IOS --output table

当已知时使用 --version-id "VERSION_ID"。当警告必须使自动化失败时添加 --strict

向审核专用诊断工具请求有序解释:

asc review doctor --app "APP_ID" --version "1.2.3" --platform IOS --output table

当报告指向构建或版本时收集直接证据:

asc builds info --build-id "BUILD_ID" --output table
asc versions view --version-id "VERSION_ID" --include-build --include-submission --output table

对于数字商品,仅运行相关的产品验证器:

asc validate iap --app "APP_ID" --output table
asc validate subscriptions --app "APP_ID" --output table

asc validate 的有序修复计划视为修复队列。在进入下一个阻塞类之前修复并验证一个类别的阻塞。

路由修复

当阻塞是构建处理、元数据、截图、审核详情、加密、内容权限、年龄分级、可用性或版本范围的产品元数据时,使用公共 API 命令。

当诊断识别出这些常见阻塞之一或首次发布可用性差距时,阅读 references/readiness-repairs.md

仅当 IAP 或订阅验证失败、Apple 要求首次审核附件、或版本化产品必须加入现有审核提交时,阅读 references/digital-goods.md

仅当验证报告 App 隐私建议或无法通过公共 API 确认发布状态时,阅读 references/app-privacy.md

当验证报告 Game Center 组件或版本阻塞时,将其交给 asc-release-flow 并请求多项目参考的 Prepare every item 部分。不要通过通用就绪或数字商品修复路由 Game Center。

仅当公共 API 无法覆盖的缺口时使用 Web 会话命令,并说明需要经过身份验证的 Apple Web 会话。当用户拒绝 Web 会话自动化时,保留手动 App Store Connect 后备方案。

判断版本是否健康

当满足以下条件时,版本可以返回给 asc-release-flow

  • asc validate 没有阻塞问题;
  • 附加的构建是 VALID
  • 元数据、截图、应用信息、审核详情、内容权限、加密、年龄分级、定价和可用性已解决;
  • 相关的 asc validate iap 和/或 asc validate subscriptions 检查没有阻塞问题,并且所需的数字商品版本已准备就绪;
  • 任何 Game Center 版本项目已通过 asc-release-flow 的多项目提交参考检查;
  • App 隐私已确认或已发布。

不要仅仅因为一个验证器成功退出就认为版本就绪。报告任何仍需要 Web 会话或手动检查的警告。

监控审核

当提交 ID 未知时使用应用范围的状态:

asc review status --app "APP_ID" --version "1.2.3" --platform IOS --output table

当可用时使用确切的提交或版本 ID:

asc submit status --id "SUBMISSION_ID" --output table
asc submit status --version-id "VERSION_ID" --output table

使用发布仪表板获取周围的构建和审核信号:

asc status --app "APP_ID" --include builds,appstore,submission,review --output table

使用历史记录区分当前卡住与之前被拒绝或完成的提交:

asc review history --app "APP_ID" --version "1.2.3" --paginate --output table

取消不健康的提交

在取消之前解析确切的活动提交。先预览状态,然后要求确认:

asc submit status --id "SUBMISSION_ID" --output table
asc submit cancel --id "SUBMISSION_ID" --confirm

当按版本解析时,包含应用以进行现代审核提交查找:

asc submit status --version-id "VERSION_ID" --output table
asc submit cancel --version-id "VERSION_ID" --app "APP_ID" --confirm

当确切的审核提交已知时,较低级别的等效命令有效:

asc review submissions-cancel --id "SUBMISSION_ID" --confirm

不要仅仅因为审核时间比预期长就取消提交。首先确认状态和用户的意图。

决定何时重试

没有专门的重试命令。使用以下序列:

  1. 仅当必须撤回活动提交时才取消。
  2. 修复已证明的阻塞。
  3. 重新运行 asc validate 和相关产品验证器。
  4. 确认没有活动提交已经拥有该版本或审核项目。
  5. 将健康的版本和任何保留的 SUBMISSION_ID 交给 asc-release-flow 执行提交。重用已检查的 READY_FOR_REVIEW 草稿;仅当没有匹配的草稿或活动提交时才创建提交。

常见失败路由

症状 首要证据 修复路由
版本处于无效状态 asc validate, asc review doctor 有序就绪修复
出口合规必须被批准 构建信息和加密声明 就绪修复
找到多个应用信息 asc apps info list --app "APP_ID" 解析确切的应用信息 ID
IAP 或订阅未就绪 产品验证器 数字商品参考
Game Center 组件或版本未就绪 asc validate 诊断 asc-release-flow 多项目准备部分
App 隐私发布状态不明确 验证建议 App 隐私参考
审核似乎卡住 审核状态加历史 监控;仅在有证据和批准时取消

护栏

  • 不要使用已移除的 submit-preflightsubmit-create 快捷方式。
  • 不要从此技能提交;将健康执行返回给 asc-release-flow
  • 不要将 Web 会话自动化视为公共 App Store Connect API 覆盖。
  • 在验证先前的提交状态和阻塞修复之前不要重试。
  • 对于人工诊断使用 --output table,对于自动化使用 JSON。
  • 对于 macOS,使用 --platform MAC_OS,同时保持相同的健康生命周期。