我在 Xcode 4 中运行一个“旧”的 Xcode 3 项目,并且代码感觉不适用于我自己的类。我试过以下:
- 清理/重建
- 删除派生数据
- 安装 4.3 文档
- 重新开始
没有任何运气。
有时代码意义有效,但大多数情况下我只是得到“没有完成”。
尝试这个:
打开管理器,然后打开项目选项卡。
清除“派生数据”。然后 Xcode 应该重新索引您的项目,并且代码感觉应该可以工作。至少对我有用。
我知道这已经晚了,但供参考:http ://sealedabstract.com/code/when-xcode-4s-code-completion-autocomplete-breaks/
关闭项目,让 XCode 仍在运行。
打开 XCode 的 Organizer 窗口,转到 Projects 选项卡,选择正确的项目,然后点击“Derived Data”旁边的 Delete 按钮。
退出 XCode。
在 Finder 中导航到项目的 .xcodeproject 文件。右键单击,选择“显示包内容”。</p>
保留 project.pbxproj 文件,但删除 project.xcworkspace 文件、所有 .pbxuser 文件和整个 userdata 文件夹。
在 XCode 中打开项目。您将看到 XCode 占用 CPU 大约 10-60 秒,具体取决于项目的大小。活动窗口将显示“索引”</p>
当您的 CPU 峰值返回地球时,代码完成将再次工作。
那里有很多删除,所以请小心,但这绝对对我有用。
我一直在这样做,它对我来说已经工作了多次(在之前尝试了上述所有方法之后)。
编辑:现在我只需按空格键、退格键(mac 版本)并重建...效果很好。然后,记得滚动(有时颜色直到你滚动到某个地方才会显示)
我打赌只有第 2 步(修改前缀)是做什么的,但这些基本上可以让你重新开始跑步。突然间,一切都神奇地重新着色并完成功能。
祝你好运,如果这不能解决它,也许尝试对你的依赖 pch 文件(three20 或 FB api's)执行此操作
清除“派生数据”仅对我暂时有效。我必须这样做,然后每天重新启动 Xcode 3-4 次才能让代码感知再次工作。
我发现真正的原因在于目标的构建设置。我将所有内容从标题搜索路径移动到用户标题搜索路径,并且它已修复。就我而言,我正在使用的框架是 RestKit。
顺便说一句,我想出了这个是因为我在我的项目中添加了另一个项目(QuickDialog),我很好奇它使用的是User Header Search Paths,而不是Header Search Paths。这是它们之间的区别。
您可以通过更改这样的构建设置来解决该问题,PreCompile Prefix Headers :NO
仅供参考,如果一个文件没有代码意义,但项目的其余部分有,请检查它是否已添加到目标。一旦我这样做了,我就在该文件中恢复了代码意义。
已经很长时间了,但答案就是将代码移动到一个新文件夹中,并且代码感知现在应该可以工作了。
这发生在我添加了一个新的 Objective-C 类并且代码意义仅适用于新添加的 .m 和 .h 文件(在本文中的 XCode 4 最新更新中)时。
关闭所有 xcode 窗口
从 xcode>window>organizer 中删除所有项目并重新启动项目。它现在将正确地感知和索引您的项目。
我在这里详细写过。
基本上我的解决方法是本地化。我从 xcode 3.2.5 升级到 xcode 4,然后用内置的界面构建器搞砸了,不小心打开了 XIB 文件的本地化,这将我的源文件放在 en.lproj 目录中。将它们移回 Classes 文件夹后,它运行良好。
同样,为了帮助其他人解决这个问题,就我而言,这是在升级到 Xcode 4.3 时发生的。
当然,我尝试了这篇文章中提供的解决方案,但都没有奏效。但是在 Finder 中移动项目位置的建议带回了一些 Code Sense,但这些建议没有任何意义。 我最终删除了我的项目并从 git 存储库中重新克隆了它。这为我带来了 Code Sense...每当我的 Xcode 的代码感应停止工作时,我都会在后台打开第二个项目(它通常在我第一次打开项目时工作,但过了一段时间代码感觉不再工作)。所以我要做的是在 Xcode 中打开第二个项目。Xcode 将开始索引第二个项目,并且神奇地我的主项目的代码意义又回来了。
在 Lion 上运行 Xcode 4.3.1
希望这可以帮助某人。
对我来说,这仅仅是因为该文件没有目标成员资格。如果前几个答案对您不起作用,请转到您的 .m 文件(可能是您遇到问题的这个文件),打开实用程序视图(编辑 -> 实用程序 -> 显示文件检查器)并在“目标成员”检查您希望此文件所属的目标。
从这里的评论中,我能够最终调试问题,这似乎是一个错误的 -w 标志,clang 预处理器无法正确识别。基本上,运行
defaults write com.apple.dt.Xcode IDEIndexingClangInvocationLogLevel 3
in Terminal 增加了索引器的详细程度,应该可以帮助您追踪问题。打开 Console.app 并查找来自 Xcode 的消息,搜索字符串IDEIndexingClangInvocation
帮助我找到了它们。