Skip to main content
The publish command provides high-level workflows for publishing apps to TestFlight or the App Store.

Usage

asc publish <workflow> [flags]

Workflows

TestFlight workflow

Upload and distribute to TestFlight:
asc publish testflight \
  --app APP_ID \
  --file /path/to/MyApp.ipa \
  --groups "External Testers"
This workflow:
  1. Uploads the build
  2. Waits for processing
  3. Distributes to specified beta groups

App Store workflow

Submit to App Store:
asc publish appstore \
  --app APP_ID \
  --version 1.2.0 \
  --file /path/to/MyApp.ipa
This workflow:
  1. Uploads the build
  2. Waits for processing
  3. Attaches build to version
  4. Validates version
  5. Submits for review

TestFlight flags

--app
string
required
App ID for the build
--file
string
required
Path to IPA file
--groups
string
Comma-separated beta group names or IDsExample: "External Testers,Internal Team"
--wait
boolean
Wait for build processing to completeDefault: true

App Store flags

--app
string
required
App ID for the version
--version
string
required
Version string (e.g., 1.2.0)
--file
string
required
Path to IPA file
--auto-release
boolean
Automatically release after approvalDefault: false

Example workflows

Publish to TestFlight

asc publish testflight \
  --app 123456789 \
  --file build/MyApp.ipa \
  --groups "External Testers,Beta Team"

Publish to App Store

asc publish appstore \
  --app 123456789 \
  --version 1.2.0 \
  --file build/MyApp.ipa \
  --auto-release

CI/CD integration

# GitHub Actions
- name: Publish to TestFlight
  run: |
    asc publish testflight \
      --app ${{ secrets.APP_ID }} \
      --file MyApp.ipa \
      --groups "External Testers"

Output

✓ Uploading build...
✓ Build uploaded successfully
✓ Waiting for processing...
✓ Build processed (VALID)
✓ Distributing to beta groups...
✓ Build distributed to External Testers

Publish complete!
Build ID: build-id-here

Error handling

If any step fails, the workflow stops and reports the error:
✗ Upload failed: Invalid IPA file
You can retry individual steps using the lower-level commands:
asc builds upload --app 123456789 --file MyApp.ipa
asc builds add-groups --build BUILD_ID --group "External Testers"

Builds command

Manage builds and uploads

Submit command

Submit for App Store review

Automation guide

Workflow automation patterns