我在Xcode中遇到了一个问题,错误“源套件服务终止”正在弹出,所有语法高亮显示和代码完成都在Swift中消失了。我该如何解决这个问题?
下面是一个示例图像:
我在Xcode中遇到了一个问题,错误“源套件服务终止”正在弹出,所有语法高亮显示和代码完成都在Swift中消失了。我该如何解决这个问题?
下面是一个示例图像:
当前回答
对我来说(xcode 6.1),原因是我忘记采用我的子类协议。
例如,这是错误的:
protocol SomeProtocol { ... }
class A :NSObject, SomeProtocol {
...
}
class B : A {
...
}
这是可以的:
protocol SomeProtocol { ... }
class A : NSObject, SomeProtocol {
...
}
class B : A, SomeProtocol {
...
}
其他回答
我的答案(Xcode6-Beta7)是简单地删除派生数据文件夹。
首选项>位置>衍生数据>单击箭头打开Finder >垃圾。
很明显,这种崩溃的发生有很多原因。
只是在这里添加一个潜在的解决方案,我不小心命名了一个类var与它的类型相同的名称:
class var Settings:Settings {
get { return classVarWorkAround.settings }
}
这肯定会使SourceKit崩溃。愚蠢的语法错误,但以防其他人犯同样的错误。
编辑:根据@Portland Runner:
类似地,如果将返回类型设置为func名称,则会得到错误。
func foo() ->foo{}
你只需要删除“ModuleCache”,这是Xcode用于自动补全的某种缓存。
在终端中复制并粘贴以下代码行:
/Library/Developer/Xcode/DerivedData/ModuleCache . rm -rf ~/Library/Developer/Xcode/DerivedData/ModuleCache . rm
在过去的几个月里,我几乎每天都有这种感觉。尝试了上面所有的方法,它只能暂时修复它。
最后,在两周前,我将DerivedData位置更改为一个新位置,而且我一次都没有遇到过这个问题。
我注意到,当我删除我的派生数据文件夹时,它会重新生成,由于某种原因大约是3GB。当我创建一个新文件夹时,它并没有重新生成所有这些数据。
希望这能帮助到一些人。
我在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被修复:手动检查错误:)
古德勒克!