AppStore提交健康检查Skill asc-submission-health

此技能用于预检 App Store 提交、提交构建和监控审查状态,帮助减少提交失败、优化流程和提高效率。关键词:App Store 提交、预检、构建管理、审查状态监控、故障排除、移动开发、iOS 应用、应用商店审查。

移动开发 0 次安装 0 次浏览 更新于 3/13/2026

name: asc-提交-健康 description: 预检 App Store 提交,使用 asc 提交构建并监控审查状态。在发布或故障排除审查提交时使用。

asc 提交健康

使用此技能来减少审查提交失败并监控状态。

前提条件

  • 认证配置完成,应用/版本/构建 ID 已解析。
  • 构建已处理(非处理中状态)。
  • 所有必需的元数据已完整。

提交前检查清单

1. 验证构建状态

asc builds info --build "BUILD_ID"

检查:

  • processingStateVALID
  • usesNonExemptEncryption - 如果为 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_CONTENT
  • USES_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

修复问题后重新提交。

常见提交错误

“版本状态无效”

检查:

  1. 构建已附加且为 VALID
  2. 加密声明已批准(或豁免)
  3. 内容权利声明已设置
  4. 所有本地化完成
  5. 所有地区截图存在

“导出合规必须批准”

构建有 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