在 #import "myFile.h" 中无法找到完成文件

21
自从安装了 Xcode 4.4 后,在类中想要导入文件时,自动完成功能失效了。我必须手动输入整个文件名(该问题仅在导入作用域内出现,在其他地方可以正常使用)。
是否有人遇到相同的问题并知道如何解决?

我有时在Xcode 4.3中遇到这个问题。 - dasdom
你尝试过关闭项目并在组织者项目区域中删除项目吗? - Bernd Rabe
为什么不直接给你同意的第一个人点赞,而不是说“我也有这个问题”呢? - Andy
我怀疑这不会解决问题,但可能是项目在Xcode中索引的问题。尝试清理项目,然后清理项目文件夹(在访问项目菜单时按住alt键,您将看到它替换“清理”菜单项)。 - Mattia
请查看这个线程: https://dev59.com/p2035IYBdhLWcg3wbPU5 - user1592530
显示剩余2条评论
2个回答

27

前往您的项目-->构建设置-->用户头文件搜索路径并添加$(SRCROOT)

这对我有用。

编辑(另一种解决方案): 有时我在导入范围中随机失去了自动补全功能。 我通过在开始自动补全之前键入双引号#import "",然后在其中输入我的类来修复它。


6
需要通过点击此路径左侧的复选框来启用递归搜索。 - Edward Ashak
太棒了!我应该早点用这种方式搜索 :O - Marc
1
第二种解决方案也适用于库头文件;首先输入 #import <>,然后填写括号内的部分。 - Phil Calvin
第二个解决方案是胜利者。干杯! - Stephen Paul
除了先输入开头和结尾引号外,我什么都试过了都不行。我使用的是 XCode 7.2,并且长期遇到此问题。 - Paul Slocum

8

显然,这与将文件放在子文件夹内有关。似乎在之前的Xcode版本中,代码感应会列出添加到项目中的任何头文件,但是在4.4版本中只列出了项目中最顶层文件夹中的头文件...

我找到的解决办法是将这些子文件夹包含在项目的“用户头文件搜索路径”中。

例如,如果您的文件夹结构如下所示:

Source/
  Example/
    Util/
      util.h
  Example.xcodeproj

默认情况下,当你输入

#import "u|"

你将会得到 Util 文件夹的建议。如果你让它完成并继续输入:

#import "Util/u|"

您将得到util.h的建议。

为了获得常规的自动完成行为,请进入您的项目 -->构建设置-->用户头文件搜索路径并将Example添加到列表中(双击设置,在弹出窗口上单击“+”按钮,输入Example确保在左侧选中复选框)。当您关闭弹出窗口时,您的设置应该类似于Example/**,这意味着它包括Example和每个子文件夹

新的行为(特性?错误?)让我疯狂。希望这可以帮助您。


要包含源中的所有文件,请使用此代码:"$(SRCROOT)/**"。这非常有效,让我在过去几周里感到十分疯狂,谢谢! - Jess Bowers
这实际上对我来说并没有一开始就起作用,让我感到非常疯狂...我不得不删除已经设置在“Header Search Paths”中的路径,然后将其添加到“User Header Search Paths”中。现在,一切都正常工作了。 - Mazyod

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接