我在Xcode中遇到了一个问题,错误“源套件服务终止”正在弹出,所有语法高亮显示和代码完成都在Swift中消失了。我该如何解决这个问题?

下面是一个示例图像:


当前回答

我在嵌套的objective - c++项目中也犯了同样的错误,该项目现在包含了带有Swift代码的框架。为了解决这个问题,我必须明确地构建框架。一旦我做了,那期就没了,再也不会回来了;)

其他回答

将扩展移动到主体类之前。

extension SomeType {
// new functionality to add 

}

为了解决这个问题,你的Swift代码可能会有一些奇怪的问题。例如,因为您正在复制和粘贴,所以有多个iboutlet的定义。通常这只是一个无法处理的语法错误。

到目前为止,对我来说最常见的两个原因是:

行末的分号 导入文件中未引用的框架

报告给苹果公司(#17266321):

细节:

简介: 如果我们试图将值作为数组打印一个字典,则弹出窗口会不断弹出-“SourceKit terminated.”编辑器功能暂时受限”。Xcode冻结并失去上下文识别,导致文本变黑。

复制步骤: 1. 创建一个数组为- "var iOSHistoryArray = ["iOS6","iOS7","iOS8",]"

创建一个字典as -"var MacOSYosemiteFeatures: dictionary = ["Device":iOSHistoryArray]"。 将字典打印为- "println("包含数组值的字典:%@ \n",MacOSYosemiteFeatures)"(< < -罪魁祸首——> >) 第3步导致了注释问题,这使得Xcode再次起作用。

预期结果: Xcode应该能正常工作。

实际结果: Xcode变得无功能,失去上下文识别(所有字体丢失,所有文本变成纯黑色),整个Xcode变成非活动。

版本: 版本6.0 (6A215l)

我想我找到了一个(可能还有很多)这种情况发生的原因。

在我的例子中,我通过桥接头导入Objective-C文件,桥接头具有以下true之一:

用于Objective-C导入的实现文件(.m)没有 App目标设置正确。 Objective-C文件只有头文件(.h),而没有 实现(.m)文件。(再一次,我认为这是“不”的一部分 适当的应用目标”设置,因为你只能在。m文件中设置目标 而不是。h文件)

修复Objective-C文件上的应用目标或在桥接头中删除这些文件的导入似乎都可以解决这个问题。

仅供参考-如果你需要设置头(.h)文件的目标,而该文件没有实现(.m)文件,你可以遵循以下简单的步骤