我已经工作了2个月的项目无缘无故地停止了工作,因为Xcode被卡在了“索引”上。我不能再建立项目了。如果我尝试构建,Xcode会冻结,我必须强制退出。仅在此项目中会发生这种情况。
我尝试清除所有派生数据,但没有帮助。
我正在使用Xcode 4.5.2。
有任何想法吗?
我已经工作了2个月的项目无缘无故地停止了工作,因为Xcode被卡在了“索引”上。我不能再建立项目了。如果我尝试构建,Xcode会冻结,我必须强制退出。仅在此项目中会发生这种情况。
我尝试清除所有派生数据,但没有帮助。
我正在使用Xcode 4.5.2。
有任何想法吗?
Answers:
如果您的问题仍未解决,请用备份文件替换该文件。
在所有Xcode行为异常的情况下,首先尝试使用Nuking Derived Data
我遇到了这个确切的问题,这是由20个项目的数组文字引起的。不得不切换到不同的语法。真傻。
我有一个类似的问题,发现我不小心将一个类定义为其自己的子类。我对此没有任何警告或错误,但编译失败。
class mainClass : mainClass
{
...
}
当使用Xcode 6并说
等待化妆
可能是make实例已在运行。终止进程并继续编制索引。傻了,但是为我工作。
如果您尝试解决索引问题,而您又不在页面中,那可以尝试另一件事!
尝试将此标志添加到构建设置中。
-Xfrontend -warn-long-expression-type-checking=400
如果编译器需要很长时间来推导复杂的表达式,则会引起警告。
这可能会导致生成错误,该错误将在您找到慢速表达式然后删除生成标志后消失。
按住alt>“产品”>“清理构建文件夹”
这发生在我身上。如果您正在使用cocoapods,请执行以下操作:
我有一个类似的问题,即Xcode将花费大量时间编制索引,并经常挂起构建项目,这时我不得不强制退出并重新启动Xcode。真烦人。
然后,我在项目中注意到一条警告,提示不当分配self
代理。果然,类声明中缺少协议。请注意,OP的示例代码中有类似的分配(尽管无法从示例中判断是否声明了正确的协议):
leaderboardController.leaderboardDelegate == self;
解决该警告(通过正确声明已实现的协议)后,Xcode停止了行为异常。另外,我要指出,该项目没有正确执行,因为该协议的方法进行实施。只是Xcode无法确认该协议实际上应该由该类实现。
没有什么工作对我来说,我的工程量太大(合并目标c
,c++
,swift
,和java
文件与j2obj)。我已经禁用了Xcode索引,并且几个月来都没有代码完成,这很痛苦。但最后我找到了解决方法。这个想法是让Xcode索引代码,但要使用外部工具来限制其CPU使用率cputhrottle
。
所以首先您需要在终端中安装cputhrottle
酿造安装cputhrottle
然后像这样限制Xcode索引过程(20 = 20%)
须藤cputhrottle $(pgrep -f com.apple.dt.SKAgent)20
我在这里通过模式详细信息介绍了“解决方案”:在索引大型项目时如何防止Xcode使用100%的CPU
在Xcode 6.4中有类似的问题。进度条指示“索引”为“已暂停”。尝试删除project.xcworkspace,然后如上所述删除Derived Data。似乎没有帮助。注意到上面的帖子还建议修复警告,并且由于我继承了180个警告的大型项目,所以我对自己说:“这真是修复警告的好日子。” 在修正警告时,半小时后,我注意到“索引编制”进度条已从10%增加到大约20%。一个小时后,达到50%,然后又一个小时达到80%,然后又过了半个小时,就完成了!结论:在上述建议中加上“吃一顿午饭或午睡”。
就我而言,删除派生数据目录无济于事。显然,我有一个文件被另一个进程锁定,因为在关闭了几个终端窗口和emacs,并终止了一个本机打包程序后,一切都解决了。
对我来说,我犯了一个愚蠢的错误。我写一个这样的类:
class A: A {
.......
}
一个类继承自身,导致冻结。Xcode没有消息提示。
我在一些使用Xcode 9.3.1的项目中遇到了这个问题,在我的情况下,该问题是由于某些出于某些原因Xcode不喜欢的快速代码所致。由于很难找到导致问题的文件,因此很难解决此问题。
遇到此问题时,我从Xcode项目中删除了一些文件(删除了引用),并尝试测试索引是否有效。我的流程
就我而言,我在同一个文件中有一个带有响应式扩展名的类定义,由于某种原因,Xcode不喜欢它,所以我将响应式扩展名移到了另一个文件,现在索引工作正常。
关闭您的Xcode,关闭任何git客户端(源树或终端)(如果已打开),最后重启您的项目。
我在Swift 2.2中遇到了同样的问题
它与泛型函数重载函数有关
func warnLog() {
print("Warning line: \(#line) file: \(#file) ")
}
func warnLog<T>(input:T? = nil) -> T? {
print("Warning line: \(#line) file: \(#file) ")
return input
}
func warnLog<T>(input:T) -> T {
print("Warning line: \(#line) file: \(#file) ")
return input
}
我需要做的就是删除未使用的重载之一
func warnLog<T>(input:T? = nil) -> T? {
print("Warning line: \(#line) file: \(#file) ")
return input
}
我的情况是:这不是project.xcworkspace文件,也不是“派生数据”文件夹。
我浪费了很多时间。更糟糕的是,没有错误消息。Xcode没有任何线索。绝对输了。
最后,此函数(具有10多个参数)负责。
func animationFrames(level: Float,
image: String,
frame0: String,
frame1: String,
frame2: String,
frame3: String,
frame4: String,
frame5: String,
frame6: String,
frame7: String,
frame8: String,
frame9: String,
frame10: String) {
}
要疯了!事实是,这令人担忧(因为没有语法错误或任何类型)
当我的机器的交换空间不足时,此问题发生在我身上。关闭了几个程序和浏览器选项卡,并且在固定在位30分钟后,构建突然成功。与我这边的派生数据,锁定文件等无关。
我已经尝试了所有列出的内容,但索引却一直处于冻结状态。这对我有帮助:如果您的索引被冻结,并且您有一个或多个快速进程吞噬了99%的CPU,只需杀死这个快速任务,稍等片刻,进度就可以移动。它可以重复执行,直到完成为止,以我为例,我杀死了7次该过程,但最后,索引已完成!