name: asc-提交-健康 description: 预检 App Store 提交,使用 asc 提交构建并监控审查状态。在发布或故障排除审查提交时使用。
asc 提交健康
使用此技能来减少审查提交失败并监控状态。
前提条件
- 认证配置完成,应用/版本/构建 ID 已解析。
- 构建已处理(非处理中状态)。
- 所有必需的元数据已完整。
提交前检查清单
1. 验证构建状态
asc builds info --build "BUILD_ID"
检查:
processingState为VALIDusesNonExemptEncryption- 如果为true,需要加密声明
2. 加密合规
如果 usesNonExemptEncryption: true:
# 列出现有声明
asc encryption declarations list --app "APP_ID"
# 如果需要创建声明
asc encryption declarations create \
--app "APP_ID" \
--app-description "使用标准 HTTPS/TLS" \
--contains-proprietary-cryptography=false \
--contains-third-party-cryptography=true \
--available-on-french-store=true
# 分配到构建
asc encryption declarations assign-builds \
--id "DECLARATION_ID" \
--build "BUILD_ID"
更好方法: 在 Info.plist 中添加 ITSAppUsesNonExemptEncryption = NO 并重新构建。
3. 内容权利声明
所有 App Store 提交都需要:
# 检查当前状态
asc apps get --id "APP_ID" --output json | jq '.data.attributes.contentRightsDeclaration'
# 如果缺失则设置
asc apps update --id "APP_ID" --content-rights "DOES_NOT_USE_THIRD_PARTY_CONTENT"
有效值:
DOES_NOT_USE_THIRD_PARTY_CONTENTUSES_THIRD_PARTY_CONTENT
4. 版本元数据
# 检查版本详情
asc versions get --version-id "VERSION_ID" --include-build
# 验证版权设置
asc versions update --version-id "VERSION_ID" --copyright "2026 你的公司"
5. 本地化完整
# 列出版本本地化
asc localizations list --version "VERSION_ID"
# 检查必需字段:描述、关键词、新功能、支持网址
6. 截图存在
每个地区需要针对目标平台的截图。
7. 应用信息本地化(隐私政策)
# 列出应用信息 ID(如果有多个)
asc app-infos list --app "APP_ID"
# 检查隐私政策网址
asc localizations list --app "APP_ID" --type app-info --app-info "APP_INFO_ID"
提交
使用审查提交 API(推荐)
# 创建提交
asc review submissions-create --app "APP_ID" --platform IOS
# 将版本添加到提交
asc review items-add \
--submission "SUBMISSION_ID" \
--item-type appStoreVersions \
--item-id "VERSION_ID"
# 提交审查
asc review submissions-submit --id "SUBMISSION_ID" --confirm
使用提交命令
asc submit create --app "APP_ID" --version "1.2.3" --build "BUILD_ID" --confirm
当存在多个平台时使用 --platform。
监控
# 检查提交状态
asc submit status --id "SUBMISSION_ID"
asc submit status --version-id "VERSION_ID"
# 列出所有提交
asc review submissions-list --app "APP_ID" --paginate
取消 / 重试
# 取消提交
asc submit cancel --id "SUBMISSION_ID" --confirm
# 或通过审查 API
asc review submissions-cancel --id "SUBMISSION_ID" --confirm
修复问题后重新提交。
常见提交错误
“版本状态无效”
检查:
- 构建已附加且为 VALID
- 加密声明已批准(或豁免)
- 内容权利声明已设置
- 所有本地化完成
- 所有地区截图存在
“导出合规必须批准”
构建有 usesNonExemptEncryption: true。选择:
- 上传导出合规文档
- 或在 Info.plist 中设置
ITSAppUsesNonExemptEncryption = NO并重新构建
“找到多个应用信息”
使用正确的应用信息 ID 的 --app-info 标志:
asc app-infos list --app "APP_ID"
备注
asc submit create自动使用新的 reviewSubmissions API。- 需要人类可读状态时使用
--output table。 - macOS 提交遵循相同流程,但使用
--platform MAC_OS。