
Asc Xcode Build
Archive and export an iOS/tvOS/visionOS app with asc xcode helpers and align version/build numbers before App Store Connect upload.
Overview
asc-xcode-build is an agent skill for the Ship phase that builds, archives, exports, and versions Xcode apps with `asc xcode` before App Store Connect upload.
Install
npx skills add https://github.com/rudrankriyam/app-store-connect-cli-skills --skill asc-xcode-buildWhat is this skill?
- Prefers `asc xcode archive` and `asc xcode export` over hand-rolled xcodebuild recipes
- Version and build management: view, edit, bump patch/build via asc xcode version
- Remote-safe build numbers with `asc builds next-build-number` to avoid low build rejects
- Supports `--project-dir`, `--project`, and `--target` for multi-project workspaces
- Documents preconditions: Xcode CLT, signing, and ASC auth when upload or lookup is needed
- Uses asc xcode archive and asc xcode export as the preferred build path
- Documents asc builds next-build-number for remote-safe iOS build integers
Adoption & trust: 2.4k 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 need a store-ready archive and a build number that App Store Connect will accept without manual ASC clicking.
Who is it for?
Indie mobile devs already using asc CLI for App Store Connect who want agent-guided archive/export and build-number sync.
Skip if: Android/Gradle-only projects, apps without Xcode installed, or teams that only distribute outside the App Store with no IPA export need.
When should I use this skill?
Build, archive, export, upload prep, or manage Xcode version/build numbers with asc xcode helpers; use when creating an IPA or PKG for upload.
What do I get? / Deliverables
You get archived and exported binaries with aligned version/build metadata, ready for asc upload or submission skills in your pipeline.
- Archived Xcode build via asc xcode archive
- Exported IPA or PKG suitable for App Store Connect upload
- Updated marketing version and build number in the project
Recommended Skills
Journey fit
IPA/PKG creation and build-number hygiene sit on the critical path to submission—Ship is where you turn Xcode source into store-ready artifacts. Launch subphase covers App Store Connect upload prep, versioning, and export—the steps immediately before or during submission.
How it compares
Opinionated asc xcode workflow—not a substitute for full CI on Xcode Cloud unless you wrap these commands in your pipeline.
Common Questions / FAQ
Who is asc-xcode-build for?
Solo builders shipping iOS, tvOS, or visionOS apps who use the asc App Store Connect CLI and want their agent to run archive, export, and version commands correctly.
When should I use asc-xcode-build?
Use in Ship/launch when creating an IPA or PKG for upload, after feature work in Build and before distribution-focused Launch SEO or ASO work on the same app.
Is asc-xcode-build safe to install?
It runs local shell commands against your Xcode project and may call App Store Connect APIs; check the Security Audits panel on this page and protect ASC credentials and signing assets.
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