SuperAPI AI 工具集

asc-xcode-build

部署与运维

查看项目

更新于 10-16 09:52

技能介绍

用途:在需要从源码构建应用并准备提交 App Store Connect 时使用本技能,优先用 asc xcode archive 与 asc xcode export 取代原始 xcodebuild 配方。

前提:已安装 Xcode 与命令行工具;具备签名身份与描述文件,或启用自动签名;涉及上传或查询构建时需配置 App Store Connect 认证。Linux 上的 xtool 预处理包应改用 portable iOS builds。

版本与构建号管理:asc xcode version view;asc xcode version edit --version "1.3.0" --build-number "42";asc xcode version edit --next-build-number --app "APP_ID" --platform IOS;asc xcode version bump --type build。非项目根目录用 --project-dir,多项目用 --project,多目标/多配置用 --target 与 --configuration。版本写入前会校验改动,并保留无关工程内容;设置无法解析时默认回退 xcodebuild -showBuildSettings,自动化中可用 --xcodebuild-settings-lookup never 禁止隐式启动 Xcode。

编译(不归档):asc xcode build --project "App.xcodeproj" --scheme "App" --destination "platform=iOS Simulator,name=iPhone 17 Pro Max,OS=27.0" --no-code-signing。日志到 stderr,结构化结果到 stdout。

iOS/tvOS/visionOS 首选流程:先用 asc xcode archive 归档(可加 --clean、--archive-path 与 --xcodebuild-flag=-destination 等);再用 asc xcode export 导出,默认生成自动签名的导出选项并本地导出,加 --wait 则直传上传。可单独生成 plist:asc xcode export-options generate。注册设备安装 IPA 用 --method release-testing(旧 ad-hoc 写法已弃用),且该方式始终本地导出、不能与 --wait 同用;显式 --export-options 不能与 --method、--signing-style、--team-id 同用。

上传与发布:asc builds upload --app "APP_ID" --ipa ... --wait;asc publish testflight 发布到 TestFlight;asc publish appstore 发布到 App Store。

macOS 流程:用 asc xcode archive 加 generic/platform=macOS 归档,导出 PKG 后用 asc builds upload --pkg 上传,此时 --version 与 --build-number 必填。

回退:仅当 archive/export 帮助未覆盖项目特定选项时才用原始 xcodebuild,优先通过 --xcodebuild-flag 传递额外参数。

限制与排错:无描述文件时加 --xcodebuild-flag=-allowProvisioningUpdates;CFBundleVersion 过低用 version edit --next-build-number 修复后重传;macOS 缺图标需补齐所需尺寸 ICNS。仅在意料替换本地产物时用 --overwrite;提交就绪检查用 asc-submission-health。