我目前正在使用swift和XCode 6(Beta 3)开发iOS应用。
到目前为止一切都很顺利,但现在随着我的项目的发展,xcode突然开始编制索引,并且一次又一次地做到这一点,使xcode几乎无法使用。
我在网上搜索了类似的问题并尝试了解决方案,但没有一个能提供帮助。 甚至禁用索引过程(默认写入com.apple.dt.XCode IDEIndexDisable 1)也不会阻止XCode执行此操作。
在建立索引时,我的CPU使用率上升到300%+,导致风扇以最高速度运行。 在Activity Monitor中有几个名为" swift"每个占用大约1GB内存。
非常欢迎任何提示或解决方案。
答案 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)
当我的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合并目标c
,c++
,swift
和java
文件),这里没有任何答案可以解决索引问题。想法是使用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索引不是“卡住”,而是花了很长时间。所以我只需要等待比预期更多的时间。