一尘不染

SourceKitService消耗CPU并将Xcode暂停

swift

这不是Beta版问题。我使用的是Xcode
6.0.1,正式版。我遇到的问题是,当我尝试构建或运行我正在处理的代码时,Xcode长时间不响应,并且SourceKitService消耗了超过400%的CPU(根据Activity
Monitor)。尽管奇怪的是,自9月17日正式发布以来,我一直在使用Xcode 6.0,但是最近才升级到6.0.1,希望它包含针对此问题的修复程序。

关于可能的问题有什么想法?


阅读 279

收藏
2020-07-07

共1个答案

一尘不染

今天下午早些时候使用Xcode
6.1.1(不是beta,官方发布版本)遇到了这个问题。我在Playground上运行了一些代码,并怀疑这是原因。CPU被钉住将近100%,并且Xcode无法完成构建。

所以这就是我所做的:

1.打开“活动监视器”,其中将SourceKitService显示为主要的CPU。

2.在“活动监视器”中,双击SourceKitService,然后单击“打开文件和端口”部分,这表明它正在处理/ Users / myname /
Library / Developer / Xcode / DerivedData / ModuleCache /目录下的文件用于特定的文件夹。

3.删除指定的文件夹(使用rm -rf从命令行删除)。根据以下内容重新生成缓存:是否可以安全删除Xcode
Derived数据文件夹的内容?

4.再次使用活动监视器,强制退出SourceKitServer。看到Xcode中现在已经太熟悉的标志了,说SourceKitService崩溃了(所以这就是SourceKitService听起来很熟悉的原因!)。

5.重复步骤3。

Mac又是和平的。没有数据丢失,甚至不必重启Xcode(我尝试失败了)。最重要的是,ModuleCache似乎正在循环获取SourceKitService,而删除文件夹似乎可以解决此问题。希望这也对您有用。

脚注:

顺便说一下,导致SourceKitService问题的原因是我的Swift类中的数组声明太长。我在数组中有200多个条目。将其减少到30,错误消失了。因此,该问题可能是由于Apple代码中的某种堆栈溢出(双关语)造成的。

2020-07-07