Skip to main content
The validate command performs preflight validation to check if an App Store version is ready for submission.

Usage

asc validate [flags]

Validate a version

Check if a version is ready for submission:
asc validate --app APP_ID --version VERSION_STRING
asc validate --app 123456789 --version 1.2.0

What it checks

The validation process checks:
  • Version has a build attached
  • Required metadata is complete (description, keywords, screenshots)
  • Privacy policy URL is set (if required)
  • Age rating is configured
  • App categories are assigned
  • Pricing and availability are configured

Output

Success:
✓ Version 1.2.0 is ready for submission
Validation errors:
✗ Version 1.2.0 is not ready for submission:
  - No build attached to version
  - Missing screenshots for iPhone 6.5"
  - Description is empty for en-US

Flags

--app
string
required
App ID to validate
--version
string
required
Version string to validate (e.g., 1.2.0)
--output
string
Output format: json, table, or markdown

Example workflows

Validate before submission

# Validate version
if asc validate --app 123456789 --version 1.2.0; then
  echo "Version is ready, submitting..."
  asc submit --app 123456789 --version 1.2.0
else
  echo "Validation failed, fix issues before submitting"
  exit 1
fi

CI/CD validation

# GitHub Actions
- name: Validate version
  run: |
    asc validate --app ${{ secrets.APP_ID }} --version ${{ github.ref_name }}
    if [ $? -ne 0 ]; then
      echo "Validation failed"
      exit 1
    fi

- name: Submit for review
  run: asc submit --app ${{ secrets.APP_ID }} --version ${{ github.ref_name }}

Exit codes

CodeDescription
0Validation passed
1Validation failed
10-59HTTP client errors (4xx)
60-99HTTP server errors (5xx)
Always run validate before submit to catch issues early and avoid rejected submissions.

Submit command

Submit for App Store review

Submission guide

Complete submission guide