xcode swift永远索引

时间:2014-07-16 13:55:59

标签: xcode indexing swift

我目前正在使用swift和XCode 6(Beta 3)开发iOS应用。

到目前为止一切都很顺利,但现在随着我的项目的发展,xcode突然开始编制索引,并且一次又一次地做到这一点,使xcode几乎无法使用。

我在网上搜索了类似的问题并尝试了解决方案,但没有一个能提供帮助。 甚至禁用索引过程(默认写入com.apple.dt.XCode IDEIndexDisable 1)也不会阻止XCode执行此操作。

在建立索引时,我的CPU使用率上升到300%+,导致风扇以最高速度运行。 在Activity Monitor中有几个名为" swift"每个占用大约1GB内存。

非常欢迎任何提示或解决方案。

24 个答案:

答案 0 :(得分:21)

杀死名为' swift'然后检查xcode中的错误将为您提供代码的一部分,给您带来麻烦。 swift中存在一些需要规避的错误。

答案 1 :(得分:17)

Xcode 7.3发生在我身上

必须清理Xcode缓存的所有内容才能解决它。

解决方案:

rm -frd ~/Library/Developer/Xcode/DerivedData/*

rm -frd ~/Library/Caches/com.apple.dt.Xcode/*

答案 2 :(得分:11)

解决了问题:我从项目中删除了最近添加的文件,问题就消失了。然后我开始逐个添加文件,直到问题再次出现。所以我发现文件导致了问题。然后我从该文件中删除了最近添加的代码,然后问题就消失了。

这样,我找到了一段负责这种行为的代码。

答案 3 :(得分:9)

我的代码中遇到了同样的问题。我的解决方案是删除代码中数组中的所有空格。

实施例。

  struct Objects {

  let objectA = ["text1", 
                 "text2", 
                 "text3", 
                 "text4"] }

//噪音,CPU 100%和永久索引。解决方案是......

struct Objects {
    let objectA = ["text1","text2","text3","text4"]}

// 解决了使数组或字符串没有空格。

答案 4 :(得分:8)

我有同样的问题,我花了很长时间来解决它。我很确定我已经在互联网上看到了关于这个问题的所有问题,我尝试了所有的解决方案。事实证明我所要做的就是......

重新启动计算机

答案 5 :(得分:4)

这是XCode的错误。串联连接引起的问题:

var value = "some text" // it can be String or Array
value = value + value1 + value2 + value3 + value4 + value5 + value6 // etc

此更正修复了此错误:

var value = "some text"
value += value1
value += value2
value += value3
value += value4
value += value5
value += value6

答案 6 :(得分:4)

几周前,当我在克拉科夫的快速紧缩时,我遇到了这个问题。我们在github上有代码,经历了macbook上的索引问题,我们尝试在其他2个macbook上拉回购,同样的结果。

这显然是一个错误,我不知道是什么导致它,我们尝试了任何我们能想到的(干净,干净的构建文件夹,手动删除不在repo中的文件,重启,杀死进程等),以及几个小时之后唯一要做的就是从头开始创建一个新的xcode项目并手动从另一个项目中导入文件

从那以后再也没有发生过,无论是在那个项目还是在其他项目上都没有。

答案 7 :(得分:1)

一个调用将11个NSLayoutConstraint对象添加到数组中我遇到了同样的问题。

解决方案是将代码分成几个调用,每个调用只向数组添加3个对象。怪异。

那是在Xcode 6.4中

答案 8 :(得分:1)

对我来说,我犯了一个愚蠢的错误。我写了一个这样的类:

class A: A {
.......
}

一个类继承自身导致冻结。 Xcode没有消息提示。您可以将此作为可能的原因〜。

答案 9 :(得分:1)

这绝对是一个Xcode错误,我向Apple报告了这个问题。当您有一个大的字典文字或嵌套的字典文字。您必须将字典拆分为较小的部分,并使用append方法添加它们,直到它们修复错误。 Xcode 8.2.1(8C1002)

答案 10 :(得分:0)

我今天意识到,将 Apples Playgrounds 应用程序与 Xcode 一起运行时,我有非常相同的症状。也许这就是早期情况的根本原因。所以就我而言,关闭 Playgrounds 成功了。

答案 11 :(得分:0)

创建C ++项目时,我遇到了XCode 6.3的这个问题。在切换到SubLime中的开发之前,我最后的努力是删除XCode应用程序并重新安装。这是一个漫长的过程,但我的XCode版本现在更新到7.3,一切正常。

因此,如果似乎没有其他工作正常,您可以尝试从应用程序文件夹中删除XCode,然后重新安装。请确保您没有删除任何要保留的项目文件。

答案 12 :(得分:0)

对我来说,这是循环继承引起的问题:

class CustomButton: CustomButton {
    ...
}

以及代码中其他各种最近的查找/替换错误。 Xcode并未将其突出显示为错误,而是一直保持索引编制。

答案 13 :(得分:0)

我已经尝试了所有列出的内容,索引一直处于冻结状态。 这对我有帮助: 如果索引被冻结,并且您有一个或多个 swift 进程占用了99%的cpu,只需杀死此 swift 任务,稍等片刻即可取得进展应该移动。 它可以重复执行,直到完成为止,以我为例,我杀死了7次该过程,但最后索引已完成!

答案 14 :(得分:0)

在我的情况下,我使用一个使用先前文件构建的应用程序打开了模拟器。只需关闭仿真器

答案 15 :(得分:0)

还有一种可能的事情,它可能导致这种行为: 出于调试目的,我更改了系统时间,该系统时间是在一周前设置的-我已经实现了无限索引。一旦我将时间倒退-索引编制就停止了。

答案 16 :(得分:0)

在我的情况下,此问题是由一些算术总和引起的。 我正在创建一个具有所有不同框架的collectionView,以编程方式做到这一点:

cell.textView.frame = CGRectMake(8 + 10 + 12, 0, 150 + 6 + 6 + 4, 50)

我刚刚将其更改为:

cell.textView.frame = CGRectMake(30, 0, 166, 50)

这可以帮助我更轻松地计算出边距和边距,但是仅求和结果会将构建速度从5-7分钟更改为20秒左右。

答案 17 :(得分:0)

enter image description here

当我的Xcode是9.2时,我遇到了这个问题。首先,我删除了xcworkspace文件,根据其他人清理和构建了#c;回答。但它没有用。 然后我将Xcode更新为9.3它也没有用。我检查了我的代码,发现最近编写的代码永远使Xcode Indexing:

TimeInterval(3600*24*(-randomDay))

然后我修改了它:

TimeInterval(-3600*24*randomDay)

有效。 我发现很多情况都会导致Xcode异常工作。所以我认为正确的解决方案是考虑你最近为你的项目做了什么

答案 18 :(得分:0)

我去了工具 - >任务和上下文 - >清除上下文,这似乎让计算机终于休息了!

答案 19 :(得分:0)

我的目的是将带有String扩展名的新文件拖到项目中,而不是将其添加到所有必需的目标。 希望有所帮助。

答案 20 :(得分:0)

一行中的字符串连接太多会导致麻烦。也帮助了我。 最初由郑振山指出:Xcode 6 Beta not compiling

答案 21 :(得分:0)

我得到了这个问题并且6小时后(在尝试重新创建新项目并逐步复制资源之后)我发现了我的问题:

class A : A {
...
}

通过复制/粘贴的事实,我有一个扩展自己的类,这使得索引变得疯狂。

答案 22 :(得分:-1)

这是我发布在另一个与Xcode索引问题有关的stackoverflow thread上的解决方法。这个问题看起来更迅速,但是我的解决方法在这里也可能有用。就是这样我的项目很大(使用j2obj合并目标cc++swiftjava文件),这里没有任何答案可以解决索引问题。想法是使用cputhrottle之类的外部工具来限制Xcode索引过程的CPU使用率。

所以首先您需要在终端中安装cputhrottle

  

酿造cputhrottle

然后限制这样的Xcode索引过程(20 = 20%)

  

sudo cputhrottle $(pgrep -f com.apple.dt.SKAgent)20

我在此处详细介绍了“解决方案”:How to prevent Xcode using 100% of CPU when indexing big projects

答案 23 :(得分:-1)

我的特殊问题是包含大量数据的相当长的字面词典。我的解决方案是要了解XCode索引不是“卡住”,而是花了很长时间。所以我只需要等待比预期更多的时间。