Xcode 13.4.1-14.1中Target.swift循环依赖构建失败求助
解决Xcode中Target.swift的代码签名循环依赖构建错误
错误概述
上传代码到GitHub后,Xcode新构建系统下出现循环依赖错误,提示Target.swift内部存在循环;构建可能产生不可靠结果,循环点指向代码签名环节(_CodeSignature目录),调整构建阶段顺序、常规Header阶段方案均无效。
排查与解决步骤
检查构建阶段的文件/脚本依赖
进入目标的Build Phases,逐一查看Copy Files、Run Script等自定义阶段:- 确认没有将
$(BUILT_PRODUCTS_DIR)/$(PRODUCT_NAME).app/_CodeSignature作为输入或输出路径的配置; - 检查Run Script脚本是否在代码签名后修改了.app包内容,导致触发重新签名的循环。
- 确认没有将
清理构建缓存并重置项目配置
- 执行快捷键
Cmd + Shift + K清理项目,再用Cmd + Option + Shift + K清理DerivedData; - 关闭Xcode,删除项目根目录下的
xcuserdata文件夹,重新打开项目; - 临时切换到旧构建系统验证:在项目设置的
Build Settings中搜索Build System,改为Legacy Build System后重新构建。若错误消失,说明是新构建系统的依赖解析问题,切回新系统后重点排查自定义构建脚本或依赖配置。
- 执行快捷键
检查代码签名与第三方依赖配置
- 查看Target的
Build Settings中CODE_SIGN_*系列配置,确认没有自定义签名路径或脚本导致的循环; - 若使用CocoaPods,执行
pod deintegrate卸载依赖,再pod install重新安装,排查是否有Pod脚本冲突。
- 查看Target的
验证目标依赖关系
进入Build Phases的Target Dependencies,确认当前目标没有依赖自身;同时检查其他目标是否依赖当前目标的.app产物,而当前目标又间接依赖该目标形成循环。
内容的提问来源于stack exchange,提问作者William Larsen
相关产品推荐
相关产品推荐

