You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

XCBCore MacroEvaluationProgram.executeInContext崩溃(大量Swift包场景)求助

背景

我们公司拥有超60万行代码的大型代码库,项目基于XcodeProj,仅以Swift Package Manager(SPM)作为核心包管理工具。目前正推进单体代码模块化,将功能/模块迁移至独立本地Swift Package,为Contract、Implementation、Mock分别创建专属本地包。

现有194个Contract包、194个Implementation包、不超过194个Mock包,总计近582个本地Swift Package。POC阶段发现,单类别单包模式更易维护,因单包多目标会产生模糊编译信息,需手动逐个构建排查问题。

问题

当新增包并关联至主XcodeProj的Unit Test Target时,出现XcodeBuild崩溃,具体为XCBCore MacroEvaluationProgram.executeInContext错误,完整崩溃日志已留存。

Xcode报错如下:

Showing All Messages
unexpected service error: The Xcode build system has crashed. Build again to continue.

Internal inconsistency error: never received task ended message for task ID '3' with rule info 'CreateBuildDescription'. Build again to continue.

主项目可正常在模拟器/设备构建运行,但Unit Test Target构建必崩溃,该问题在Xcode 15.2、15.3版本均存在。

尝试清理UnitTest Target、移除关联包、更新构建配置可临时解决,但很快又因包数量触及上限复发。调试及查阅文档后,未找到可链接包数量限制的说明,也无XCBCore在0x102a4d634 MacroEvaluationProgram.executeInContext(_:withResultBuilder:alwaysEvalAsString:) + 1220行崩溃的相关案例,从日志推测XCBCore陷入递归循环后崩溃。

恳请提供解决建议、排查方向、相关文档或构建设置调整方案。我们拟采取的方案为:将单体项目全量迁移至Swift Package后关联至XcodeProj;合并多包为单包多目标以减少包数量,但这些方案工作量极大,会严重影响交付及流水线运行,故求助寻找根源及低成本解决方案。

内容的提问来源于stack exchange,提问作者Serj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 05:43:19