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. 01App Storeへのバージョン提出前の確認
  2. 02CIスクリプトでの提出判定

インストール

コマンドをコピーしてターミナルで実行します。

$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要修正はい — アプリに価格スケジュールが設定されている必要があります
reviewContactCheck修正推奨いいえ — 警告のみで、提出は続行されます
localizations[].pass修正推奨いいえ — Apple が提出後に却下する場合があります

準備状況チェックは事前チェックであり、Apple の判定ではありません。 バージョンを提出に追加すると、Apple はさらに多くの項目をチェックします。たとえば、必要な各デバイスのスクリーンショットサイズ(iPad 12.9" など)、コンテンツ権利の申告、公開済みの App Privacy の回答などです。これらは check-readiness では確認できません。そのため、isReadyToSubmit: true でも提出時に拒否される場合があります。その場合、asc versions submit / asc review-submissions items add は Apple の理由を 1 行ずつ出力します(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

コメント