删除Objective-C桥接文件后Swift项目编译报错,求助解决方案
解决删除Objective-C桥接文件后Xcode仍编译报错的问题
这种情况我之前也踩过坑——Xcode经常会在项目配置里留下隐藏的桥接文件引用,光删文件、清缓存根本清不干净。按下面的步骤一步步排查,应该能解决:
检查项目级Build Settings
打开你的项目,选择顶部的项目文件(不是Target),切换到Build Settings标签,在搜索框输入Objective-C Bridging Header。如果这里还填着你已经删除的桥接文件路径,直接清空这个字段,或者把整个设置项删掉。检查Target级Build Settings
别漏了Target的配置!选中对应的Target,同样到Build Settings里搜索Objective-C Bridging Header,确认这个字段也是空的。如果是多Target项目,每个Target都要检查一遍。清理项目配置文件的残留引用
要是上面两步都没解决,就得手动改项目的底层配置文件了:- 在Finder里右键你的
.xcodeproj文件,选择显示包内容 - 打开
project.pbxproj文件(用文本编辑器就行,比如TextEdit) - 搜索你那个桥接文件的名字
MyProject-Bridging-Header.h,把所有包含这个文件名的行删掉,比如类似SWIFT_OBJC_BRIDGING_HEADER = "MyProject/Extensions/MyProject-Bridging-Header.h";的配置,还有可能存在的文件引用条目 - 保存文件,关闭Xcode
- 在Finder里右键你的
最后彻底清理并重启
- 打开Xcode,用
Cmd+Shift+K清理当前构建 - 手动删除Derived Data:打开Xcode的
Preferences(Cmd+,),切换到Locations标签,找到Derived Data那一行,点击右边的箭头打开文件夹,删掉对应项目的整个文件夹 - 重启Xcode,重新编译项目
- 打开Xcode,用
这样一套操作下来,Xcode就不会再找那个已经被删除的桥接文件了。
内容的提问来源于stack exchange,提问作者StackGU
相关产品推荐
相关产品推荐

