Xcode卡在索引上

时间:2012-12-12 01:50:43

标签: xcode indexing freeze

我已经工作了2个月的项目因为Xcode陷入“索引”而无缘无故地停止工作。我不能再建造这个项目了。如果我尝试构建,Xcode冻结,我必须强制退出。这只发生在这个项目中。

我尝试清除所有派生数据,但没有帮助。

我正在使用Xcode 4.5.2。

有什么想法吗?

34 个答案:

答案 0 :(得分:145)

  1. 打开您的项目文件夹。
  2. 查找ProjectName.xcodeproj文件。
  3. 右键单击“复制并粘贴到安全位置”。
  4. 右键单击“显示包内容”。
  5. 找到project.xcworkspace文件并删除该文件。
  6. 重新打开您的项目并清理并重建。
  7. 如果问题仍未解决,请将文件替换为备份文件。

答案 1 :(得分:61)

  1. 从Xcode关闭该项目
  2. 打开Xcode Organizer,找到有问题的项目
  3. 删除管理器中的派生数据文件夹
  4. 关闭/重新打开Xcode
  5. Nuking Derived Data是在所有Xcode行为不端的情况下尝试的第一件事

答案 2 :(得分:21)

我有这个确切的问题,它是由20项数组文字引起的。不得不切换到不同的语法。很傻。

答案 3 :(得分:12)

  1. 关闭所有已打开的Xcode
  2. rm -rf ~/Library/Developer/Xcode/DerivedData
  3. 右键单击您的PROJECT_NAME.xcworkspace,选择“显示内容”,然后删除“xcuserdata”'夹

答案 4 :(得分:8)

使用Xcode 6时,它说

  

等待制作

可能是make的一个实例已经在运行。杀死进程并编制索引进度。傻,但为我工作。

答案 5 :(得分:8)

我遇到了类似的问题,发现我不小心将一个类定义为自己的子类。我没有收到任何警告或错误,但编译被卡住了。

class mainClass : mainClass
{
    ...
}

答案 6 :(得分:4)

按住alt>产品>清理构建文件夹

答案 7 :(得分:3)

这是一个Xcode错误(Xcode 8.2.1)并且我已经向Apple报告过,当你有一个大的字典文字或嵌套的字典文字时会发生这种情况。您必须将字典拆分为较小的部分,并使用append方法添加它们,直到Apple修复该错误。

答案 8 :(得分:3)

让我完全关闭Xcode,然后重新启动项目。

这不是原始问题的解决方案,我不相信,但在删除文件和文件夹等之前尝试这是一件更简单的事情。感谢this answer的想法。< / p>

答案 9 :(得分:2)

我有一个类似的问题,Xcode会花很多时间索引,并经常挂起构建项目,此时我不得不强制退出并重新启动Xcode。这很烦人。

然后我注意到项目中有关于不正确地将self指定为委托的警告。果然,类声明中缺少一个协议。请注意,OP的示例代码中有类似的赋值(尽管从样本中无法判断是否声明了正确的协议):

leaderboardController.leaderboardDelegate == self;

解决该警告后(通过正确声明已实施的协议),Xcode停止行为不端。此外,我应该注意到项目确实执行正确,因为协议方法 实现。只是Xcode无法确认协议实际上应该由类实现。

答案 10 :(得分:2)

  • 首先,断开网络连接。您的有线网络和无线网络都应该关闭。
  • 其次,杀死com.apple.dt.SourceKitService进程。然后XCode将再次开始索引,而不是卡住。

enter image description here

答案 11 :(得分:2)

如果您尝试解决索引编制问题并尝试解决此问题,请尝试另一件事!

尝试将此标记添加到您的构建设置。

Xfrontend -warn-long-expression-type-checking=400

build settings flag

如果编译器花费很长时间推断出复杂的表达式,它将引发警告。

warning

这可能会导致构建错误,在找到慢速表达式然后删除构建标志后,该错误将消失。

答案 12 :(得分:1)

这发生在我身上。如果您正在使用cocoapods,请执行以下操作:

  1. 删除project.xcworkspace
  2. 使用&#39; pod install&#39;重新安装pod。在终端
  3. 它将创建一个新的project.xcworkspace
  4. 打开新project.xcworkspace - &gt;清洁 - &gt;构建

答案 13 :(得分:1)

我在使用Xcode 9.3.1的一些项目中遇到过这个问题,在我的情况下,问题是由于某些原因Xcode不喜欢的快速代码。这个问题很难解决,因为很难找到导致问题的文件。

当我遇到这个问题时,我从Xcode项目中删除一些文件(删除引用),我尝试测试索引是否有效。我这样做的过程

  1. 删除一些文件
  2. 关闭Xcode
  3. 打开Xcode
  4. 如果索引完成尝试重命名一些方法,如果可能你删除的文件有效,他们对Xcode有一些奇怪的东西。
  5. 在我的情况下,我在同一个文件中有一个带有被动扩展的类定义,由于某些原因Xcode不喜欢它,我将被动扩展移动到另一个文件,现在索引工作正常。

答案 14 :(得分:1)

对我没有任何帮助,我的项目太大了(将目标cc++swiftjava文件与j2obj合并)。我禁用了Xcode索引,并且几个月来都没有代码完成,这很痛苦。但是最后我找到了解决方法。这个想法是让Xcode索引代码,但是要使用cputhrottle之类的外部工具来限制它的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

答案 15 :(得分:1)

我正在使用Xcode 11.4.1,并且在几个项目中都遇到相同的问题。每当互联网连接断开时,索引就会建立。最佳解决方案(这只是我根据观察到的问题得出的意见):

-关闭Internet并终止“ com.apple ....”进程,然后重新启动Xcode(打开连接)

或更简单

-只需重启Mac(通过互联网)

答案 16 :(得分:1)

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

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

一个类继承自身导致冻结。 Xcode没有消息提示。

答案 17 :(得分:1)

在Xcode 6.4中有类似的问题。进度条表示&#34;索引&#34;被停顿了#34;尝试删除project.xcworkspace,然后如上所述删除派生数据。似乎没有帮助。注意到上面的帖子也建议修正警告,因为我继承了180个警告的这个巨大的项目,我对自己说,&#34;这到底是什么,这是修好警告的好日子&#34;。半小时后,当我正在修正警告时,我注意到了#34; Indexing&#34;进度条从10%增加到约20%。一个小时后,它是50%,然后是另一个小时到80%,然后又过了半个小时就完成了!结论:添加&#34;长时间午餐或午睡&#34;以上建议。

答案 18 :(得分:1)

我遇到了与Xcode 7.0 beta相同的问题。 在我的例子中,&#34;供应配置文件&#34;的值和&#34;产品包标识符&#34; &#34;构建设置&#34; PROJECT和TARGETS之间存在差异。 我为它们设置了相同的值。而且我也使用相同的值作为&#34; appName&#34;的目标。和&#34; appNameTest&#34;。 然后关闭项目并重新打开它。 这解决了我的问题。

答案 19 :(得分:1)

在我的情况下,删除派生数据目录没有帮助。显然我有一个文件被另一个进程锁定,因为关闭了几个终端窗口和emacs,并终止了一个反应原生的打包程序,一切都解决了。

答案 20 :(得分:0)

对于XCode 9.3索引问题 - 卸载XCode并从零开始再次安装。适合我。

答案 21 :(得分:0)

也停止运行应用。如果你有另一个运行xcode的应用程序,先停止它,你应该继续索引。

答案 22 :(得分:0)

是的,每次我尝试打开Main.Storyboard Xcode时都会突然冻结。这仅在我的一个项目中发生,然后在Xcode上的所有项目中发生。

没有运气尝试了以下内容:

  1. 删除Xcode并重新安装。

  2. 因子重置了我的Mac。

  3. 创建一个新项目并将文件夹移动到新项目。也不适用于 我。

解决方案 [就我而言],我相信大多数人都会遇到这种情况。

我注意到名为“ IBAgent-iOS” 的进程占用了我的大部分CPU资源。每次我要打开情节提要时,它都会消耗多达97%的CPU资源!

因此,我需要转到“活动监视器”>搜索此进程名称“ IBAgent-iOS” (主要显示在顶部)>单击它并强制退出。

答案 23 :(得分:0)

在SwiftUI项目上出现此问题。原来我的SwiftUI视图之一有一个错误声明的变量。我有:

@EnvironmentObject var roomViewModel

我需要的地方:

@EnvironmentObject var roomViewModel: RoomViewModel

没有编译器错误,只是无休止的索引编制。解决错误后,该项目很快建立起来。

答案 24 :(得分:0)

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

答案 25 :(得分:0)

当我的机器没有交换空间时,我遇到了这个问题。关闭了几个程序和浏览器选项卡,在卡住30分钟后,构建突然成功。与我这边的派生数据,锁定文件等无关。

答案 26 :(得分:0)

我通过简单地从我的设备中删除应用程序并重建来修复此问题。

答案 27 :(得分:0)

对我来说,原因是我同时在主编辑器助理编辑器中打开了相同的文件。一旦我关闭了助理编辑器,它就会通过。 (Xcode版本7.2.1)

答案 28 :(得分:0)

关闭您的Xcode,关闭任何git客户端(源树或终端),如果它已打开,最后重启项目。

答案 29 :(得分:0)

我的情况:它不是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) {
}

发疯了!事实是它令人担忧(因为没有语法错误或任何类型)

答案 30 :(得分:0)

我也面临着这个问题。我注意到我已经两次打开了同一个项目。

所以QuitXCode&gt;打开您的项目并确保只打开一个实例&gt;清洁&gt;在某些情况下,CleanBuild文件夹&gt;建立。

应该有效

答案 31 :(得分:0)

最近在XCode 7.3.1上面对这一点 - 对我来说,我注意到CleanMyMac3的RAM使用量达到了100%。重新启动机器后,问题神奇地修复了。但公平地说,我已经开始尝试接受的答案了,所以在重新启动之前你还要做同样的事情以防万一: - )

答案 32 :(得分:0)

我在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
}

答案 33 :(得分:-1)

Command-Option-Shift-K清理构建文件夹。