Xcode 9.2项目所有类出现重复条目,CMD-click跳转异常求助
解决Xcode 9.2中CMD-Click类名出现重复选项的问题
我之前也碰到过一模一样的糟心情况!尤其是在多Target+堆了一堆CocoaPods的大型项目里,Xcode的索引简直是说抽风就抽风,哪怕是全新创建、命名绝对唯一的类也逃不过这重复选项的坑。你已经试过清理和删除Derived Data了,那咱们试试下面这几个更彻底的办法:
彻底重建Xcode模块缓存
有时候光删常规的Derived Data不够,模块缓存的残留才是罪魁祸首:- 先完全关闭Xcode
- 打开终端,执行命令:
rm -rf ~/Library/Developer/Xcode/DerivedData/ModuleCache.noindex - 重新打开项目,等Xcode慢慢完成索引重建(大型项目可能要等个几分钟,别着急操作)
重新整理CocoaPods配置
多Target项目的Pods配置很容易藏着重复引用的问题,试试彻底重装Pods:- 关闭Xcode
- 终端进入项目根目录,先执行:
pod deintegrate,把现有Pods集成完全移除 - 接着执行:
pod install,重新完成Pods集成 - 一定要用新生成的
.xcworkspace文件打开项目,再测试CMD-click跳转
检查Target的搜索路径配置
去各个Target的Build Settings里,看看Header Search Paths和Framework Search Paths有没有重复添加的路径——尤其是那种同一个目录既设了recursive又设了non-recursive的情况,这种重复配置会让Xcode索引重复识别文件。重置Xcode偏好设置(极端情况用)
如果上面的办法都没用,可能是Xcode的偏好配置出了暗病:- 关闭Xcode
- 终端执行:
defaults delete com.apple.dt.Xcode - 重新打开Xcode,它会恢复默认设置,你需要重新调整自己的偏好,但有时候能解决这种莫名其妙的索引问题
我当时试下来,重建模块缓存+重装Pods就搞定了这个问题。要是还是不行,你可以建个空项目把那个测试类导进去试试,排除是不是项目本身有更深层的配置问题。
内容的提问来源于stack exchange,提问作者Sti
相关产品推荐
相关产品推荐

