Ton*_*ony 241 xcode ios swift sourcekitservice
我遇到了Xcode的问题,其中弹出了"Source Kit Service Terminated"错误,所有语法高亮和代码完成都在Swift中消失了.我怎样才能解决这个问题?
这是一个示例图像:

tob*_*fin 113
我的答案(Xcode6-Beta7)只是删除Derived Data文件夹.
Preferences > Locations > Derived Data > click the arrow to open in Finder > trash it.
希望这有助于某人.显然有很多原因导致崩溃.
And*_*deh 35
我相信我可能找到了更通用的解决方案.以下是我用来鼓励Xcode不产生SourceKitService Terminated错误的步骤.
Error running playground: Failed prepare for communication with playground.请在推特上查看此图片.OS X到iOS,我会收到另一个错误(不幸的是我没有写下那个).SourceKitService Terminated在这个帖子中收到问题.IDEPlaygroundDocument: Error encountered running playgroundcom.apple.CoreSimulator.CoreSimulatorService[3952]: The runtime for the selected device is not installed.如果您只是在Swift项目的上下文中遇到问题,请先单独尝试.如果这不起作用,请尝试下面的所有步骤.
更漫长和更复杂的过程.(前三个步骤肯定没有用,但我做了它们,所以在这里记录它们)
OS X来iOS.看来问题是Xcode6无法正确查找和连接到模拟器.我无法确定为什么会出现这种情况,但这让我可以继续使用Swift进行开发.这可能与模拟器二进制文件似乎已移动的事实有关.
Dav*_*ias 32
您只需要删除"ModuleCache",这是Xcode用于自动完成的某种缓存.
复制并粘贴终端中的以下行:
rm -rf~/Library/Developer/Xcode/DerivedData/ModuleCache
Kla*_*aas 27
输入后,SourceKitService在我的系统上崩溃
extension foo {
Run Code Online (Sandbox Code Playgroud)
我正在使用Xcode 6 beta 6,如果我将其键入一个空文件或将其添加到现有文件中并不重要.一旦源包含一个extension块,它就会崩溃.甚至在新创建的项目中也会发生
我的"解决方案"是避免扩展我目前正在处理的来源.我注释掉了类块的结尾和扩展块的开头.我一完成课后的工作,就再次评论他们:
class MyClass {
[... my stuff ...]
//}
//
//extension MyClass {
}
Run Code Online (Sandbox Code Playgroud)
小智 9
插入touchesMoved-function后,它开始在我的spritekit项目中发生.此函数使用强制解包,这似乎导致问题:
override func touchesMoved(touches: NSSet!, withEvent event: UIEvent!)
Run Code Online (Sandbox Code Playgroud)
删除感叹号并因此停止强制解包后,SourceKitService停止崩溃.
希望这可以帮助!
我在Apple的开发者论坛上找到了一个解决方案(需要登录,所以我也在这里解释).
TLDR:不要@protocol在Objective-C中导入一个名为与a相同的Swift桥接头@interface.例如,Facebook SDK具有协议和名为"FBGraphObject"的接口.
这是论坛帖子:
添加Facebook SDK会导致SourceKitService崩溃.如果你想使用beta 3并且你需要Facebook SDK,我找到并且正在为我工作的一个解决方法是重构Facebook SDK的@protocol FBGraphObject并将其重命名为@protocol FBGraphObjectProtocol,因为@interface FBGraphObject也存在并且显然是SourceKit不喜欢它.
它肯定是一个临时解决方案,只是为了让你的功能,你将不得不使用Cocoapods或自己构建Facebook SDK,而不是使用框架库.
目前,您需要确保没有冲突的@protocol和@interface声明,并且包括您可能正在使用的第三方库.
今天这让我付出了代价,希望它有所帮助
2014年7月10日由e.parto发布
为项目使用除Swift之外的其他名称."斯威夫特"是保留的.
你的项目命名了Swift吗?看到那条消息,构建也会失败(<unknown>:0: error: module name "Swift" is reserved for the standard library).尝试使用其他项目名称,例如SwiftTest.它会工作.