asc-xcode-build

📁 rudrankriyam/app-store-connect-cli-skills 📅 11 days ago
145
总安装量
152
周安装量
#1720
全站排名
安装命令
npx skills add https://github.com/rudrankriyam/app-store-connect-cli-skills --skill asc-xcode-build

Agent 安装分布

codex 141
opencode 135
gemini-cli 133
claude-code 118
kimi-cli 96

Skill 文档

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

macOS apps export as .pkg files. Use xcrun altool:

xcrun altool --upload-app \
  -f "/tmp/YourMacAppExport/YourApp.pkg" \
  --type macos \
  --apiKey "$ASC_KEY_ID" \
  --apiIssuer "$ASC_ISSUER_ID"

Note: The API key file must be in ~/.appstoreconnect/private_keys/AuthKey_<KEY_ID>.p8

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:

  • 16×16, 32×32, 128×128, 256×256, 512×512 (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 xcodebuild -showBuildSettings to verify configuration
  • For submission issues (encryption, content rights), see asc-submission-health skill