我在Xcode中遇到了一个问题,错误“源套件服务终止”正在弹出,所有语法高亮显示和代码完成都在Swift中消失了。我该如何解决这个问题?
下面是一个示例图像:
我在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被修复:手动检查错误:)
古德勒克!
其他回答
对我来说(xcode 6.1),原因是我忘记采用我的子类协议。
例如,这是错误的:
protocol SomeProtocol { ... }
class A :NSObject, SomeProtocol {
...
}
class B : A {
...
}
这是可以的:
protocol SomeProtocol { ... }
class A : NSObject, SomeProtocol {
...
}
class B : A, SomeProtocol {
...
}
只是在这里添加一个潜在的解决方案,我不小心命名了一个类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
我在嵌套的objective - c++项目中也犯了同样的错误,该项目现在包含了带有Swift代码的框架。为了解决这个问题,我必须明确地构建框架。一旦我做了,那期就没了,再也不会回来了;)
在我的情况下,我已经导入桥接头丢失的文件。在我删除错误导入后,错误通知消失了。