
Asc Xcode Build
Archive, export, bump version/build numbers, and prepare an IPA or PKG for App Store Connect upload using `asc xcode` instead of raw xcodebuild recipes.
Overview
asc-xcode-build is an agent skill for the Ship phase that builds, archives, exports, and versions Xcode apps for App Store Connect upload using `asc xcode` helpers.
Install
npx skills add https://github.com/rorkai/app-store-connect-cli-skills --skill asc-xcode-buildWhat is this skill?
- `asc xcode version view`, `edit`, and `bump` for version and build numbers with multi-project flags
- `asc builds next-build-number` lookup before `version edit` to avoid ASC rejections
- Preferred flow: `asc xcode archive` then `asc xcode export` over hand-rolled xcodebuild
- Preconditions: Xcode CLT, signing profiles or automatic signing, ASC auth when uploading
- Supports iOS, tvOS, and visionOS archive patterns from the asc helper CLI
Adoption & trust: 652 installs on skills.sh; 845 GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You have a signed Xcode project but raw xcodebuild steps and stale build numbers keep blocking IPA export or App Store Connect upload.
Who is it for?
Indie Apple developers automating release builds with the asc CLI who want one documented archive-and-export ritual.
Skip if: Android or cross-platform Flutter-only pipelines with no Xcode archive step, or greenfield projects without certificates and profiles configured.
When should I use this skill?
Use when creating an IPA or PKG for App Store Connect upload or submission and you want `asc xcode archive` and `asc xcode export` instead of ad-hoc xcodebuild.
What do I get? / Deliverables
You get an archive and exported IPA or PKG with ASC-safe version and build numbers ready for upload or submission.
- Xcode archive and exported IPA or PKG
- Updated marketing version and build number aligned with ASC `next-build-number` when used
Recommended Skills
Journey fit
Shipping a native Apple build is a Ship-phase gate right before store submission and TestFlight-style release. The skill targets IPA/PKG creation and ASC-aligned versioning—the launch-prep slice of Ship, not day-one growth marketing.
How it compares
Opinionated asc CLI workflow—not a substitute for fixing compile errors, store screenshots, or ASC metadata editing skills.
Common Questions / FAQ
Who is asc-xcode-build for?
Solo builders and small teams shipping native Apple apps who already use or plan to use the App Store Connect CLI (`asc`) for repeatable archives and exports.
When should I use asc-xcode-build?
In Ship when you need an IPA or PKG for upload, before TestFlight or App Store submission, after ASC auth and signing are in place.
Is asc-xcode-build safe to install?
It drives local Xcode builds and may touch signing assets—review the Security Audits panel on this page and avoid running archive/export against production signing keys on untrusted agents.
SKILL.md
READMESKILL.md - Asc Xcode Build
# Xcode build and export Use this skill when you need to build an app from source and prepare it for App Store Connect. Prefer `asc xcode archive` and `asc xcode export` over raw `xcodebuild` recipes when they fit the project. ## Preconditions - Xcode and command line tools are installed. - Signing identity and provisioning profiles are available, or automatic signing is enabled. - App Store Connect auth is configured when upload or build lookup is needed. ## Manage version and build numbers ```bash asc xcode version view asc xcode version edit --version "1.3.0" --build-number "42" asc xcode version bump --type build asc xcode version bump --type patch ``` Use `--project-dir "./MyApp"` when not running from the project root. Use `--project "./MyApp/App.xcodeproj"` when the directory contains multiple projects. Use `--target "App"` for deterministic reads in multi-target projects. To avoid low build-number rejects, resolve a remote-safe build number first: ```bash asc builds next-build-number --app "APP_ID" --version "1.2.3" --platform IOS --output json asc xcode version edit --build-number "NEXT_BUILD" ``` ## Preferred iOS/tvOS/visionOS build flow ### 1. Archive with asc ```bash asc xcode archive \ --workspace "App.xcworkspace" \ --scheme "App" \ --configuration Release \ --clean \ --archive-path ".asc/artifacts/App.xcarchive" \ --xcodebuild-flag=-destination \ --xcodebuild-flag=generic/platform=iOS \ --output json ``` Use `--project "App.xcodeproj"` instead of `--workspace` for project-only apps. ### 2. Export with asc ```bash asc xcode export \ --archive-path ".asc/artifacts/App.xcarchive" \ --export-options "ExportOptions.plist" \ --ipa-path ".asc/artifacts/App.ipa" \ --xcodebuild-flag=-allowProvisioningUpdates \ --output json ``` If `ExportOptions.plist` uses direct App Store Connect upload, add `--wait` to poll for build discovery and processing: ```bash asc xcode export \ --archive-path ".asc/artifacts/App.xcarchive" \ --export-options "UploadExportOptions.plist" \ --ipa-path ".asc/artifacts/App.ipa" \ --wait \ --output json ``` ### 3. Upload or publish Upload an exported IPA: ```bash asc builds upload --app "APP_ID" --ipa ".asc/artifacts/App.ipa" --wait ``` Distribute to TestFlight: ```bash asc publish testflight --app "APP_ID" --ipa ".asc/artifacts/App.ipa" --group "GROUP_ID" --wait ``` Publish to the App Store: ```bash asc publish appstore --app "APP_ID" --ipa ".asc/artifacts/App.ipa" --version "1.2.3" --wait asc publish appstore --app "APP_ID" --ipa ".asc/artifacts/App.ipa" --version "1.2.3" --wait --submit --confirm ``` ## macOS App Store flow Archive with the helper: ```bash asc xcode archive \ --project "MacApp.xcodeproj" \ --scheme "MacApp" \ --configuration Release \ --clean \ --archive-path ".asc/artifacts/MacApp.xcarchive" \ --xcodebuild-flag=-destination \ --xcodebuild-flag=generic/platform=macOS \ --output json ``` If your macOS export produces a `.pkg`, use Xcode export with your `ExportOptions.plist`, then upload the package: ```bash xcodebuild -exportArchive \ -archivePath ".asc/artifacts/MacApp.xcarchive" \ -exportPath ".asc/artifacts/MacAppExport" \ -exportOptionsPlist "ExportOptions.plist" \ -allowProvisioningUpdates asc builds upload \ --app "APP_ID" \ --pkg ".asc/artifacts/MacAppExport/MacApp.pkg" \ --version "1.0.0" \ --build-number "123" \ --wait ``` For `.pkg` uploads, `--version` and `--build-number` are required because they are not auto-extracted like IPA metadata. ## Raw xcodebuild fallback Use raw `xcodebuild` only when `asc xcode archive/export --help` does not cover a project-specific option. Prefer passing extra arguments through `--xcodebuild-flag` fir