Unity iOS构建遇Xcode错误:Dummy.swift文件重复,求解决方案
Unity iOS构建报错:Dummy.swift重复引用的解决方法
根本原因
这个错误是因为Xcode项目中被添加了两份路径不同的Dummy.swift文件:一份在Libraries/Plugins/iOS/目录,另一份在构建根目录(路径中的//是解析时的冗余斜杠,实际指向构建根目录)。常见触发原因包括:
- Unity生成Xcode项目时的路径处理bug
- 自定义PostBuild脚本错误复制文件到构建根目录
- 第三方插件自带的
Dummy.swift未正确配置构建包含规则 - Unity的Swift桥接文件生成逻辑异常
解决方案
1. 手动清理Xcode项目中的重复文件
- 打开生成的Xcode项目,在左侧文件列表搜索
Dummy.swift - 找到根目录下的那份文件,右键选择Remove Reference(不要选移到废纸篓,避免误删Unity源文件)
- 保留
Libraries/Plugins/iOS/下的文件,重新构建
2. 检查Unity项目内的插件与构建脚本
- 打开Unity编辑器,进入
Assets/Libraries/Plugins/iOS,确认Dummy.swift仅存在于此 - 检查自定义的
PostProcessBuild脚本,排查是否有错误复制Dummy.swift到构建根目录的代码,修正或删除该逻辑 - 检查第三方插件:进入插件的iOS配置面板,确保
Platform设为iOS,且Include in Build仅对正确目录生效
3. 清理构建缓存与衍生数据
- 在Unity中,点击
File -> Build Settings -> iOS -> Clean Build,清理Unity构建缓存 - 打开Xcode,进入
Xcode -> Preferences -> Locations,找到Derived Data,打开文件夹后删除当前项目的衍生数据 - 回到Unity重新生成Xcode项目
4. 调整Unity iOS构建设置
- 进入
Player Settings -> iOS -> Other Settings,确认Scripting Backend为IL2CPP(若当前用Mono,可临时切换后重新构建) - 临时关闭Strip Engine Code选项,构建成功后再按需开启(避免代码剥离逻辑导致的文件复制异常)
5. 手动修改Xcode项目文件(极端情况)
- 找到生成的Xcode项目的
.pbxproj文件,用文本编辑器打开 - 搜索
Dummy.swift,删除根目录那份文件的所有相关条目(包括文件引用和编译阶段的配置) - 保存后重新打开Xcode构建
内容的提问来源于stack exchange,提问作者Arjun Mehta
相关产品推荐
相关产品推荐

