Xcode 10 Navigation pane未显示存在文件,如何刷新文件结构?
我之前也碰到过一模一样的糟心情况!Finder里明明有文件,Xcode导航面板却看不到,构建还报错说文件不存在。Xcode确实没有IntelliJ那种一键刷新文件结构的按钮,但有几个比拖放更靠谱的解决方法:
先排查过滤设置:先看看导航面板(Project Navigator)顶部的漏斗图标(Filter按钮),是不是不小心勾选了「Hide Non-Code Files」或者其他过滤选项,导致文件被隐藏了。取消不必要的过滤,说不定文件立刻就出来了。
清理派生数据+重新索引:这是我最常用的方法,按下快捷键
Cmd + Option + Shift + K清理项目的派生数据,然后关闭Xcode重新打开。重启后Xcode会自动重新索引项目里的所有文件,大部分情况下失踪的文件都会回到导航面板里,构建也能正常找到文件了。手动添加文件到项目(比拖放更可控):如果上面的方法没用,右键点击导航面板里的项目根目录,选择「Add Files to "你的项目名"…」,在Finder里选中那个存在的文件。在弹出的对话框里,记得勾选你要构建的target(不然构建还是找不到),如果文件已经在项目目录里了,就取消「Copy items if needed」的勾选,最后点击「Add」就行。这样文件会被正式加入项目索引,比直接拖放更不容易出问题。
进阶:检查项目文件引用(不推荐新手):如果以上都不行,你可以右键项目根目录选择「Show Package Contents」,打开
project.pbxproj文件,搜索失踪文件的文件名,看看有没有对应的引用条目。如果没有的话,手动添加引用也能解决,但这个操作容易出错,除非你熟悉Xcode项目文件的结构,否则不建议尝试。
内容的提问来源于stack exchange,提问作者matchifang

