我在Xcode中遇到了一个问题,错误“源套件服务终止”正在弹出,所有语法高亮显示和代码完成都在Swift中消失了。我该如何解决这个问题?
下面是一个示例图像:
我在Xcode中遇到了一个问题,错误“源套件服务终止”正在弹出,所有语法高亮显示和代码完成都在Swift中消失了。我该如何解决这个问题?
下面是一个示例图像:
当前回答
在过去的几个月里,我几乎每天都有这种感觉。尝试了上面所有的方法,它只能暂时修复它。
最后,在两周前,我将DerivedData位置更改为一个新位置,而且我一次都没有遇到过这个问题。
我注意到,当我删除我的派生数据文件夹时,它会重新生成,由于某种原因大约是3GB。当我创建一个新文件夹时,它并没有重新生成所有这些数据。
希望这能帮助到一些人。
其他回答
在Xcode 6 Beta 3中,我每隔几秒钟就会遇到这个问题,甚至在全新的项目中,这个问题仍然存在。我将部署目标从8.0更改为7.1,它已经停止。
今天有同样的问题,事情是与println,我只是尝试了旧的NSLog风格打印一个值:
// something like this
println("value = %@", valueObj)
我们应该如何在swift中组成字符串的方式已经从printf风格演变为内联风格,所以现在你可以像这样将你的值嵌入到格式字符串中:
"Here goes \(YOUR_VARIABLE)"
所以,对于上面的例子,解决方案是:
println("value =\(valueObj)")
当此错误开始弹出时,只需注释掉您编写的最后/最近的一段代码并等待一段时间。语法高亮显示应该会重新出现。这就是我解决这个问题的方法。
func someFunc() -> (Int?, Int?, Int?) {
var retVal1:Int? = nil
var retVal2:Int? = nil
var retVal3:Int? = nil
//some other code
//commenting out the line below helped me
//(retVal1, retVal2, retVal3)
return (retVal1, retVal2, retVal3)
}
在我的spritekit项目中插入touchesMoved-function后,这种情况开始发生。这个函数使用强制展开,这似乎导致了问题:
override func touchesMoved(touches: NSSet!, withEvent event: UIEvent!)
在删除感叹号并停止强制打开后,SourceKitService停止了崩溃。
希望这能有所帮助!
我在嵌套的objective - c++项目中也犯了同样的错误,该项目现在包含了带有Swift代码的框架。为了解决这个问题,我必须明确地构建框架。一旦我做了,那期就没了,再也不会回来了;)