asc-submission-health
Original:🇺🇸 English
Not Translated
Preflight App Store submissions, submit builds, and monitor review status with asc. Use when shipping or troubleshooting review submissions.
4installs
Sourcerudrankriyam/asc-skills
Added on
NPX Install
npx skill4agent add rudrankriyam/asc-skills asc-submission-healthSKILL.md Content
ASC Submission Health
Use this skill to reduce review submission failures and monitor status.
Preconditions
- Auth configured and app/version/build IDs resolved.
- Build is processed (not in processing state).
- All required metadata is complete.
Pre-submission Checklist
1. Verify Build Status
bash
asc builds info --build "BUILD_ID"Check:
- is
processingStateVALID - - if
usesNonExemptEncryption, requires encryption declarationtrue
2. Encryption Compliance
If :
usesNonExemptEncryption: truebash
# 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"Better approach: Add to Info.plist and rebuild.
ITSAppUsesNonExemptEncryption = NO3. Content Rights Declaration
Required for all App Store submissions:
bash
# Check current status
asc apps get --id "APP_ID" --output json | jq '.data.attributes.contentRightsDeclaration'
# Set if missing
asc apps update --id "APP_ID" --content-rights "DOES_NOT_USE_THIRD_PARTY_CONTENT"Valid values:
DOES_NOT_USE_THIRD_PARTY_CONTENTUSES_THIRD_PARTY_CONTENT
4. Version Metadata
bash
# Check version details
asc versions get --version-id "VERSION_ID" --include-build
# Verify copyright is set
asc versions update --version-id "VERSION_ID" --copyright "2026 Your Company"5. Localizations Complete
bash
# List version localizations
asc localizations list --version "VERSION_ID"
# Check required fields: description, keywords, whatsNew, supportUrl6. Screenshots Present
Each locale needs screenshots for the target platform.
7. App Info Localizations (Privacy Policy)
bash
# List app info IDs (if multiple exist)
asc app-infos list --app "APP_ID"
# Check privacy policy URL
asc localizations list --app "APP_ID" --type app-info --app-info "APP_INFO_ID"Submit
Using Review Submissions API (Recommended)
bash
# 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" --confirmUsing Submit Command
bash
asc submit create --app "APP_ID" --version "1.2.3" --build "BUILD_ID" --confirmUse when multiple platforms exist.
--platformMonitor
bash
# 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" --paginateCancel / Retry
bash
# Cancel submission
asc submit cancel --id "SUBMISSION_ID" --confirm
# Or via review API
asc review submissions-cancel --id "SUBMISSION_ID" --confirmFix issues, then re-submit.
Common Submission Errors
"Version is not in valid state"
Check:
- Build is attached and VALID
- Encryption declaration approved (or exempt)
- Content rights declaration set
- All localizations complete
- Screenshots present for all locales
"Export compliance must be approved"
The build has . Either:
usesNonExemptEncryption: true- Upload export compliance documentation
- Or rebuild with in Info.plist
ITSAppUsesNonExemptEncryption = NO
"Multiple app infos found"
Use flag with the correct app info ID:
--app-infobash
asc app-infos list --app "APP_ID"Notes
- uses the new reviewSubmissions API automatically.
asc submit create - Use when you want human-readable status.
--output table - macOS submissions follow the same process but use .
--platform MAC_OS