我已经工作了2个月的项目没有任何理由停止工作,因为Xcode陷入了“索引”。我不能再建造这个项目了。如果我尝试构建,Xcode冻结,我必须强制退出。这只发生在这个项目中。
我尝试清理所有派生数据,但没有帮助。
我正在使用Xcode 4.5.2。
有任何想法吗?
如果问题仍未解决,请将文件替换为备份文件。
我有一个类似的问题,Xcode会花很多时间索引,并经常挂起构建项目,此时我不得不强制退出并重新启动Xcode。这很烦人。
然后我注意到项目中有关不正确地将self
指定为代表的警告。果然,类声明中缺少一个协议。请注意,OP的示例代码中有类似的赋值(尽管从示例中无法判断是否声明了正确的协议):
leaderboardController.leaderboardDelegate == self;
解决该警告后(通过正确声明已实现的协议),Xcode停止了行为不端。此外,我应该注意,自协议方法实施以来,项目确实正确执行。只是Xcode无法确认该协议实际上应该由该类实现。
如果您尝试解决索引问题并尝试解决索引问题,请尝试另一件事!
尝试将此标志添加到您的构建设置中。
-Xfrontend -warn-long-expression-type-checking=400
它将导致编译器花费很长时间推断出复杂表达式的警告。
这可能会导致生成错误,在找到慢速表达式然后删除构建标志后,该错误将消失。
在Xcode 6.4中有类似的问题。进度条表示“索引”已“暂停”。尝试删除project.xcworkspace,然后如上所述删除派生数据。似乎没有帮助。注意到上面的帖子也建议修正警告,因为我继承了180个警告这个庞大的项目,我对自己说,“这到底是什么时候修好警告”。半小时后,当我修正警告时,我注意到“索引”进度条从10%增加到大约20%。一个小时后,它是50%,然后是另一个小时到80%,然后又过了半个小时就完成了!结论:在上述建议中添加“长时间午餐或午睡”。
我遇到了与Xcode 7.0 beta相同的问题。在我的例子中,“构建设置”的“供应配置文件”和“产品包标识符”的值在PROJECT和TARGETS之间不同。我为它们设置了相同的值。我还为“appName”和“appNameTest”的TARGETS使用了相同的值。然后关闭项目并重新打开它。这解决了我的情况。
就我而言,删除派生数据目录没有帮助。显然我有一个文件由另一个进程锁定,因为在关闭了几个终端窗口和emacs,并终止反应原生包装程序进程后,一切都解决了。
对我来说,我犯了一个愚蠢的错误。我写了一个这样的类:
class A: A {
.......
}
一个类继承自身导致冻结。 Xcode没有消息提示。
这发生在我身上。如果您正在使用cocoapods,请执行以下操作:
我在使用Xcode 9.3.1的一些项目中遇到过这个问题,在我的情况下,问题是由于某些原因Xcode不喜欢的一些快速代码。这个问题很难解决,因为很难找到导致问题的文件。
当我遇到这个问题时,我从Xcode项目中删除一些文件(删除引用),我尝试测试索引是否有效。我这样做的过程
在我的情况下,我在同一个文件中有一个带有被动扩展的类定义,由于某种原因Xcode不喜欢它,我将被动扩展移动到另一个文件,现在索引工作正常。
没有什么对我有用,我的项目太大了(将目标c
,c++
,swift
和java
文件与j2obj合并)。我已经禁用Xcode索引并且几个月没有代码完成工作(这很痛苦)。但最后我找到了一个解决方法。我们的想法是让Xcode为代码编制索引,但是使用像cputhrottle
这样的外部工具来限制其CPU使用率。
所以首先你需要在终端安装cputhrottle
brew安装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
在所有Xcode行为异常的情况下,首先尝试Nuking Derived Data
也停止运行应用程序。如果你有另一个运行xcode的应用程序,先停止它,你应该继续索引。
对我来说,原因是我同时在主编辑器和助理编辑器中打开了同一个文件。一旦我关闭了助理编辑器,它就会通过。 (Xcode版本7.2.1)
关闭您的Xcode,关闭任何git客户端(源树或终端),如果它已打开,最后重新启动您的项目。
我也面临着这个问题。我注意到我已经两次打开了同一个项目。
所以QuitXCode>打开你的项目并确保只有一个实例打开> Clean> CleanBuild文件夹在某些情况下> build。
它应该工作
最近在XCode 7.3.1上面对这一点 - 对我来说,我注意到CleanMyMac3的RAM使用量达到了100%。重新启动机器后,问题神奇地修复了。但公平地说,我已经开始尝试接受答案了,所以你要在重启之前做同样的事情以防万一:-)
我通过简单地从我的设备中删除应用程序并重建来修复此问题。
我在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文件,它不是Derived Data文件夹。
我浪费了很多时间。更糟糕的是,没有错误消息。 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) {
}
要发疯了!事实是,这是令人担忧的(因为没有语法错误,或任何类型)
对于XCode 9.3索引问题 - 卸载XCode并从零重新安装。适合我。
当我的机器没有交换空间时,这个问题发生在我身上。关闭了几个程序和浏览器选项卡,在30分钟卡住之后,构建突然成功。与我这边的派生数据,锁定文件等无关。
我有这个确切的问题,它是由20项数组文字引起的。不得不切换到不同的语法。很傻。
我已经尝试了所有列出的东西,索引是保持冻结。这对我有帮助:如果你的索引是冻结的,并且你有一个或多个快速进程占用了99%的cpu - 只需要杀掉这个快速的任务,稍等一下,进度应该移动。它可以重复,直到它完成,在我的情况下我杀了这个过程7次,但最后,索引完成了!
rm -rf ~/Library/Developer/Xcode/DerivedData
当使用Xcode 6时,它说
等待制作
可能是make的实例已经在运行。杀死进程并编制索引进度。傻,但为我工作。
我遇到了类似的问题,发现我不小心将一个类定义为自己的子类。我没有得到任何警告或错误,但编译卡住了。
class mainClass : mainClass
{
...
}
按住alt>产品>清理构建文件夹
对我来说,完全关闭Xcode,然后重新启动项目工作。
这不是原始问题的解决方案,我不相信,但在删除文件和文件夹等之前尝试这是一件更简单的事情。感谢this answer的想法。
这是一个Xcode错误(Xcode 8.2.1),我已经向Apple报告过,当你有一个大的字典文字或一个嵌套的字典文字时会发生这种情况。您必须将字典拆分为较小的部分,并使用append方法添加它们,直到Apple修复该错误。