asc-xcode-build

rudrankriyam/app-store-connect-cli-skills · updated Apr 8, 2026

$npx skills add https://github.com/rudrankriyam/app-store-connect-cli-skills --skill asc-xcode-build
0 commentsdiscussion
summary

Build and export iOS/macOS apps with xcodebuild for App Store Connect upload.

  • Handles both iOS (IPA) and macOS (PKG) builds through archive and export workflows with xcodebuild
  • Requires valid signing identity, provisioning profiles, and Xcode command line tools configured
  • Integrates with asc CLI for uploading builds; macOS uploads require explicit version and build number parameters
  • Build numbers must be unique and higher than previous uploads; includes commands to check existing
skill.md

Xcode Build and Export

Use this skill when you need to build an app from source and prepare it for upload to App Store Connect.

Preconditions

  • Xcode installed and command line tools configured
  • Valid signing identity and provisioning profiles (or automatic signing enabled)

Manage version and build numbers with asc

Before archiving, prefer asc xcode version ... over manual pbxproj edits when you need to inspect or bump app versions.

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

Notes:

  • Use --project-dir "./MyApp" when you are not running from the project root.
  • Use --target "App" for deterministic reads in multi-target projects.
  • These commands support both legacy agvtool projects and modern MARKETING_VERSION / CURRENT_PROJECT_VERSION setups.

iOS Build Flow

1. Clean and Archive

xcodebuild clean archive \
  -scheme "YourScheme" \
  -configuration Release \
  -archivePath /tmp/YourApp.xcarchive \
  -destination "generic/platform=iOS"

2. Export IPA

xcodebuild -exportArchive \
  -archivePath /tmp/YourApp.xcarchive \
  -exportPath /tmp/YourAppExport \
  -exportOptionsPlist ExportOptions.plist \
  -allowProvisioningUpdates

A minimal ExportOptions.plist for App Store distribution:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>method</key>
    <string>app-store-connect</string>
    <key>teamID</key>
    <string>YOUR_TEAM_ID</string>
</dict>
</plist>

3. Upload with asc

asc builds upload --app "APP_ID" --ipa "/tmp/YourAppExport/YourApp.ipa"

macOS Build Flow

1. Archive

xcodebuild archive \
  -scheme "YourMacScheme" \
  -configuration Release \
  -archivePath /tmp/YourMacApp.xcarchive \
  -destination "generic/platform=macOS"

2. Export PKG

xcodebuild -exportArchive \
  -archivePath /tmp/YourMacApp.xcarchive \
  -exportPath /tmp/YourMacAppExport \
  -exportOptionsPlist ExportOptions.plist \
  -allowProvisioningUpdates

3. Upload PKG with asc

macOS apps export as .pkg files. Upload with asc:

asc builds upload \
  --app "APP_ID" \
  --pkg "/tmp/YourMacAppExport/YourApp.pkg" \
  --version "1.0.0" \
  --build-number "123"

Notes:

  • --pkg automatically sets platform to MAC_OS.
  • For .pkg uploads, --version and --build-number are required (they are not auto-extracted like IPA uploads).
  • Add --wait if you want to wait for build processing to complete.

Build Number Management

Each upload requires a unique build number higher than previously uploaded builds.

In Xcode project settings:

  • CURRENT_PROJECT_VERSION - build number (e.g., "316")
  • MARKETING_VERSION - version string (e.g., "2.2.0")

Check existing builds:

asc builds list --app "APP_ID" --platform IOS --limit 5

Troubleshooting

"No profiles for bundle ID" during export

  • Add -allowProvisioningUpdates flag
  • Verify your Apple ID is logged into Xcode

Build rejected for missing icon (macOS)

macOS requires ICNS format icons with all sizes:

  • 16x16, 32x32, 128x128, 256x256, 512x512 (1x and 2x)

CFBundleVersion too low

The build number must be higher than any previously uploaded build. Increment it with asc xcode version bump --type build, or resolve a remote-safe number with asc builds next-build-number --app "APP_ID" --version "2.2.0" --platform IOS and then apply it with asc xcode version edit --build-number "NEXT_BUILD" before rebuilding.

Notes

  • Always clean before archive for release builds
  • Use xcodebuild -showBuildSettings to verify configuration
  • For submission issues (encryption, content rights), see asc-submission-health skill

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.858 reviews
  • Emma Park· Dec 20, 2024

    I recommend asc-xcode-build for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Zaid Khanna· Dec 8, 2024

    Registry listing for asc-xcode-build matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Liam Torres· Dec 8, 2024

    Keeps context tight: asc-xcode-build is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Chaitanya Patil· Dec 4, 2024

    I recommend asc-xcode-build for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Emma Liu· Nov 27, 2024

    asc-xcode-build reduced setup friction for our internal harness; good balance of opinion and flexibility.

  • Amina Liu· Nov 27, 2024

    asc-xcode-build is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.

  • Piyush G· Nov 23, 2024

    Solid pick for teams standardizing on skills: asc-xcode-build is focused, and the summary matches what you get after install.

  • James Okafor· Nov 11, 2024

    Solid pick for teams standardizing on skills: asc-xcode-build is focused, and the summary matches what you get after install.

  • Chen Chen· Oct 18, 2024

    We added asc-xcode-build from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Isabella Zhang· Oct 18, 2024

    Solid pick for teams standardizing on skills: asc-xcode-build is focused, and the summary matches what you get after install.

showing 1-10 of 58

1 / 6