install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/rudrankriyam/app-store-connect-cli-skills/asc-xcode-build" ~/.claude/skills/comeonoliver-skillshub-asc-xcode-build && rm -rf "$T"
manifest:
skills/rudrankriyam/app-store-connect-cli-skills/asc-xcode-build/SKILL.mdsource content
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)
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:
automatically sets platform to--pkg
.MAC_OS- For
uploads,.pkg
and--version
are required (they are not auto-extracted like IPA uploads).--build-number - Add
if you want to wait for build processing to complete.--wait
Build Number Management
Each upload requires a unique build number higher than previously uploaded builds.
In Xcode project settings:
- build number (e.g., "316")CURRENT_PROJECT_VERSION
- version string (e.g., "2.2.0")MARKETING_VERSION
Check existing builds:
asc builds list --app "APP_ID" --platform IOS --limit 5
Troubleshooting
"No profiles for bundle ID" during export
- Add
flag-allowProvisioningUpdates - 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
CURRENT_PROJECT_VERSION and rebuild.
Notes
- Always clean before archive for release builds
- Use
to verify configurationxcodebuild -showBuildSettings - For submission issues (encryption, content rights), see
skillasc-submission-health