Xcode 8.2代码完成不起作用

时间:2016-12-19 17:19:05

标签: xcode xcode8.2

出于某种原因,在Xcode 8.2中,我的代码完成已停止工作。我已经清理了我的产品,重新启动了Xcode,重新启动了我的计算机,并删除了派生数据,但仍然没有运气。我已将此提交给Apple支持。有没有人遇到过这个并且能够修复它?

9 个答案:

答案 0 :(得分:153)

<强>更新 根据@Dareon解决方案,下面也适用于Xcode版本8.3(8E162)和8.3.2(8E2002)。谢谢,@ Dareon确认。 :)

我遇到了同样的问题,后来为我工作。

我正在使用Xcode版本8.2.1(8C1002)。

  1. 转到 Xcode&gt;偏好&gt;文字编辑
  2. 在代码完成时 - 在键入&#39;
  3. 时取消选中&#39;建议完成次数
  4. 退出Xcode,然后重新启动Xcode。
  5. 转到 Xcode&gt;偏好&gt;文字编辑再次
  6. 退出Xcode,然后重新启动Xcode。
  7. 现在转到代码完成并检查&#39;在输入时建议完成次数<。&#39;。
  8. 尝试输入库函数或枚举并享受!
  9. 至少,它对我有用。

答案 1 :(得分:15)

在Xcode 8.2.1中代码完成也停止了我的工作,没有任何清理,派生数据一次性或重新启动修复它。过了一会儿,我意识到代码完成只在我正在处理的扩展范围内被破坏了。如果手动输入,代码将被正确突出显示并且编译正常,因此,抛出任何解析器负责代码完成的源代码都不是问题。

在这个非常简单的例子中,以下是它发生的具体情况:

foobar1

代码完成在foobar2的实现块中正常工作,但不适用于static let。它似乎触发了扩展中foobar2的存在。结构和类都会出现问题。

看起来像是Xcode的一个错误,因此我唯一的解决方法是将SomeStruct移到> rates[[5]] [[1]] [1] 1 2 > rates[[6]] [[1]] [1] 2 1 1 > paste("$",rates[[5]],"$",rates[[6]],sep=" ") [1] "$ 1:2 $ c(2, 1, 1)" 的主要定义中。

答案 2 :(得分:5)

重新启动Xcode为我工作。

答案 3 :(得分:2)

只需在Generic iOS Device上清理并构建一次应用程序,这可能是由于某些编译时间问题导致智能无效,我从Xcode 8.2.1开始就看到了这个错误。

答案 4 :(得分:2)

对我有用的是删除派生数据:

Xcode偏好设置 - &gt;地点 - &gt;箭头符号将带您进入&#34;派生数据&#34; - &GT;删除文件夹

答案 5 :(得分:1)

我也遇到过这方面的重大问题。对我来说,当我进行编译时,代码完成和格式化会丢失在我当前的工作源文件中。如果我返回并切换到另一个选项卡并返回,一两秒后它再次开始工作。有时即使这不起作用,我必须留在同一个标​​签页并打开一个不同的文件,然后导航回来。

如果我让Xcode打开并让电脑睡几个小时然后回来,那么即使这些方法也会失败。当发生这种情况时,我必须退出Xcode,有时强制退出它,然后在重新执行上述步骤之后。但是在每次编译或编译之后我都不得不乱用它并运行。 Haven还没试过8.3测试版。

答案 6 :(得分:0)

我有同样的问题,“索引”不起作用。因为我使用的是pod和静态库。我做的只是单独重建静态库。

希望这有帮助。

答案 7 :(得分:0)

如果您有任何大型静态文字,请尝试将它们注释掉。那些有时会使编译器绊倒。

答案 8 :(得分:-1)

没有其他任何对我有用,但这种奇怪的做法确实:

  1. 退出Xcode
  2. 进入你的主目录,如果你像我一样,那里充满了垃圾名称的空目录
  3. rmdir *(只要你关闭标签,这将只会删除空目录,这就是你想要的)
  4. 再次启动Xcode,欢乐时光