Swift SourceKitService 崩溃

Posted

技术标签:

【中文标题】Swift SourceKitService 崩溃【英文标题】:Swift SourceKitService Crashed 【发布时间】:2014-12-01 13:14:12 【问题描述】:

我有一个使用 Core Data 的 Swift 项目,为 saveContext() 生成的代码导致 Xcode 因 SourceKitService Crashed 错误而崩溃。当我将其注释掉时,错误停止,似乎是self.managedObjectContext 导致了错误。我已经注释掉了我的代码,所以它就像一个新项目,但它仍然崩溃。谢谢

(Xcode 6.0.1)

func saveContext () 
    if let moc = self.managedObjectContext 
        var error: NSError? = nil
            if moc.hasChanges && !moc.save(&error) 
                // Replace this implementation with code to handle the error appropriately.
                // abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
                NSLog("Unresolved error \(error), \(error!.userInfo)")
                abort()
        
    

我创建了一个新项目并复制了我的代码,并且新项目很好(并且完全相同),因此我已将此作为潜在错误报告给苹果。

谢谢

更新:

发现这是为了让事情变得更容易:)

https://github.com/kattrali/deriveddata-exterminator

【问题讨论】:

这是一个 xcode 错误。您应该向 Apple 报告 你能把整个代码贴在这里吗? 升级到 Xcode 6.1 测试版。这解决了它。 【参考方案1】:

我会在各种项目中工作并不断收到此错误,有时甚至会导致 Xcode 无法使用。我最终通过退出 Xcode,清空 ~/Library/Developer/Xcode/DerivedData 文件夹,然后重新打开项目解决了这个问题。

【讨论】:

所以这对我也有用。有趣的是,仅仅通过 Xcode 清除派生数据是不够的。完全吹走目录的内容是诀窍。 在 XCode 6.1 中仍然看到相同的问题...和相同的解决方案。 正在考虑将其添加为每分钟触发一次的 cronjob,因为 XCode 6 不断向我发送此错误的垃圾邮件... 清空整个文件夹后错误仍然存​​在...对于xcode 6.0.1。 我希望 xcode 有朝一日能够快速适应。自动完成甚至无法在这个 sourcekitservice 崩溃时正常工作。它只是神经!【参考方案2】:

Apple 解决此崩溃版本:6.1.1

6.1.1 版的新功能

包括适用于 OS X 10.10 Yosemite、OS X 10.9 Mavericks 和 ios 8.1 的 SDK

• Fixes common causes of SourceKit crashes when working with Swift
• Additional bug fixes and stability improvements

https://itunes.apple.com/us/app/xcode/id497799835?ls=1&mt=12

您也可以使用从以下路径删除您的项目来解决此问题

~/Library/Developer/Xcode/DerivedData

【讨论】:

如果这是真的,那将是个好消息! 我正在运行 6.1.1,但我仍然一直收到此崩溃。 不,它不是固定的。我下载这个小更新只是因为 Apple 说他们修复了这个错误。 @Krishnabhadra 和 Rob 我在 facebook sdk 的 Facebook.framework 中遇到了同样的问题,但在 Xcode 6.1.1 中它的工作.. 我在 XCode 6.2 上,清空该文件夹的内容并重新打开项目后,当我尝试使用 Xcode 6.2 中的“查找和替换工具”时,它仍然无缘无故崩溃。

以上是关于Swift SourceKitService 崩溃的主要内容,如果未能解决你的问题,请参考以下文章

SourceKitService 终止,没有 Xcode 警告或错误

XCode 7.2 在协议扩展实现功能不正确时崩溃

Swift“专业”崩溃

如何捕捉 Swift 崩溃并进行一些日志记录

Swift3 - 视觉格式约束崩溃

Swift 4:@IBOutlet UITextView 崩溃