Loading...
Loading...
Preflight App Store submissions, submit builds, and monitor review status with asc. Use when shipping or troubleshooting review submissions.
npx skill4agent add rorkai/app-store-connect-cli-skills asc-submission-healthasc builds info --build-id "BUILD_ID"processingStateVALIDusesNonExemptEncryptiontrueusesNonExemptEncryption: true# If the app should be exempt, patch the local plist helper, rebuild, and re-upload
asc encryption declarations exempt-declare --plist "./Info.plist"
# List existing declarations
asc encryption declarations list --app "APP_ID"
# Create declaration if needed
asc encryption declarations create \
--app "APP_ID" \
--app-description "Uses standard HTTPS/TLS" \
--contains-proprietary-cryptography=false \
--contains-third-party-cryptography=true \
--available-on-french-store=true
# Assign to build
asc encryption declarations assign-builds \
--id "DECLARATION_ID" \
--build "BUILD_ID"asc encryption declarations exempt-declare --plist "./Info.plist"# Check current status
asc apps content-rights view --app "APP_ID"
# Set it for most apps
asc apps content-rights edit --app "APP_ID" --uses-third-party-content=falseDOES_NOT_USE_THIRD_PARTY_CONTENTUSES_THIRD_PARTY_CONTENT# Check version details
asc versions view --version-id "VERSION_ID" --include-build
# Verify copyright is set
asc versions update --version-id "VERSION_ID" --copyright "2026 Your Company"# List version localizations
asc localizations list --version "VERSION_ID"
# Check required fields: description, keywords, whatsNew, supportUrl# List app info IDs (if multiple exist)
asc apps info list --app "APP_ID"
# Check privacy policy URL
asc localizations list --app "APP_ID" --type app-info --app-info "APP_INFO_ID"ascasc submit preflight --app "APP_ID" --version "1.2.3" --platform IOS
asc validate --app "APP_ID" --version "1.2.3" --platform IOSasc submit preflightVERSION_IDasc web privacy pull --app "APP_ID" --out "./privacy.json"
asc web privacy plan --app "APP_ID" --file "./privacy.json"
asc web privacy apply --app "APP_ID" --file "./privacy.json"
asc web privacy publish --app "APP_ID" --confirmasc web privacy ...https://appstoreconnect.apple.com/apps/APP_ID/appPrivacyasc validate iap --app "APP_ID" --output table
asc validate subscriptions --app "APP_ID" --output tableasc validate subscriptionsMISSING_METADATA--output json --pretty# Create submission
asc review submissions-create --app "APP_ID" --platform IOS
# Add version to submission
asc review items-add \
--submission "SUBMISSION_ID" \
--item-type appStoreVersions \
--item-id "VERSION_ID"
# Submit for review
asc review submissions-submit --id "SUBMISSION_ID" --confirmasc submit preflight --app "APP_ID" --version "1.2.3" --platform IOS
asc submit create --app "APP_ID" --version "1.2.3" --build "BUILD_ID" --confirm--platform# Check submission status
asc submit status --id "SUBMISSION_ID"
asc submit status --version-id "VERSION_ID"
# List all submissions
asc review submissions-list --app "APP_ID" --paginate# Cancel submission
asc submit cancel --id "SUBMISSION_ID" --confirm
# Or via review API
asc review submissions-cancel --id "SUBMISSION_ID" --confirmusesNonExemptEncryption: trueITSAppUsesNonExemptEncryption = NO--app-infoasc apps info list --app "APP_ID"asc submit createasc submit preflightasc apps content-rights view/editasc validate subscriptionsMISSING_METADATAasc web privacy pull|plan|apply|publish--output table--platform MAC_OS