mcpField
A
asc-builds-upload

asc-builds-upload

github.com/tddworksクラウド・DevOps587 回インストール5 週間前に更新
リポジトリ

asc-builds-upload について

asc-builds-uploadは、`asc`コマンドラインでApp Store Connectにビルドをアップロードし、配布を管理するスキルです。アップロード状況の確認、TestFlightベータグループの操作、コンプライアンス回答、バージョンとの関連付けに対応します。

主な機能

  1. 01IPAまたはPKGビルドのアップロード
  2. 02アップロードの確認・一覧表示・削除
  3. 03ベータグループへのビルド追加・削除
  4. 04暗号化コンプライアンス回答の設定
  5. 05ビルドとアプリバージョンの関連付け

活用シーン

  1. 01ビルドをアップロードして処理完了を待つ
  2. 02TestFlightベータグループへのビルド配布
  3. 03暗号化コンプライアンスの未回答を解消
  4. 04App Store審査に向けたバージョンの準備

インストール

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

$npx skills add https://github.com/tddworks/asc-cli-skills --skill asc-builds-upload

インストール後、Claude Code で/asc-builds-uploadを入力して読み込まれたか確認します。

同梱ファイルreferences/workflow.md

詳細

asc ビルドのアップロード

App Store Connect 経由でビルドをアップロードして配布します。エンドツーエンドのフローとエラー処理の全体については、workflow.md を参照してください。

コマンド

ビルドをアップロード
asc builds upload \
  --app-id <APP_ID> \
  --file MyApp.ipa \
  --version 1.0.0 \
  --build-number 42 \
  [--platform ios|macos|tvos|visionos]  # auto-detected from extension
  [--wait]                               # poll until processing completes

プラットフォームは自動検出されます:.pkg → macos、それ以外 → ios。

ステータスを確認
asc builds uploads get --upload-id <UPLOAD_ID>
asc builds uploads list --app-id <APP_ID>
asc builds uploads delete --upload-id <UPLOAD_ID>
TestFlight で配布
# Add build to a beta group
asc builds add-beta-group --build-id <BUILD_ID> --beta-group-id <GROUP_ID>

# Remove build from a beta group
asc builds remove-beta-group --build-id <BUILD_ID> --beta-group-id <GROUP_ID>

# Set "What's New" notes (creates or updates the localization)
asc builds update-beta-notes \
  --build-id <BUILD_ID> \
  --locale en-US \
  --notes "Bug fixes and improvements."
輸出コンプライアンスの回答(ITSAppUsesNonExemptEncryption)

Info.plist に ITSAppUsesNonExemptEncryption を含めずに IPA をアップロードすると、ASC はビルドを「Missing Compliance」としてマークし、TestFlight の外部テストがブロックされます。アップロード後に回答を設定します:

asc builds set-encryption-compliance --build-id <BUILD_ID> --uses-non-exempt-encryption true|false
  • false — 適用除外(HTTPS/TLS のみ、Apple のデフォルトの暗号化などを使用するほとんどのアプリ)。
  • true — 適用除外ではない暗号化を使用 — AppEncryptionDeclaration も必要です(現時点では App Store Connect の Web UI からのみ管理できます)。

コンプライアンス未対応の状態にあるビルドには、次の操作が表示されます:

{
  "id": "build-1",
  "affordances": {
    "setEncryptionCompliance": "asc builds set-encryption-compliance --build-id build-1 --uses-non-exempt-encryption <true|false>"
  }
}

回答を設定すると、この操作は表示されなくなります(Build の usesNonExemptEncryption が nil ではなくなります)。

ビルドをバージョンにリンク
asc versions set-build --version-id <VERSION_ID> --build-id <BUILD_ID>

App Store の審査にバージョンを提出する前に必要です。

App ID を解決

project-context.md を参照してください。ユーザーに尋ねたり、asc apps list を実行したりする前に、.asc/project.json を確認してください。

一般的なワークフロー

APP_ID=$(cat .asc/project.json 2>/dev/null | jq -r '.appId // empty')
# If empty: ask user or run `asc apps list | jq -r '.data[0].id'`

# 1. Get the next build number automatically
BUILD_NUMBER=$(asc builds next-number --app-id "$APP_ID" --version 1.2.0 --platform ios)

# 2. Upload and wait
asc builds upload --app-id "$APP_ID" --file MyApp.ipa \
  --version 1.2.0 --build-number "$BUILD_NUMBER" --wait

# 3. Get the processed build ID
BUILD_ID=$(asc builds list --app-id $APP_ID | jq -r '.data[0].id')

# 4. Distribute to beta group
asc builds add-beta-group --build-id $BUILD_ID --beta-group-id $GROUP_ID

# 5. Set notes
asc builds update-beta-notes --build-id $BUILD_ID --locale en-US --notes "..."

# 5b. Answer export compliance if Info.plist didn't carry ITSAppUsesNonExemptEncryption
asc builds set-encryption-compliance --build-id $BUILD_ID --uses-non-exempt-encryption false

# 6. Link to version and submit
asc versions set-build --version-id $VERSION_ID --build-id $BUILD_ID
asc versions submit --version-id $VERSION_ID

CAEOAS の操作

アップロードの応答には、すぐに実行できる後続コマンドを含む affordances が含まれます:

{
  "data": [{
    "affordances": {
      "checkStatus": "asc builds uploads get --upload-id abc123",
      "listBuilds": "asc builds list --app-id 123456789"
    },
    "state": "COMPLETE"
  }]
}

listBuilds は state == "COMPLETE" の場合にのみ表示されます。ID を覚えなくても操作を進められるよう、これらの操作を利用してください。

リファレンス

以下については、workflow.md を参照してください。

  • 5 ステップのアップロード API フローの詳細
  • ビルドのアップロード状態とポーリングのロジック
  • エラーの状況とトラブルシューティング

コメント