SuperAPI AI 工具集

xcode-build-orchestrator

编程与开发

查看项目

更新于 10-15 18:31

技能介绍

用途:作为 Xcode 构建端到端优化的推荐优先入口。以开发者实际等待的墙钟构建时间为核心指标,每条建议都需说明对等待时间的预期影响。

两阶段工作流(以开发者评审分隔): 第一阶段分析(仅推荐,agent 模式):收集构建目标上下文(workspace/project、scheme、configuration、destination、痛点);运行 xcode-build-benchmark 建立基线;校验 timing_summary_categories 非空及缓存干净构建;做基准置信度检查(min-max 极差超中位数 20% 则判为高方差,建议增加 5+ 次重复)。判断编译任务是否在关键路径:各类别秒数之和达墙钟中位数 2 倍以上说明大体并行,编译热点修复难以缩短等待。必要时运行 diagnose_compilation.py 捕获类型检查热点。按证据运行 specialist 分析:xcode-compilation-analyzer、xcode-project-analyzer、spm-build-analysis,合并为优先级计划,用 generate_optimization_report.py 生成 .build-benchmark/optimization-plan.md,然后停下等待评审。 第二阶段执行与验证(批准后,agent 模式):读取计划中批准项,委托 xcode-build-fixer 实施、验证编译并重新基准测试,附上变更后中位数、绝对与百分比差异及置信度说明,报告前后结果与后续机会。

硬性规则:开始处于推荐模式;改动前先基准测试;未经开发者显式批准不得修改项目、源码、包或脚本;保留证据链;批准改动后重新基准测试并报告墙钟差。

优先级规则:先定位主要痛点(干净/增量)与墙钟中位数;找出真正阻塞项(串行类别如 PhaseScriptExecution、CompileAssetCatalog、CodeSign;增量构建中 Planning Swift module 或 SwiftEmitModule 主导多为失效或模块体积问题);按可能节省的墙钟时间排序,而非任务总量;除非有证据表明在关键路径,源码级修复不应高于项目/依赖图/配置修复;优先可测量、可回滚、低风险改动。

建议影响表述需从指定语句中选择(预期缩短约 X 秒/减少并行编译但不一定缩短等待/影响不确定需重测/无等待改善但带来确定性构建等好处);COMPILATION_CACHE_ENABLE_CACHING 的表述为实测干净构建快 5–14%。不得以累计任务时间节省作为头条影响。

批准门:实施前须给出建议名、预期等待影响、证据摘要、受影响文件或设置、风险等级(低/中/高),等待显式批准。

常用命令路径: python3 scripts/benchmark_builds.py --project App.xcodeproj --scheme MyApp --configuration Debug --destination "platform=iOS Simulator,name=iPhone 16" --output-dir .build-benchmark python3 scripts/diagnose_compilation.py --project App.xcodeproj --scheme MyApp --configuration Debug --destination "platform=iOS Simulator,name=iPhone 16" --threshold 100 --output-dir .build-benchmark python3 scripts/generate_optimization_report.py --benchmark .build-benchmark/<artifact>.json --project-path App.xcodeproj --diagnostics .build-benchmark/<diagnostics>.json --output .build-benchmark/optimization-plan.md

限制与说明:增量构建痛点且 Xcode 16.4+ 时可建议开启 Task Backtraces;worktree 中若 SPM 包 exclude 引用被 gitignore 的目录需先创建,否则 resolvePackageDependencies 会崩溃;构建失败时可查 git log 找可构建提交。收费、价格、平台支持范围等资料暂未提供。