如何解决Xcode 4代码检测不起作用
| 我正在Xcode 4中运行一个“旧的” Xcode 3项目,并且代码感知不适用于我自己的类。我尝试了以下方法: 清理/重建 删除衍生数据 安装4.3文档 重新开始 没有任何运气。 有时,代码含义有效,但大多数情况下,我只会得到“没有完成”。解决方法
尝试这个:
打开管理器,然后打开项目选项卡。
清除\“派生数据\”。 Xcode应该重新索引您的项目,然后代码感知就可以了。至少对我有用。
,我知道这很晚,但仅供参考:http://sealedabstract.com/code/when-xcode-4s-code-completion-autocomplete-breaks/
关闭项目,使XCode仍在运行。
打开XCode的管理器窗口,转到“项目”标签,选择正确的项目,然后点击“派生数据”旁边的“删除”按钮。
退出XCode。
在Finder中导航到项目的.xcodeproject文件。右键单击,选择“显示包装内容”。
保留project.pbxproj文件,但删除project.xcworkspace文件,任何.pbxuser文件以及整个userdata文件夹。
在XCode中打开项目。根据项目的大小,您将看到XCode占用大约10-60秒的CPU使用率。活动窗口将显示“索引”
当您的CPU峰值恢复正常时,代码完成功能将再次起作用。
那里有很多删除操作,因此请小心,但这绝对对我有用。
,我一直在这样做,并且为我工作了多次(在尝试了上述所有方法之后)。
编辑:现在,我只是按下空格键,退格键(Mac版本)并进行重建...效果很好。然后,记住滚动(有时直到滚动到某个位置时颜色才会显示出来)
找到您的前缀文件:\“ ProjectName_prefix.pch \”。
注释掉一些行。 (基本上将其更改)
构建项目,无论项目是否失败都无关紧要。
取消注释。
重新构建。
我敢打赌,第2步(修改前缀)是它的作用,但是实际上,这些使您重新运行。突然,所有事物都神奇地重新着色并完成功能。
如果这不能解决问题,祝您好运,也许尝试对您的依赖项pch文件(three20或FB api \)执行此操作
,清除\“派生数据\”仅对我临时有效。我必须这样做,然后每天像3-4次一样重新启动Xcode,以使代码感知再次起作用。
我发现真正的原因是在目标的构建设置中。我将所有内容从标题搜索路径移动到了用户标题搜索路径,它是固定的。就我而言,我正在使用的框架是RestKit。
顺便说一句,我想出这个是因为我要在项目中添加另一个项目(QuickDialog),但我很好奇它使用的是用户标题搜索路径,而不是标题搜索路径。这是它们之间的区别。
,您可以通过更改构建设置来解决该问题,例如PreCompile Prefix Headers:NO
,仅供参考,如果一个文件没有代码意义,而您项目的其余部分却具有代码意义,请检查该文件是否已添加到目标中。一旦这样做,我就会在该文件中重新获得代码意义。
,已经有很长一段时间了,但是答案只是将代码移到新文件夹中,并且代码含义现在应该可以正常工作。
这是在我添加了一个新的Objective-C类时发生的,并且代码意义仅在新添加的.m和.h文件上不起作用(在本文中XCode 4最新更新中)。
, 关闭所有xcode窗口
从xcode> window> organizer删除所有项目,然后重新启动项目。现在它将正确地感测和索引您的项目。
,我在这里详细介绍了它。
基本上,我的解决方法是本地化。我从xcode 3.2.5升级到xcode 4,然后用内置的界面构建器搞砸了,并意外打开了XIB文件的本地化,这将我的源文件放置在en.lproj目录中。将它们移回Classs文件夹后,它可以完美运行。
,同样,为了帮助其他人解决此问题,在我的情况下,发生在升级到Xcode 4.3时。
当然,我尝试了本文中提供的解决方案,但没有一个起作用。但是在Finder中移动项目位置的建议带回了一些Code Sense,但这些建议没有任何意义。
我最终删除了我的项目,然后从git存储库中将其重新克隆了。
,每当我的Xcode的代码检测停止工作时,我都会在后台打开第二个项目(通常在我第一次打开该项目时起作用,但是一段时间后代码检测不再起作用)。所以我要做的是在Xcode中打开第二个项目。 Xcode将开始为第二个项目建立索引,神奇的是我的主项目的代码意义又回来了。
在Lion上运行Xcode 4.3.1
希望这对某人有帮助。
,从这里的评论中,我最终可以调试问题,这似乎是一个不好的-w标志,表明clang预处理器无法正确识别。基本上是跑步
defaults write com.apple.dt.Xcode IDEIndexingClangInvocationLogLevel 3
“终端”中的“索引”增加了索引器的详细程度,应该可以帮助您查找问题。打开Console.app并从Xcode查找消息,搜索字符串IDEIndexingClangInvocation
帮助我找到了它们。
,对我来说,发生这种情况仅仅是因为该文件没有目标成员身份。如果前几个答案对您不起作用,请转到您的.m文件(大概是您遇到问题的此文件),打开“实用工具”视图(“编辑”->“实用工具”->“显示文件检查器”)在“目标成员身份”下,检查您希望该文件所属的目标。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。