我在Xcode中遇到了一个问题,错误“源套件服务终止”正在弹出,所有语法高亮显示和代码完成都在Swift中消失了。我该如何解决这个问题?
下面是一个示例图像:
我在Xcode中遇到了一个问题,错误“源套件服务终止”正在弹出,所有语法高亮显示和代码完成都在Swift中消失了。我该如何解决这个问题?
下面是一个示例图像:
当前回答
报告给苹果公司(#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)文件,你可以遵循以下简单的步骤
我发现,通过显式地(静态地)键入变量类型,而不是推断它们,为我解决了这个问题。
将部署目标更改为iOS 8.0对我来说很有效。我知道有人说将它移动到<=7.1可以工作,但这个问题似乎来自多个来源,所以这个替代方案可能可以工作。
你只需要删除“ModuleCache”,这是Xcode用于自动补全的某种缓存。
在终端中复制并粘贴以下代码行:
/Library/Developer/Xcode/DerivedData/ModuleCache . rm -rf ~/Library/Developer/Xcode/DerivedData/ModuleCache . rm
在过去的几个月里,我几乎每天都有这种感觉。尝试了上面所有的方法,它只能暂时修复它。
最后,在两周前,我将DerivedData位置更改为一个新位置,而且我一次都没有遇到过这个问题。
我注意到,当我删除我的派生数据文件夹时,它会重新生成,由于某种原因大约是3GB。当我创建一个新文件夹时,它并没有重新生成所有这些数据。
希望这能帮助到一些人。