Xcode 4:在我的Xcode 3项目中自动完成并跳转到定​​义

Jim*_*mmy 43 xcode autocomplete xcode4

我的项目是在Xcode 3中创建的,我在Xcode 4中打开它并注意以下内容:

  • "跳转到定义"不再适用于我自己的符号(但是UI*甚至TT*符号都可以正常工作!)
  • 自动完成/'代码感知'和Xcode 3一样糟糕,即它建议一切
  • 我的项目类没有出现在类导航器中(同样,系统和Three20类确实出现了!)

但是,在创建新的 Xcode 4项目时,这些功能似乎确实有效.不幸的是,唯一的解决方法似乎是重新创建项目并重新导入所有内容.这个项目太大了!

我试过的事情:

  • 删除管理器中的派生数据
  • 清洁项目
  • 安装Xcode 4 Gold Master和Final版本

更新

  • 此错误已不是在Xcode 4.0.1得到解决.

xha*_*han 67

窗口菜单上:

  1. 组织者
  2. 项目标签
  3. 你的项目
  4. 删除派生数据
  5. 重启Xcode

其他答案的一点建议:

在步骤4之后,不要重建项目,只需重新启动Xcode.

  • 请参阅上面的评论,但我总是通过触摸项目中的.pch文件来解决它.我曾经也删除派生数据,但这似乎更快.(我在.bashrc中创建了一个别名来触摸.pch文件.无需重启) (2认同)

yea*_*xon 16

当我丢失xcodes超级好的代码提示时,对我有用的是:

窗口(菜单) - >管理器(菜单) - >项目(标签)

然后

按删除派生数据(这与转到文件夹并手动删除相同)

但!!!!!在这一步不要重建但关闭xcode并重新打开项目.这对我有用.


gst*_*oup 7

我今天在XCode 4最终版本中遇到了同样的问题,使用了我的旧XCode 3项目.该问题与XCode创建的符号索引有关.它应该自动为你创建一个新索引,但在XCode 4中似乎需要很长时间.一个可能的解决方案是转到〜/ Library/Developer/Xcode/DerivedData并删除旧索引.重新启动XCode,您应该看到它编制索引.对于"跳转到定义",您可以按住方法或类名称上的命令和鼠标,并且应该看到蓝色下划线,如超链接.然后你可以点击它跳转到定义.


Ric*_*ick 7

编辑:似乎如果你有任何自定义标题搜索路径,以支持多个目标与共享代码XCode 4索引将中断,然后助手和codesense与它一起.我已将此作为#ID 9182099与Apple一起提出.还有一个问题是,如果项目全局和目标特定构建设置之间存在任何冲突设置,则索引将无法正确完成.确保您的构建设置一致.

我刚刚在一个非常大的多目标商业项目中遇到过这个问题.作为额外的痛苦,所有xib文件都不会在助手视图中显示控制器,并且子类/超类/兄弟/类别助手视图都不会起作用.

经过大量搜索和实验删除索引等后,我被迫创建一个新的空项目并重新导入所有内容.我知道你说你的项目太大了,但我不认为还有其他选择.最后,我花了大部分时间完全迁移我的项目.我想你可以坚持在将来的一个点上发布解决方案,但我现在选择咬紧牙关,从新功能的生产力增长中受益.

为此,我创建了一个新的"空"项目,然后手动重新创建了我需要的目标.然后我删除了新目标的源文件和.plist文件,让我再次使用我需要的三个目标的空项目.

然后,我根据需要一次选择"添加文件.."到项目一个文件夹链接目标.我停止并构建每个目标,因为它是导入的,以处理最新的clang给我的任何编译器错误.

如果您有一个未映射到文件系统文件夹结构的复杂组层次结构,那么您将需要在导入后重新创建组,或者经历将所有文件移动到子文件夹并在XCode中重新指向引用的痛苦过程.

您还需要仔细检查目标中的任何自定义构建设置,并重新链接您包含的任何库.还要确保从目标链接中删除任何批量导入的.plist文件.

对不起,如果这不是您所希望的答案.


Mar*_*ina 1

在我们的例子中,罪魁祸首是旧版本的 Three20 库。为了使该项目正常运行,我必须:

  1. 从项目中删除所有对 Three20 的引用
  2. 按照http://two20.info/article/2011-03-10-Xcode4-Support中的说明进行操作

一旦安装了新库,xcode4 就会自动重新索引。代码完成、跳转到定义甚至重构现在都可以工作。使用 Xcode 的乐趣又回来了!:)

更一般地说,任何将其头文件放入 BUILT_PRODUCT_DIR 的库都可能存在类似的问题。