Agent Skillsmalpern/VoxClaw › asc-xcode-build

asc-xcode-build

GitHub

用于管理 Xcode 版本构建号、执行 iOS/macOS 应用归档、导出 IPA/PKG 包并通过 asc 工具上传至 App Store Connect 的自动化技能。

.claude/commands/asc-xcode-build/SKILL.md malpern/VoxClaw

Trigger Scenarios

需要构建 iOS 或 macOS 应用包 需要更新应用版本号或构建号 需要将编译产物上传到 App Store Connect

Install

npx skills add malpern/VoxClaw --skill asc-xcode-build -g -y
More Options

Non-standard path

npx skills add https://github.com/malpern/VoxClaw/tree/main/.claude/commands/asc-xcode-build -g -y

Use without installing

npx skills use malpern/VoxClaw@asc-xcode-build

指定 Agent (Claude Code)

npx skills add malpern/VoxClaw --skill asc-xcode-build -a claude-code -g -y

安装 repo 全部 skill

npx skills add malpern/VoxClaw --all -g -y

预览 repo 内 skill

npx skills add malpern/VoxClaw --list

SKILL.md

Frontmatter
{
    "name": "asc-xcode-build",
    "description": "Build, archive, export, and manage Xcode version\/build numbers with asc and xcodebuild before uploading to App Store Connect. Use when you need to create an IPA or PKG for upload."
}

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

Version History

  • 0a1cb0f Current 2026-08-20 08:03

Same Skill Collection

.claude/commands/asc-app-create-ui/SKILL.md
.claude/commands/asc-aso-audit/SKILL.md
.claude/commands/asc-build-lifecycle/SKILL.md
.claude/commands/asc-cli-usage/SKILL.md
.claude/commands/asc-crash-triage/SKILL.md
.claude/commands/asc-id-resolver/SKILL.md
.claude/commands/asc-localize-metadata/SKILL.md
.claude/commands/asc-metadata-sync/SKILL.md
.claude/commands/asc-notarization/SKILL.md
.claude/commands/asc-ppp-pricing/SKILL.md
.claude/commands/asc-release-flow/SKILL.md
.claude/commands/asc-revenuecat-catalog-sync/SKILL.md
.claude/commands/asc-screenshot-resize/SKILL.md
.claude/commands/asc-shots-pipeline/SKILL.md
.claude/commands/asc-signing-setup/SKILL.md
.claude/commands/asc-submission-health/SKILL.md
.claude/commands/asc-subscription-localization/SKILL.md
.claude/commands/asc-testflight-orchestration/SKILL.md
.claude/commands/asc-wall-submit/SKILL.md
.claude/commands/asc-whats-new-writer/SKILL.md
.claude/commands/asc-workflow/SKILL.md
.claude/commands/building-apple-platform-products/SKILL.md
plugins/voxclaw/skills/voxclaw-read-task-summary/SKILL.md
plugins/voxclaw/skills/voxclaw-read-test-failures/SKILL.md
plugins/voxclaw/skills/voxclaw/SKILL.md
SKILL.md

Metadata

Files
0
Version
0a1cb0f
Hash
9854797f
Indexed
2026-08-20 08:03

Accueil - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-27 12:48
浙ICP备14020137号-1 $Carte des visiteurs$