我在Xcode中遇到了一个问题,错误“源套件服务终止”正在弹出,所有语法高亮显示和代码完成都在Swift中消失了。我该如何解决这个问题?

下面是一个示例图像:


当前回答

我在Xcode6 beta 3中创建了一个在beta 2中创建的项目,遇到了同样的问题。

这是因为swift语言中出现了新的突破性变化,即数组声明语法。

检查受影响的代码由于破坏性的变化在beta 3。

http://adcdownload.apple.com//Developer_Tools/xcode_6_beta_3_lpw27r/xcode_6_beta_3_release_notes__.pdf

我的例子之一是:

我不得不改变:

var tabBarController : UITabBarController = self.window?.rootViewController as UITabBarController;

to

var tabBarController : UITabBarController = self.window!.rootViewController as UITabBarController

结论:看起来如果源代码中有错误,在某些情况下这个错误是由Xcode产生的。

解决方案,直到bug被修复:手动检查错误:)

古德勒克!

其他回答

在我的spritekit项目中插入touchesMoved-function后,这种情况开始发生。这个函数使用强制展开,这似乎导致了问题:

override func touchesMoved(touches: NSSet!, withEvent event: UIEvent!)

在删除感叹号并停止强制打开后,SourceKitService停止了崩溃。

希望这能有所帮助!

在Xcode 6 Beta 3中,我每隔几秒钟就会遇到这个问题,甚至在全新的项目中,这个问题仍然存在。我将部署目标从8.0更改为7.1,它已经停止。

如果Xcode打开,退出Xcode。然后从终端运行:

defaults delete com.apple.dt.Xcode

这将把Xcode恢复到默认设置。打开Xcode,一切都可以正常工作了。

今天有同样的问题,事情是与println,我只是尝试了旧的NSLog风格打印一个值:

// something like this
println("value = %@", valueObj)

我们应该如何在swift中组成字符串的方式已经从printf风格演变为内联风格,所以现在你可以像这样将你的值嵌入到格式字符串中:

"Here goes \(YOUR_VARIABLE)"

所以,对于上面的例子,解决方案是:

println("value =\(valueObj)")

我发现从终端删除派生数据可以解决这个问题,直到下一次崩溃。:年代

它位于:/Users/{用户名}/Library/Developer/Xcode/DerivedData/{项目名}-{随机字符序列}

我希望这能有所帮助。