mcpField
A
asc-check-readiness

asc-check-readiness

github.com/tddworks云与 DevOps586 次安装5 周前更新
代码仓库

关于 asc-check-readiness

asc-check-readiness 是用于检查 App Store 版本是否满足主要提交要求的命令行技能。它区分阻断问题与警告,并在预检通过时提供提交命令。

主要功能

  1. 01检查版本状态、构建、定价和审核信息
  2. 02区分阻断失败与警告
  3. 03返回就绪报告和提交操作指引
  4. 04列出检查失败的常见修复方法

适用场景

  1. 01提交 App Store 版本前进行检查
  2. 02在 CI 脚本中设置提交门槛

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/tddworks/asc-cli-skills --skill asc-check-readiness

安装后在 Claude Code 中输入/asc-check-readiness确认已加载。

详细介绍

asc versions check-readiness

提交 App Store 前的检查,用于汇总某个版本的所有提交要求。

命令

asc versions check-readiness --version-id <VERSION_ID> [--pretty]

运行 6 项 API 检查并返回 VersionReadiness 报告。

读取输出

顶层决策字段
"isReadyToSubmit": true  → safe to submit; affordances.submit is present
"isReadyToSubmit": false → one or more MUST FIX checks failed
检查严重程度
字段严重程度是否阻止 isReadyToSubmit?
stateCheck必须修复是 — 状态必须为 PREPARE_FOR_SUBMISSION
buildCheck必须修复是 — 必须关联构建版本,且构建版本有效、未过期
pricingCheck必须修复是 — 必须为 App 配置价格计划
reviewContactCheck建议修复否 — 仅发出警告,提交仍会继续
localizations[].pass建议修复否 — Apple 可能在提交后拒绝

就绪状态是预检查结果,不代表 Apple 的最终决定。 将版本添加到提交时,Apple 会运行更多检查,包括每种所需设备的截图尺寸(例如 iPad 12.9")、内容权利声明以及已发布的 App 隐私问答;check-readiness 无法检查这些内容。因此,即使 isReadyToSubmit: true,提交时仍可能被拒绝。发生这种情况时,asc versions submit / asc review-submissions items add 会逐行输出 Apple 拒绝的理由(Apple refused the review submission: … - <reason>);请将每条理由转达为需要修复的问题。参见 submit-with-products.md。

构建检查字段
"buildCheck": {
  "linked": true,
  "valid": true,
  "notExpired": true,
  "buildVersion": "2.1.0 (102)",
  "pass": true
}

pass = linked && valid && notExpired

CAEOAS — 使用方式

当 isReadyToSubmit == true 时,响应中会包含 affordances.submit:

"affordances": {
  "checkReadiness": "asc versions check-readiness --version-id v-123",
  "listLocalizations": "asc version-localizations list --version-id v-123",
  "submit": "asc versions submit --version-id v-123"
}

始终直接复制 affordances.submit — 切勿手动构造提交命令。 当 isReadyToSubmit == false 时,不会提供 affordances.submit。

典型工作流

# 1. Find the version in PREPARE_FOR_SUBMISSION
asc versions list --app-id <APP_ID> --output table

# 2. Check readiness (use checkReadiness affordance from step 1 output)
asc versions check-readiness --version-id <VERSION_ID> --pretty

# 3a. Ready → submit using affordances.submit value
asc versions submit --version-id <VERSION_ID>

# 3b. Not ready → diagnose and fix (see Fix Guide below)

修复指南

检查失败项修复方法
stateCheck 失败版本已上线或正在审核 — 使用 asc versions create 创建新版本
buildCheck.linked == false关联构建版本:asc versions set-build --version-id <id> --build-id <id>
buildCheck.valid == false构建版本仍在处理中 — 等待后重新检查,或上传新的构建版本
buildCheck.notExpired == false构建版本已过期 — 使用 asc builds upload 上传新的构建版本
pricingCheck 失败先运行 asc apps price-points list --app-id <id>,然后运行 asc apps prices set --app-id <id> --base-territory USA --price-point-id <id>(0.0 = 免费)
reviewContactCheck 失败asc version-review-detail update --version-id <id> --contact-email [email protected] --contact-phone "+1-555-0100"

CI 门禁脚本

#!/bin/bash
set -e
RESULT=$(asc versions check-readiness --version-id "$VERSION_ID")
IS_READY=$(echo "$RESULT" | jq -r '.data[0].isReadyToSubmit')

if [ "$IS_READY" = "true" ]; then
  eval "$(echo "$RESULT" | jq -r '.data[0].affordances.submit')"
else
  echo "NOT ready. Failing checks:"
  echo "$RESULT" | jq '.data[0] | {stateCheck, buildCheck, pricingCheck}'
  exit 1
fi

评论

支持 Markdown