我在Xcode中遇到了一个问题,错误“源套件服务终止”正在弹出,所有语法高亮显示和代码完成都在Swift中消失了。我该如何解决这个问题?
下面是一个示例图像:
我在Xcode中遇到了一个问题,错误“源套件服务终止”正在弹出,所有语法高亮显示和代码完成都在Swift中消失了。我该如何解决这个问题?
下面是一个示例图像:
当前回答
一个只包含这两行的程序(在Swift语法方面可能是错误的)足以导致“SourceKitService Terminated”错误:
var x = 42
println("Hello", x)
使用let而不是var可以使编辑器恢复正常工作。Xcode 6.0版本(6A215l)
其他回答
只要我输入,SourceKitService就会在我的系统上崩溃
extension foo {
我使用的是Xcode 6 beta 6,不管我是把它输入到一个空文件中,还是把它添加到一个现有的文件中。只要源代码包含一个扩展块,它就会崩溃。即使在新创建的项目中也会发生这种情况。
我的“解决方案”是避免在我目前正在开发的源代码中进行扩展。我注释掉了类块的结尾和扩展块的开头。我一完成这门课的工作,就会再次对它们进行评论:
class MyClass {
[... my stuff ...]
//}
//
//extension MyClass {
}
我发现,通过显式地(静态地)键入变量类型,而不是推断它们,为我解决了这个问题。
Xcode 6.1 Beta 3:
一旦你在一个Swift文件中定义了一个非私有类型别名(例如typealias Foo = Int),在另一个文件中输入字母c, SourceKitService就会崩溃。
解决方案是要么放弃使用类型别名,等待下一个beta版本,要么将类型别名包装在类定义中:
public class DummyClass {
public typealias Foo = String
}
像这样使用它:
var myVar:DummyClass.Foo?
为了解决这个问题,你的Swift代码可能会有一些奇怪的问题。例如,因为您正在复制和粘贴,所以有多个iboutlet的定义。通常这只是一个无法处理的语法错误。
到目前为止,对我来说最常见的两个原因是:
行末的分号 导入文件中未引用的框架