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

下面是一个示例图像:


当前回答

将部署目标更改为iOS 8.0对我来说很有效。我知道有人说将它移动到<=7.1可以工作,但这个问题似乎来自多个来源,所以这个替代方案可能可以工作。

其他回答

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

    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)
    }

在xcode中,转到你的菜单栏>>窗口>> devices (shift+cmd+2),一个新的窗口将弹出,并在左下角,添加一个新的模拟器,特别是一个运行在iOS 8.0上的现有列表 编辑:你可能需要重新启动xcode

具有:http://www.reddit.com/r/swift/comments/2bznfo/error_running_playground_unable_to_find_suitable/

对我来说(xcode 6.1),原因是我忘记采用我的子类协议。

例如,这是错误的:

protocol SomeProtocol { ... }
class A :NSObject, SomeProtocol {
...
}
class B : A {
...
}

这是可以的:

protocol SomeProtocol { ... }
class A : NSObject, SomeProtocol {
...
}
class B : A, SomeProtocol {
...
}

今天有同样的问题,事情是与println,我只是尝试了旧的NSLog风格打印一个值:

// something like this
println("value = %@", valueObj)

我们应该如何在swift中组成字符串的方式已经从printf风格演变为内联风格,所以现在你可以像这样将你的值嵌入到格式字符串中:

"Here goes \(YOUR_VARIABLE)"

所以,对于上面的例子,解决方案是:

println("value =\(valueObj)")

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

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

我希望这能有所帮助。