出于某种原因,在Xcode 8.2中,我的代码完成已停止工作。我已经清理了我的产品,重新启动了Xcode,重新启动了我的计算机,并删除了派生数据,但仍然没有运气。我已将此提交给Apple支持。有没有人遇到过这个并且能够修复它?
答案 0 :(得分:153)
<强>更新强> 根据@Dareon解决方案,下面也适用于Xcode版本8.3(8E162)和8.3.2(8E2002)。谢谢,@ Dareon确认。 :)
我遇到了同样的问题,后来为我工作。
我正在使用Xcode版本8.2.1(8C1002)。
至少,它对我有用。
答案 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)
没有其他任何对我有用,但这种奇怪的做法确实: