ios - SourceKitService 消耗 CPU 并导致 Xcode 停止

标签 ios iphone swift xcode sourcekit

这不是测试版问题。我正在使用 Xcode 6.0.1,生产版本。我遇到的问题是,当我尝试构建或运行我正在处理的代码时,Xcode 在很长一段时间内变得无响应,并且 SourceKitService 消耗了 400% 以上的 CPU(根据 Activity Monitor)。这个问题是最近几天的新问题,但奇怪的是,自从 Xcode 6.0 于 9 月 17 日正式发布以来,我一直在使用它。我升级到 6.0.1,希望它能修复这个问题。

知道问题出在哪里吗?

最佳答案

今天下午早些时候在 Xcode 6.1.1(不是测试版,正式发布的版本)中遇到了这个问题。我一直在 Playground 上运行一些代码,并怀疑这是原因。 CPU 使用率接近 100%,Xcode 无法完成构建。

所以这就是我所做的:

1. 打开“Activity Monitor”,它显示 SourceKitService 是主要的 CPU hog。

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

3. 删除了指定的文件夹(从命令行,使用 rm -rf)。缓 stub 据Can I safely delete contents of Xcode Derived data folder?重新生成.

4.再次使用Activity Monitor,Force-Quit SourceKitServer。在 Xcode 中看到现在非常熟悉的标志,表明 SourceKitService 已崩溃(这就是为什么 SourceKitService 听起来很熟悉!)。

5. 重复第3步。

Mac 又是和平的。没有数据丢失,甚至不必重新启动 Xcode(我曾尝试过但未成功)。底线是 ModuleCache 似乎在循环中获取 SourceKitService 并且删除文件夹似乎可以修复它。希望这对你也有用。

引导说明:

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

关于ios - SourceKitService 消耗 CPU 并导致 Xcode 停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26151954/

相关文章:

ios - 动画内容插图

ios - 传播特定的触摸事件以在下方查看

iphone - 集成照片库 + iPhone

ios - 对成员 'first(where)' 的模糊引用

iphone - 在 IOS 上的单个 ScrollView 中对两个 ImageView 进行双指缩放

ios - react native 输入自动填充

swift - 新项目使用 SwiftUI、XCode 12 和 Catalina 失败

ios - 大型项目的 SwiftUI 预览超时

ios - Realm 到 iOS addItem 刷新问题

iphone - 如何仅获取地址簿中具有传真号码的联系人列表?