asc-release-flow

asc-release-flow

热门

使用 asc 编排 App Store 发布流程,包括暂存版本、上传或构建产物、发布以及提交审核。当用户想要准备或执行发布时使用。将 Game Center 项目准备工作保留在此技能中;将其他就绪失败、卡住的提交、取消和重试决策路由到 asc-submission-health。

934Star
48Fork
更新于 2026/7/21
SKILL.md
readonly只读
name
asc-release-flow
description

使用 asc 编排 App Store 发布流程,包括暂存版本、上传或构建产物、发布以及提交审核。当用户想要准备或执行发布时使用。将 Game Center 项目准备工作保留在此技能中;将其他就绪失败、卡住的提交、取消和重试决策路由到 asc-submission-health。

App Store 发布编排

使用此技能将发布从已批准的方案推进到 App Store 审核。将 Game Center 项目准备工作保留在此处;将其他阻塞诊断和审核恢复保留在 asc-submission-health 中。

所有权边界

此技能拥有:

  • 暂存元数据并附加构建;
  • 发布 IPA 或本地构建;
  • 提交已准备好的版本;
  • 组装多项目审核提交。

使用 准备部分 处理 Game Center 项目准备或附加阻塞。仅在应用版本已暂存且选择了多项目通道后,才使用该参考的组装和提交部分。对于其他验证阻塞、卡住的提交、取消或重试决策,停止并使用 asc-submission-health

前置条件

  • 解析 APP_ID、版本字符串、需要时的 VERSION_ID,以及构建已存在时的 BUILD_ID
  • 使用 asc auth loginASC_* 环境变量配置认证。
  • 确认目标平台。除非应用针对其他平台,否则使用 IOS
  • 当工作流应用元数据时,将规范元数据保存在 ./metadata 中。
  • 在变更性高级命令之前要求进行试运行,然后要求 --confirm 进行提交。

选择发布通道

意图 命令
准备元数据并附加现有构建而不提交 asc release stage
提交已准备好的版本 asc review submit
上传 IPA 或本地构建,然后可选提交 asc publish appstore
提交包含 IAP、订阅或 Game Center 版本项目的应用版本 较低级别的 asc review 提交命令

在一个通道已创建审核提交后,不要混合使用通道。首先检查现有提交,然后通过匹配的较低级别命令继续。

运行就绪门控

将此门控应用于已附加目标构建的版本。对于暂存通道,首先完成 暂存现有构建asc release stage 附加构建并运行验证,之后可以评估此门控。不要将预期的暂存前“构建未附加”结果路由到 asc-submission-health

在任何提交之前进行验证:

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

当警告必须停止自动化时使用严格模式:

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

数字商品是硬性门控。如果发布包含 IAP 或订阅,停止并在 asc-submission-health 中运行相关产品检查。仅在这些检查没有阻塞问题且目标产品版本已准备好后,才恢复此流程。

对于 Game Center 项目,仅完成 准备每个项目,然后返回此流程。在就绪期间不要组装或提交多项目审核提交。

如果应用验证报告 Game Center 项目阻塞,停止并使用该准备部分。如果唯一阻塞是暂存通道中未附加的构建,继续到暂存部分。对于其他所有阻塞,停止发布流程并使用 asc-submission-health。不要在发布运行中埋藏无关的修复。

暂存现有构建

使用 asc release stage 来确保版本、应用或复制元数据、附加所选构建,并运行验证而不创建审核提交。

预览元数据驱动的暂存:

asc release stage \
  --app "APP_ID" \
  --version "1.2.3" \
  --build "BUILD_ID" \
  --metadata-dir "./metadata/version/1.2.3" \
  --dry-run \
  --output table

应用已审核的方案:

asc release stage \
  --app "APP_ID" \
  --version "1.2.3" \
  --build "BUILD_ID" \
  --metadata-dir "./metadata/version/1.2.3" \
  --confirm

在需要向前传递本地化元数据时,使用 --copy-metadata-from "1.2.2" 代替 --metadata-dir。当警告应导致暂存失败时,添加 --strict-validate

提交已准备好的版本

在元数据、审核详情、可用性、构建处理和产品就绪已解决后,使用 asc review submit

asc review submit --app "APP_ID" --version "1.2.3" --build "BUILD_ID" --dry-run --output table
asc review submit --app "APP_ID" --version "1.2.3" --build "BUILD_ID" --confirm

当确切版本 ID 已知时,使用 --version-id "VERSION_ID" 代替 --version。仅当目标构建已附加并验证时,可以省略 --build

上传或构建,然后发布

当发布从 IPA 或本地 Xcode 项目/工作空间开始时,使用 asc publish appstore

预览 IPA 上传和提交:

asc publish appstore \
  --app "APP_ID" \
  --ipa "./App.ipa" \
  --version "1.2.3" \
  --submit \
  --dry-run \
  --output table

在审核方案后运行:

asc publish appstore \
  --app "APP_ID" \
  --ipa "./App.ipa" \
  --version "1.2.3" \
  --submit \
  --wait \
  --confirm

对于本地构建模式,提供 --workspace--project 以及 --scheme 代替 --ipa。当发布命令应在确保版本后应用规范版本元数据时,使用 --metadata-dir

当用户仅需要上传和附加时,省略 --submit

提交多个审核项目

当应用版本必须与版本化的 IAP、订阅、订阅组或 Game Center 项目一起发布时,阅读 references/multi-item-submissions.md。仅添加用户已解决并检查过的项目。

提交后的交接

报告:

  • 应用、版本、平台、构建和提交 ID;
  • 运行的通道及其是否完成;
  • 用户确认的每个变更;
  • 用于监控结果提交的确切命令。

使用 asc-submission-health 进行监控、取消、拒绝诊断或重试决策。

护栏

  • 不要使用已移除的 submit-preflightsubmit-createrelease-run 快捷方式。
  • 在试运行方案与请求的发布匹配之前,不要添加 --confirm
  • 当版本已存在一个审核提交时,不要创建第二个。
  • 不要将验证失败变成部分发布;在失败的门控处停止。
  • 在自动化中包装命令时,将数据保留在 stdout 上,诊断信息保留在 stderr 上。