{"id":"5b56ed03-9ffe-4de5-aa7d-eb53eee3e0a3","shortId":"NsGpLJ","kind":"skill","title":"asc-xcode-build","tagline":"Build, archive, export, upload, and manage Xcode version/build numbers with the current asc xcode helpers before App Store Connect upload or submission. Use when creating an IPA or PKG for upload.","description":"# Xcode build and export\n\nUse 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.\n\n## Preconditions\n\n- Xcode and command line tools are installed.\n- Signing identity and provisioning profiles are available, or automatic signing is enabled.\n- App Store Connect auth is configured when upload or build lookup is needed.\n\n## Manage version and build numbers\n\n```bash\nasc xcode version view\nasc xcode version edit --version \"1.3.0\" --build-number \"42\"\nasc xcode version bump --type build\nasc xcode version bump --type patch\n```\n\nUse `--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.\n\nTo avoid low build-number rejects, resolve a remote-safe build number first:\n\n```bash\nasc builds next-build-number --app \"APP_ID\" --version \"1.2.3\" --platform IOS --output json\nasc xcode version edit --build-number \"NEXT_BUILD\"\n```\n\n## Preferred iOS/tvOS/visionOS build flow\n\n### 1. Archive with asc\n\n```bash\nasc xcode archive \\\n  --workspace \"App.xcworkspace\" \\\n  --scheme \"App\" \\\n  --configuration Release \\\n  --clean \\\n  --archive-path \".asc/artifacts/App.xcarchive\" \\\n  --xcodebuild-flag=-destination \\\n  --xcodebuild-flag=generic/platform=iOS \\\n  --output json\n```\n\nUse `--project \"App.xcodeproj\"` instead of `--workspace` for project-only apps.\n\n### 2. Export with asc\n\n```bash\nasc xcode export \\\n  --archive-path \".asc/artifacts/App.xcarchive\" \\\n  --export-options \"ExportOptions.plist\" \\\n  --ipa-path \".asc/artifacts/App.ipa\" \\\n  --xcodebuild-flag=-allowProvisioningUpdates \\\n  --output json\n```\n\nIf `ExportOptions.plist` uses direct App Store Connect upload, add `--wait` to poll for build discovery and processing:\n\n```bash\nasc xcode export \\\n  --archive-path \".asc/artifacts/App.xcarchive\" \\\n  --export-options \"UploadExportOptions.plist\" \\\n  --ipa-path \".asc/artifacts/App.ipa\" \\\n  --wait \\\n  --output json\n```\n\n### 3. Upload or publish\n\nUpload an exported IPA:\n\n```bash\nasc builds upload --app \"APP_ID\" --ipa \".asc/artifacts/App.ipa\" --wait\n```\n\nDistribute to TestFlight:\n\n```bash\nasc publish testflight --app \"APP_ID\" --ipa \".asc/artifacts/App.ipa\" --group \"GROUP_ID\" --wait\n```\n\nPublish to the App Store:\n\n```bash\nasc publish appstore --app \"APP_ID\" --ipa \".asc/artifacts/App.ipa\" --version \"1.2.3\" --wait\nasc publish appstore --app \"APP_ID\" --ipa \".asc/artifacts/App.ipa\" --version \"1.2.3\" --wait --submit --confirm\n```\n\n## macOS App Store flow\n\nArchive with the helper:\n\n```bash\nasc xcode archive \\\n  --project \"MacApp.xcodeproj\" \\\n  --scheme \"MacApp\" \\\n  --configuration Release \\\n  --clean \\\n  --archive-path \".asc/artifacts/MacApp.xcarchive\" \\\n  --xcodebuild-flag=-destination \\\n  --xcodebuild-flag=generic/platform=macOS \\\n  --output json\n```\n\nIf your macOS export produces a `.pkg`, use Xcode export with your `ExportOptions.plist`, then upload the package:\n\n```bash\nxcodebuild -exportArchive \\\n  -archivePath \".asc/artifacts/MacApp.xcarchive\" \\\n  -exportPath \".asc/artifacts/MacAppExport\" \\\n  -exportOptionsPlist \"ExportOptions.plist\" \\\n  -allowProvisioningUpdates\n\nasc builds upload \\\n  --app \"APP_ID\" \\\n  --pkg \".asc/artifacts/MacAppExport/MacApp.pkg\" \\\n  --version \"1.0.0\" \\\n  --build-number \"123\" \\\n  --wait\n```\n\nFor `.pkg` uploads, `--version` and `--build-number` are required because they are not auto-extracted like IPA metadata.\n\n## Raw xcodebuild fallback\n\nUse raw `xcodebuild` only when `asc xcode archive/export --help` does not cover a project-specific option. Prefer passing extra arguments through `--xcodebuild-flag` first.\n\n```bash\nxcodebuild -showBuildSettings -scheme \"App\"\n```\n\n## Troubleshooting\n\n### No profiles for bundle ID during export\n\n- Add `--xcodebuild-flag=-allowProvisioningUpdates` to `asc xcode export`.\n- Verify the Apple ID is logged into Xcode.\n- Verify profiles with the `asc-signing-setup` skill.\n\n### CFBundleVersion too low\n\n```bash\nasc builds next-build-number --app \"APP_ID\" --version \"1.2.3\" --platform IOS\nasc xcode version edit --build-number \"NEXT_BUILD\"\n```\n\nThen rebuild and upload again.\n\n### Build rejected for missing macOS icon\n\nmacOS requires ICNS icons with all required sizes. Fix the asset catalog, rebuild, then export/upload again.\n\n## Notes\n\n- Prefer `asc xcode archive` and `asc xcode export` for deterministic local artifacts.\n- Use `--overwrite` only when replacing existing local artifacts intentionally.\n- Use `--wait` on upload/publish paths when the next step depends on processed builds.\n- For submission readiness, use `asc-submission-health`.","tags":["asc","xcode","build","app","store","connect","cli","skills","rorkai","agent-skills","ai-skills","app-store-connect"],"capabilities":["skill","source-rorkai","skill-asc-xcode-build","topic-agent-skills","topic-ai-skills","topic-app-store-connect","topic-apple","topic-asc","topic-automation","topic-cicd","topic-cli","topic-devops","topic-ios","topic-macos","topic-testflight"],"categories":["app-store-connect-cli-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/rorkai/app-store-connect-cli-skills/asc-xcode-build","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add rorkai/app-store-connect-cli-skills","source_repo":"https://github.com/rorkai/app-store-connect-cli-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 801 github stars · SKILL.md body (4,735 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:53:27.823Z","embedding":null,"createdAt":"2026-04-18T21:56:57.589Z","updatedAt":"2026-05-18T18:53:27.823Z","lastSeenAt":"2026-05-18T18:53:27.823Z","tsv":"'/myapp':145 '/myapp/app.xcodeproj':155 '1':217 '1.0.0':454 '1.2.3':199,369,380,562 '1.3.0':124 '123':458 '2':258 '3':320 '42':128 'add':292,522 'allowprovisioningupd':281,444,526 'app':21,49,56,96,164,195,196,228,257,288,332,333,345,346,357,363,364,374,375,385,448,449,513,558,559 'app.xcodeproj':249 'app.xcworkspace':226 'appl':533 'appstor':362,373 'archiv':6,62,218,224,233,267,306,388,395,404,605 'archive-path':232,266,305,403 'archive/export':490 'archivepath':438 'argument':503 'artifact':613,621 'asc':2,17,60,64,115,119,129,135,189,204,220,222,261,263,302,329,342,360,371,393,445,488,528,544,552,565,603,607,641 'asc-signing-setup':543 'asc-submission-health':640 'asc-xcode-build':1 'asc/artifacts/app.ipa':277,316,336,349,367,378 'asc/artifacts/app.xcarchive':235,269,308 'asc/artifacts/macapp.xcarchive':406,439 'asc/artifacts/macappexport':441 'asc/artifacts/macappexport/macapp.pkg':452 'asset':595 'auth':99 'auto':475 'auto-extract':474 'automat':92 'avail':90 'avoid':174 'bash':114,188,221,262,301,328,341,359,392,435,509,551 'build':4,5,37,47,105,112,126,134,177,185,190,193,209,212,215,297,330,446,456,466,553,556,570,573,579,635 'build-numb':125,176,208,455,465,569 'bump':132,138 'bundl':518 'catalog':596 'cfbundlevers':548 'clean':231,402 'command':79 'configur':101,229,400 'confirm':383 'connect':23,58,98,290 'contain':159 'cover':494 'creat':29 'current':16 'depend':632 'destin':239,410 'determinist':166,611 'dir':144 'direct':287 'directori':158 'discoveri':298 'distribut':338 'edit':122,207,568 'enabl':95 'exist':619 'export':7,39,66,259,265,271,304,310,326,421,427,521,530,609 'export-opt':270,309 'export/upload':599 'exportarch':437 'exportoptions.plist':273,285,430,443 'exportoptionsplist':442 'exportpath':440 'extra':502 'extract':476 'fallback':482 'first':187,508 'fit':73 'fix':593 'flag':238,242,280,409,413,507,525 'flow':216,387 'generic/platform':243,414 'group':350,351 'health':643 'help':491 'helper':19,391 'icn':587 'icon':584,588 'id':197,334,347,352,365,376,450,519,534,560 'ident':85 'instal':83 'instead':250 'intent':622 'io':201,244,564 'ios/tvos/visionos':214 'ipa':31,275,314,327,335,348,366,377,478 'ipa-path':274,313 'json':203,246,283,319,417 'like':477 'line':80 'local':612,620 'log':536 'lookup':106 'low':175,550 'macapp':399 'macapp.xcodeproj':397 'maco':384,415,420,583,585 'manag':10,109 'metadata':479 'miss':582 'multi':170 'multi-target':169 'multipl':160 'need':45,108 'next':192,211,555,572,630 'next-build-numb':191,554 'note':601 'number':13,113,127,178,186,194,210,457,467,557,571 'option':272,311,499 'output':202,245,282,318,416 'overwrit':615 'packag':434 'pass':501 'patch':140 'path':234,268,276,307,315,405,627 'pkg':33,424,451,461 'platform':200,563 'poll':295 'precondit':76 'prefer':59,213,500,602 'prepar':53 'process':300,634 'produc':422 'profil':88,516,540 'project':75,143,151,154,161,172,248,255,396,497 'project-dir':142 'project-on':254 'project-specif':496 'provis':87 'publish':323,343,354,361,372 'raw':68,480,484 'read':167 'readi':638 'rebuild':575,597 'recip':70 'reject':179,580 'releas':230,401 'remot':183 'remote-saf':182 'replac':618 'requir':469,586,591 'resolv':180 'root':152 'run':148 'safe':184 'scheme':227,398,512 'setup':546 'showbuildset':511 'sign':84,93,545 'size':592 'skill':42,547 'skill-asc-xcode-build' 'sourc':51 'source-rorkai' 'specif':498 'step':631 'store':22,57,97,289,358,386 'submiss':26,637,642 'submit':382 'target':163,171 'testflight':340,344 'tool':81 'topic-agent-skills' 'topic-ai-skills' 'topic-app-store-connect' 'topic-apple' 'topic-asc' 'topic-automation' 'topic-cicd' 'topic-cli' 'topic-devops' 'topic-ios' 'topic-macos' 'topic-testflight' 'troubleshoot':514 'type':133,139 'upload':8,24,35,103,291,321,324,331,432,447,462,577 'upload/publish':626 'uploadexportoptions.plist':312 'use':27,40,141,153,162,247,286,425,483,614,623,639 'verifi':531,539 'version':110,117,121,123,131,137,198,206,368,379,453,463,561,567 'version/build':12 'view':118 'wait':293,317,337,353,370,381,459,624 'workspac':225,252 'xcode':3,11,18,36,61,65,77,116,120,130,136,205,223,264,303,394,426,489,529,538,566,604,608 'xcodebuild':69,237,241,279,408,412,436,481,485,506,510,524 'xcodebuild-flag':236,240,278,407,411,505,523","prices":[{"id":"1b4e6c8c-7abc-49b7-b580-78726508bcd9","listingId":"5b56ed03-9ffe-4de5-aa7d-eb53eee3e0a3","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"rorkai","category":"app-store-connect-cli-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:56:57.589Z"}],"sources":[{"listingId":"5b56ed03-9ffe-4de5-aa7d-eb53eee3e0a3","source":"github","sourceId":"rorkai/app-store-connect-cli-skills/asc-xcode-build","sourceUrl":"https://github.com/rorkai/app-store-connect-cli-skills/tree/main/skills/asc-xcode-build","isPrimary":false,"firstSeenAt":"2026-04-18T21:56:57.589Z","lastSeenAt":"2026-05-18T18:53:27.823Z"},{"listingId":"5b56ed03-9ffe-4de5-aa7d-eb53eee3e0a3","source":"skills_sh","sourceId":"rorkai/app-store-connect-cli-skills/asc-xcode-build","sourceUrl":"https://skills.sh/rorkai/app-store-connect-cli-skills/asc-xcode-build","isPrimary":true,"firstSeenAt":"2026-05-07T20:42:08.983Z","lastSeenAt":"2026-05-07T22:41:25.686Z"}],"details":{"listingId":"5b56ed03-9ffe-4de5-aa7d-eb53eee3e0a3","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"rorkai","slug":"asc-xcode-build","github":{"repo":"rorkai/app-store-connect-cli-skills","stars":801,"topics":["agent-skills","ai-skills","app-store-connect","apple","asc","automation","cicd","cli","devops","ios","macos","testflight","xcode"],"license":"mit","html_url":"https://github.com/rorkai/app-store-connect-cli-skills","pushed_at":"2026-05-03T17:28:47Z","description":"Skills to automate app store deployed and everything related to it using the asc cli","skill_md_sha":"fc6aeab07ae6c6ea71f2b4febb40352199f8473c","skill_md_path":"skills/asc-xcode-build/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/rorkai/app-store-connect-cli-skills/tree/main/skills/asc-xcode-build"},"layout":"multi","source":"github","category":"app-store-connect-cli-skills","frontmatter":{"name":"asc-xcode-build","description":"Build, archive, export, upload, and manage Xcode version/build numbers with the current asc xcode helpers before App Store Connect upload or submission. Use when creating an IPA or PKG for upload."},"skills_sh_url":"https://skills.sh/rorkai/app-store-connect-cli-skills/asc-xcode-build"},"updatedAt":"2026-05-18T18:53:27.823Z"}}