Xcode 4代码感觉不起作用
我正在Xcode 4中运行一个“旧”的Xcode 3项目,而代码感并不适合我自己的类。 我试过以下:
- 清洁/重build
- 删除派生数据
- 安装4.3文档
- 重新开始
没有任何运气。
有时代码的意义,但主要是我只是得到“没有完成”。
尝试这个:
打开pipe理器,然后项目选项卡。
清除“派生数据”。 Xcode应该重新索引你的项目,然后代码感应起作用。 至less为我工作。
我知道这是晚,但供参考: http : //sealedabstract.com/code/when-xcode-4s-code-completion-autocomplete-breaks/
closures该项目,让XCode仍在运行。
打开XCode的组织者窗口,进入项目选项卡,select正确的项目,并点击“派生数据”旁边的删除button。
退出XCode。
在Finder中导航到项目的.xcodeproject文件。 右键单击,select“显示包装内容”。
保留project.pbxproj文件,但删除project.xcworkspace文件,任何.pbxuser文件和整个userdata文件夹。
在XCode中打开项目。 你会看到Xcode的CPU使用率高达10-60秒左右,这取决于你的项目的大小。 活动窗口会显示“索引”
当你的CPU峰值回到地球,代码完成将再次工作。
有很多删除在那里,所以请小心,但这肯定为我工作。
我一直在做这个,对我来说是多次的(之前尝试了上面的所有内容)。
编辑:现在我只是打空间,退格(Mac版)和重build…工作很好。 然后,请记住滚动(有时,直到您滚动某处的颜色才显示出来)
- find您的前缀文件:“ProjectName_prefix.pch”。
- 注释掉一些行 (基本上改变它)
- build立你的项目,没有关系,如果失败或不。
- 取消注释。
- 重新构build。
我打赌只有第2步(修改前缀)是什么,但这些基本上让你回到运行。 突然之间,所有事情都神奇地重现自我,完成function。
祝你好运,如果这不能解决它,也许尝试这样做到你的依赖pch文件(three20或FB api的)
清除“派生数据”只对我暂时工作。 我必须这样做,然后重新启动Xcode每天3-4次,以获得代码感觉再次工作。
我发现真正的原因是在Target的 Build Settings中。 我将标题searchpath中的所有内容移动到用户标题searchpath ,并且已修复。 就我而言,我正在使用的框架是RestKit。
顺便说一句,我想出了这个,因为我添加了另一个项目( QuickDialog )到我的项目,我很好奇,它使用用户头searchpath ,而不是标题searchpath 。 这是他们之间的差异。
您可以通过更改像这样的构build设置来解决该问题, PreCompile Prefix Headers:NO
仅供参考,如果一个文件没有代码意义,但您的项目的其余部分,检查它添加到目标。 一旦我这样做,我的代码感觉回到该文件。
这已经过时了,但答案只是把代码移动到一个新的文件夹,代码感应现在应该工作。
当我添加一个新的Objective-C类时,发生了这种情况,并且代码感仅对新添加的.m和.h文件(在本文中为XCode 4最新更新)不起作用。
closures所有的xcode窗口
从xcode> window> organizer中删除所有项目,然后重新启动项目。 现在它会正确地感知和索引你的项目。
我在这里详细写了一下。
基本上我的解决scheme是本地化。 我从xcode 3.2.5升级到xcode 4,然后使用内置的界面构build器,并打开本地化的XIB文件意外将我的源文件放在en.lproj目录。 将它们移回Classes文件夹后,它可以很好地工作。
再一次,为了帮助其他人解决这个问题,在我的情况下,升级到Xcode 4.3。
当然,我尝试在这篇文章中提供的解决scheme,并没有一个工作。 但是在Finder中移动项目位置的build议带来了一些Code Sense,但是这些build议没有任何意义。
我最终删除了我的项目,并从git仓库中重新克隆它 。为我提供了Code Sense。
当我的Xcode的代码感应停止工作时,我会在后台打开第二个项目(这通常是我第一次打开项目,但一段时间后代码感觉不再起作用)。 所以我做的是在Xcode中打开第二个项目。 Xcode将开始索引第二个项目,神奇的是我的主要项目的代码感回来了。
在Lion上运行Xcode 4.3.1
希望这有助于某人。
从这里的评论我能够debugging我的问题,这似乎是一个糟糕的-w标志,铛预处理器不能正确识别。 基本上跑步
defaults write com.apple.dt.Xcode IDEIndexingClangInvocationLogLevel 3
在terminal增加索引器的详细程度,并应该帮助你追查问题。 打开Console.app并查找来自Xcode的消息,searchstringIDEIndexingClangInvocation
帮助我find它们。
对我来说,这只是因为该文件没有目标成员。 如果前几个答案不适合你,转到你的.m文件(大概是这个文件,你有麻烦),打开工具视图(编辑 – >实用工具 – >显示文件检查器),并在“目标成员资格“检查你想要这个文件所属的目标。