Xcode中ViewController文件消失引发编译错误,如何解决?
解决Xcode中文件引用失效/丢失导致的编译错误
这种情况我在日常开发中碰到过好多次,大概率是Xcode的文件引用失效或者文件真的从磁盘上丢失了,给你分两种场景一步步解决:
场景一:磁盘上的文件还存在,只是Xcode引用出问题了
这种情况最常见,就是你看到的“图标暗淡、点不动”的状态,本质是Xcode找不到对应磁盘文件的路径了:
- 第一步:先移除失效的引用。右键点击项目里那个暗淡的
SignUpViewController.swift文件,选择Remove Reference(注意别选Delete!选Delete会把磁盘上的文件直接删掉)。 - 第二步:重新添加文件到项目。右键点击项目里的
ViewControllers文件夹,选择Add Files to "InstagramClone",然后在弹出的窗口里找到磁盘上实际存在的SignUpViewController.swift文件,勾选Copy items if needed(如果文件不在项目目录里的话),最后点击Add。 - 第三步:清理缓存重新编译。按下
Cmd+Shift+K清理Xcode的构建缓存,再按Cmd+B重新编译项目,应该就能解决了。
场景二:磁盘上的文件真的丢失了
如果去路径/Users/andreagualandris/Desktop/Xcode Projecs/InstagramClone/InstagramClone/ViewControllers/里找不到这个文件,那就是文件被误删了:
- 先检查废纸篓:打开Mac的废纸篓,搜索
SignUpViewController.swift,如果找到的话,右键选择Put Back就能恢复到原位置,之后重启Xcode应该就正常了。 - 如果废纸篓里没有,试试Time Machine恢复(前提是你开启了Time Machine备份):打开Time Machine,导航到对应的
ViewControllers文件夹,找到文件还存在的时间点,选中文件点击恢复。 - 要是你用了Git管理项目,还可以用终端执行命令恢复:进入项目根目录,执行
git checkout -- SignUpViewController.swift(前提是这个文件之前已经提交到Git仓库了)。
额外小技巧
- 有时候Xcode缓存抽风,重启Xcode就能解决一些奇怪的引用问题,可以先试试这个。
- 检查项目的
Build Phases -> Compile Sources列表,看看有没有这个文件的错误路径,如果有的话删掉,再重新添加正确的文件进去。
内容的提问来源于stack exchange,提问作者user12145455
相关产品推荐
相关产品推荐

