Overview
The submission workflow handles:- Creating and managing App Store versions
- Attaching builds to versions
- Validating metadata requirements
- Submitting builds for review
- Monitoring review status
- Canceling submissions when needed
Prerequisites
Before submitting, ensure you have:- A processed build uploaded to App Store Connect
- App Store version created with required metadata
- All localizations configured with required fields
- Screenshots uploaded for at least one device type
- Privacy information and app review details completed
Submission Workflow
Verify localization metadata
The CLI automatically validates that required localization fields are present:Update version-specific metadata:
- Description
- Keywords
- What’s New text
- Marketing URL (if applicable)
Monitoring Submission Status
Check version state
View detailed version information:The version state indicates the current stage:
PREPARE_FOR_SUBMISSION: Metadata incompleteWAITING_FOR_REVIEW: Submitted, awaiting reviewIN_REVIEW: Currently being reviewedPENDING_DEVELOPER_RELEASE: Approved, awaiting your releaseREADY_FOR_SALE: Live on the App StoreREJECTED: Rejected by review team
Managing Submissions
Cancel a Submission
If you need to cancel a submission before review:You can only cancel submissions that are in
WAITING_FOR_REVIEW state. Once review begins, you cannot cancel.Resubmit After Changes
If you need to make changes after submitting:Complete Example: iOS App Submission
Here’s a complete workflow for submitting an iOS app:Preflight Validation
The CLI performs automatic preflight checks before submission:Localization Validation
Checks that all required fields are present for each localization:- Description
- Keywords
- What’s New text (for updates)
Fixing Validation Errors
Copy complete localization from one locale to another:Troubleshooting
”No app store version localizations found”
Problem: The version has no localizations configured. Solution: Add at least one localization:“Failed to attach build”
Problem: The build may not be compatible with the version or is still processing. Solution: Verify build status:- Has finished processing
- Matches the app ID
- Supports the correct platform
- Has passed automatic checks
”Stale review submission found”
Problem: A previous submission attempt left an orphaned submission. Solution: The CLI automatically cancels stale submissions. If you see this warning, it’s informational and the new submission will proceed.Submission Rejected
If your submission is rejected:- Check rejection details in App Store Connect web interface
- Address the issues mentioned in the rejection
- Upload a new build if code changes are needed, or just update metadata
- Resubmit:
Platform-Specific Considerations
macOS Apps
For macOS apps, specify theMAC_OS platform:
tvOS Apps
For tvOS apps, use theTV_OS platform:
visionOS Apps
For visionOS apps, use theVISION_OS platform:
Best Practices
-
Always use
--confirmflag: Prevents accidental submissions - Test with TestFlight first: Distribute to internal testers before submitting to the App Store
-
Validate metadata beforehand: Use
asc localizations listto verify all required fields are present - Monitor submission status: Check status regularly during the review process
- Keep builds ready: Have builds processed and ready before starting the submission workflow
- Use version IDs for automation: Version IDs are more reliable than version strings in scripts
- Handle stale submissions: The CLI automatically cleans up orphaned submissions, but verify in case of errors
Related Commands
- TestFlight Distribution - Test builds before App Store submission
- Metadata Management - Manage app metadata and localizations
- Screenshots - Upload App Store screenshots
- Build Management - Manage and monitor builds
