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

下面是一个示例图像:


当前回答

当此错误开始弹出时,只需注释掉您编写的最后/最近的一段代码并等待一段时间。语法高亮显示应该会重新出现。这就是我解决这个问题的方法。

    func someFunc() -> (Int?, Int?, Int?) {
     var retVal1:Int? = nil
     var retVal2:Int? = nil
     var retVal3:Int? = nil

     //some other code

     //commenting out the line below helped me
     //(retVal1, retVal2, retVal3)
     return (retVal1, retVal2, retVal3)
    }

其他回答

我发现从终端删除派生数据可以解决这个问题,直到下一次崩溃。:年代

它位于:/Users/{用户名}/Library/Developer/Xcode/DerivedData/{项目名}-{随机字符序列}

我希望这能有所帮助。

我在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被修复:手动检查错误:)

古德勒克!

在项目中使用Swift以外的其他名称。“Swift”是保留的。

我发现,通过显式地(静态地)键入变量类型,而不是推断它们,为我解决了这个问题。

我的解决方案是更换模拟器。我使用的是iPhone 5S,当我切换到iPhone 5时,一切都很完美。希望未来的版本能完全修复它。