Xcode 4代码感不起作用

时间:2011-03-25 10:55:14

标签: xcode xcode4 codesense

我在Xcode 4中运行一个“旧的”Xcode 3项目,代码意义不适用于我自己的类。我试过以下:

  • 清洁/重建
  • 删除派生数据
  • 安装4.3文档
  • 重新启动

没有运气。

有时代码意义有效但主要是我得到“没有完成”。

13 个答案:

答案 0 :(得分:128)

试试这个:

打开管理器,然后打开项目标签。

清除“派生数据”。 Xcode应该重新索引你的项目,代码意义应该工作。至少为我工作。

答案 1 :(得分:108)

我知道这已经晚了,但供参考:http://sealedabstract.com/code/when-xcode-4s-code-completion-autocomplete-breaks/

  
      
  • 关闭项目,让XCode仍在运行。

  •   
  • 打开XCode的管理器窗口,转到“项目”选项卡,选择正确的项目,然后点击“派生数据”旁边的“删除”按钮。

  •   
  • 退出XCode。

  •   
  • 在Finder中导航到项目的.xcodeproject文件。右键单击,选择“显示包装内容”。

  •   
  • 保留project.pbxproj文件,但删除project.xcworkspace文件,任何.pbxuser文件和整个userdata文件夹。

  •   
  • 在XCode中打开项目。您将看到XCode在CPU使用率上高达10-60秒,具体取决于项目的大小。活动窗口将显示“索引”

  •   
  • 当您的CPU峰值返回地球时,代码完成将再次运行。

  •   

那里有很多删除,所以请小心,但这对我有用。

答案 2 :(得分:26)

我一直这样做,并且它已经多次为我工作了(在完成上述所有操作之后)。

编辑:现在我只是点击空格,退格(mac版本)并重建......效果很好。然后,记得滚动(有时在你滚动某处之前颜色不会显示)

  1. 找到您的前缀文件:“ProjectName_prefix.pch”。
  2. 注释掉一些内容。 (基本上改变它)
  3. 构建项目,无论是否失败都无关紧要。
  4. 取消注释。
  5. 再次建造。
  6. 我只打赌第2步(修改前缀)就是这样,但这些基本上会让你恢复运行。突然间,一切都神奇地重新出现并完成了功能。

    如果不能解决它,祝你好运,也许尝试对你的依赖pch文件(three20或FB api)执行此操作

答案 3 :(得分:5)

清除“派生数据”仅适用于我。我必须这样做,然后每天重启Xcode 3-4次,以使代码感觉再次起作用。

我发现真正的原因是在目标的构建设置中。我将所有内容从标题搜索路径移动到用户标题搜索路径,并且已修复。就我而言,我正在使用的框架是RestKit。

顺便说一下,我想出了这个,因为我在项目中添加了另一个项目(QuickDialog),我很好奇它正在使用用户标题搜索路径,但不是标题搜索路径Here is the difference between them.

答案 4 :(得分:4)

您可以通过更改构建设置来修复该问题, PreCompile Prefix标题:否

答案 5 :(得分:3)

仅供参考,如果一个文件没有代码意义但项目的其余部分没有,请检查它是否已添加到目标。一旦我这样做,我就会在该文件中获得代码感。

答案 6 :(得分:2)

已经很久了,但答案只是将代码移动到一个新文件夹中,代码意义应该正常工作。

当我添加一个新的Objective-C类并且代码检测不仅对新添加的.m和.h文件(在此帖子中的XCode 4最新更新)上有效时,就会发生这种情况。

答案 7 :(得分:2)

  

关闭所有xcode窗口

     

从xcode>窗口>管理器中删除所有项目,然后重新启动项目。它现在可以正确地感知和索引您的项目。

答案 8 :(得分:1)

我详细地写了here

基本上我的解决方案是本地化。我从xcode 3.2.5升级到xcode 4,然后使用内置的界面构建器搞砸了,并且意外地打开了一个XIB文件的本地化,这将我的源文件放在en.lproj目录中。将它们移回Classes文件夹后,效果非常好。

答案 9 :(得分:0)

再次,为了帮助其他人解决这个问题,在我的情况下,在升级到Xcode 4.3时发生了。

当然,我尝试了这篇文章中提供的解决方案,但没有一个能够奏效。但是在Finder中移动项目位置的建议带回了一些Code Sense,但这些建议没有任何意义。

我最终删除了我的项目,并从git存储库中重新克隆了它。。这对我来说代码感觉...

答案 10 :(得分:0)

每当我的Xcode的代码感应停止工作时,我会在后台打开第二个项目(它通常在我第一次打开项目时工作,但在一段时间后代码感觉不再有效)。所以我要做的是在Xcode中打开第二个项目。 Xcode将开始为第二个项目编制索引,并且神奇地为我的主项目提供代码意义。

在Lion上运行Xcode 4.3.1

希望这有助于某人。

答案 11 :(得分:0)

this comment here我能够在我的最终调试问题,它似乎是一个坏的-w标志,clang预处理器无法正确识别。基本上,正在运行

defaults write com.apple.dt.Xcode IDEIndexingClangInvocationLogLevel 3

终端中的

增加了索引器的详细程度,应该可以帮助您跟踪问题。打开Console.app并查找来自Xcode的消息,搜索字符串IDEIndexingClangInvocation帮助我找到它们。

答案 12 :(得分:0)

对我来说,这只是因为该文件没有目标成员资格。如果前几个答案对你不起作用,请转到.m文件(可能是你遇到问题的这个文件),打开 Utilities 视图(编辑 - >实用程序 - &gt ;显示文件检查器)并在“目标成员资格”下检查您希望此文件所属的目标。