SourceKitService已终止

 霞霞123321 发布于 2023-01-12 07:39

我遇到了Xcode的问题,其中弹出了"Source Kit Service Terminated"错误,所有语法高亮和代码完成都在Swift中消失了.我怎样才能解决这个问题?

这是一个示例图像:

在此输入图像描述

9 个回答
  • 输入后,SourceKitService在我的系统上崩溃

    extension foo {
    

    我正在使用Xcode 6 beta 6,如果我将其键入一个空文件或将其添加到现有文件中并不重要.一旦源包含一个extension块,它就会崩溃.甚至在新创建的项目中也会发生

    我的"解决方案"是避免扩展我目前正在处理的来源.我注释掉了类块的结尾和扩展块的开头.我一完成课后的工作,就再次评论他们:

    class MyClass {
    
        [... my stuff ...]
    
    //}
    //
    //extension MyClass {
    
    }
    

    2023-01-12 07:44 回答
  • 我的答案(Xcode6-Beta7)只是删除Derived Data文件夹.

    Preferences > Locations > Derived Data > click the arrow to open in Finder > trash it.

    希望这有助于某人.显然有很多原因导致崩溃.

    2023-01-12 07:45 回答
  • 我在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声明,并且包括您可能正在使用的第三方库.

    今天这让我付出了代价,希望它有所帮助


    20147月10日e.parto发布

    2023-01-12 07:45 回答
  • 我在Xcode 6 Beta 3中每隔几秒就遇到这个问题,即使在全新的项目中也是如此.我将部署目标从8.0更改为7.1并且已停止.

    2023-01-12 07:46 回答
  • 我相信我可能找到了更通用的解决方案.以下是我用来鼓励Xcode不产生SourceKitService Terminated错误的步骤.


    我有的症状:

    当我开始一个新的游乐场时,我会收到一个关于无法与游乐场交流的错误(Error running playground: Failed prepare for communication with playground.请在推特上查看此图片.

    当我将操场切换OS XiOS,我会收到另一个错误(不幸的是我没有写下那个).

    当我开始输入基于iOS的Swift项目,试图在任何UIKit特定类上使用代码完成/智能感知时,我会SourceKitService Terminated在这个帖子中收到问题.


    调试过程:

    我开始通过谷歌搜索SourceKitService,这很少.

    然后我在使用Xcode时开始监控Console.app.这显示了几个错误:

    IDEPlaygroundDocument: Error encountered running playground

    com.apple.CoreSimulator.CoreSimulatorService[3952]: The runtime for the selected device is not installed.


    我做了什么来纠正这个问题.

    如果您只是在Swift项目的上下文中遇到问题,请先单独尝试.如果这不起作用,请尝试下面的所有步骤.

      打开项目并将目标的部署目标更改为<= 7.1.

    更漫长和更复杂的过程.(前三个步骤肯定没有用,但我做了它们,所以在这里记录它们)

      完全删除系统上的所有Xcode副本.

      重启你的电脑.

      仅重新安装Xcode6-beta.

      确认您在游乐场和/或项目中仍然存在问题.

      打开iOS模拟器.

      硬件 - >设备 - >管理设备

      删除所有设备.

      重新创建所需的所有设备.我将iOS版本附加到名称的末尾,只是因为.

      重启Xcode和模拟器.

      确认至少从操场切换时不再抛出的问题OS XiOS.

      打开项目并将目标的部署目标更改为<= 7.1.


    分析

    看来问题是Xcode6无法正确查找和连接到模拟器.我无法确定为什么会出现这种情况,但这让我可以继续使用Swift进行开发.这可能与模拟器二进制文件似乎已移动的事实有关.

    2023-01-12 07:47 回答
  • 插入touchesMoved-function后,它开始在我的spritekit项目中发生.此函数使用强制解包,这似乎导致问题:

    override func touchesMoved(touches: NSSet!, withEvent event: UIEvent!)
    

    删除感叹号并因此停止强制解包后,SourceKitService停止崩溃.

    希望这可以帮助!

    2023-01-12 07:47 回答
  • 为项目使用除Swift之外的其他名称."斯威夫特"是保留的.

    2023-01-12 07:51 回答
  • 你的项目命名了Swift吗?看到那条消息,构建也会失败(<unknown>:0: error: module name "Swift" is reserved for the standard library).尝试使用其他项目名称,例如SwiftTest.它会工作.

    2023-01-12 07:53 回答
  • 您只需要删除"ModuleCache",这是Xcode用于自动完成的某种缓存.

    复制并粘贴终端中的以下行:

    rm -rf~/Library/Developer/Xcode/DerivedData/ModuleCache

    2023-01-12 07:56 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有