问题标签 [sourcekit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
469 浏览

xcode - XCode 7.1.1 总是索引

我在代码中输入一个字符,XCode 开始索引、处理文件。这大约持续 30 秒,在这段时间内它几乎无法使用。SourcekitService 在索引期间处于高 CPU 状态。我已经尝试通过禁用索引

但这对我不起作用。

任何提示如何为 XCode 7.1 获得更好的性能。它像这样无法使用。

0 投票
2 回答
504 浏览

xcode - 如何恢复索引功能?(Xcode)

我的一个项目(包含 200 多个纯 Swift 文件)最近刚刚开始干扰索引过程。索引过程中途冻结,然后突然停止,导致SourceKitService崩溃。

我根本找不到错误的代码;因为似乎没有!

我的代码编译得很好(没有一个警告!) - 但它未能被索引。最初,我认为这是 Xcode 7.2 的问题,因此升级到最新的 beta (7.3);但是问题仍然存在。我无法恢复到我的旧代码,因为太多的工作将被撤消,而且我无法找到一个特定的文件来指责。崩溃报告在这里

澄清一下,Xcode 本身不会崩溃,只有索引过程(以及SourceKitService结果)。

关于如何解决这个问题的任何想法?

0 投票
0 回答
175 浏览

swift - 如何获取有关 SwiftLint(或 SourceKitten)中使用的数组下标的 AST 信息

我正在尝试围绕 SwiftLint 中的数组下标使用编写新规则,但我似乎无法获得所需的信息。因此,对于以下示例 Swift 代码:

我想要一个可以警告我arr[2]可能会崩溃但不会崩溃的规则dict[2](所以我认为正则表达式规则不会起作用)。

我尝试从命令行使用 SourceKitten,但找不到任何方法来获取有关数组下标访问的信息。我还尝试在 SwiftLint 中创建自己的 ASTRule 并让它在每一行上创建一个警告,但警告只出现在声明上,而不是表达式上,而且我找不到任何与声明无关的现有 ASTRule,所以我不知道从哪里开始。

0 投票
1 回答
1462 浏览

linux - Swift 3.0 - 如何在 Ubuntu 14.04 中构建 Sourcekit 和 Sourcekitten?

为 Swift 3.0 的稳定版本构建 Sourcekit 和 Sourcekitten 的步骤是什么?提前致谢。

注意:已经按照https://github.com/apple/swift安装了依赖项和其他构建工具

0 投票
1 回答
72 浏览

arrays - Xcode,NsDictionary 的大数组消耗了我所有的 RAM

我的新应用有问题。我必须从 WebService 获取并解析一个大 xml,使用XmlToDictionary使一切变得更容易。当我尝试构建我的应用程序时,如果我查看任务管理器,这是一个消耗我所有 RAM 的任务(“SourceKit”)。在互联网上搜索我认为我理解了这个问题:我的解析结果是一大堆具有“未明确”类型的NSDictionary 。

所以我的问题是:你知道管理这个 NSDictionary 数组的另一种方法吗?或者显式声明这个数组的方法?或任何其他方式?这是我的代码:

0 投票
1 回答
111 浏览

swift - Xcode 8 与旧版 Swift 2.3:SourceKit 强加 Swift 3.0 规则并显示幻像错误

似乎 Xcode 是被动积极地鼓励我切换到 Swift 3.0。当我输入代码和调用构建时,与 Swift 3.0 语法相关的各种警告和错误都会出现,只有在编译完成后才会消失。

似乎“左手”上的动态增量编译设置与“右手”上的静态实际编译设置没有对话。

这很让人分心。这是 Xcode GM 8.1。有没有其他人经历过这种情况并找到了解决方法?

0 投票
0 回答
861 浏览

ios - 无法在 Xcode 8 中调试框架

我有一个以调试模式构建的框架项目。我将这样的结果框架添加到另一个 iOS 项目中。我的 iOS 项目正确构建并调用了框架,我得到了它的方法结果。但是,有些结果不是预期的,我需要从 iOS 项目中调试框架的代码。

我还在调试模式下运行 iOS 项目,并在我要调试的框架的方法调用处设置断点。但是调试器中的“进入”指令不会进入框架的代码。此外,如果我“命令单击”方法的名称以尝试转到其代码,我会得到:

无法生成 Swift 表示

我的问题与类似,但那里的答案对我不起作用。有人有同样的经历吗?有人可以提供另一种解决方案吗?

0 投票
0 回答
415 浏览

ios - 从 Xcode 8 中的主应用程序项目调试您自己的框架项目的正确方法?

我已经阅读了两种可能性:

  • 将框架构建为调试,将其添加到主应用程序项目,并将主项目也作为调试运行。断点应该允许您检查进入其中的框架代码。
  • 以某种方式将框架项目本身添加到主应用程序项目中

我尝试了第一个,但它对我不起作用。Couldn't Generate Swift Representation当我试图进入框架的代码时,我得到了一个。如果此选项在Xcode 8Xcode 8.1中仍然有效,我应该检查哪些设置?

如果现在最好/唯一的选项是第二个,我应该如何正确设置它?

0 投票
1 回答
199 浏览

objective-c - 构建 SourceKitten 时没有这样的模块 SWXMLHash

我从 github 克隆了 SourceKitten,当我在 Xcode 中打开项目时,我无法构建

在课堂Clang+SourceKitten.swift上,我得到No such module SWXMLHash

我试过从命令行运行,效果很好swift buildmake install但是,我需要创建自己的自定义命令行工具(类似于 sourcekitten)——我需要为此打开项目并且应该能够构建和运行它。

0 投票
0 回答
197 浏览

swift - 如何使用 SourceKit python 绑定?

抱歉这么宽泛的问题,但经过一些尝试后,我不确定如何使用 python 绑定。我试图只导入“request.py”或“capi.py”,但我得到的只是错误。将缺少的库添加到我的搜索路径后,我以缺少符号“_dispatch queue_attr_concurrent”结束(这表明库版本错误?)。

我的问题不是关于那个特定的错误,而是与 python 绑定(和 SourceKit 本身)交互的正确方式。我尝试使用预编译版本,并自己编译(https://stackoverflow.com/a/40033117/1117854),但结果都是一样的。

我有什么明显的遗漏吗?或者也许有类似经验的人成功并有一些提示?它没有很好的记录,我可能迟早会找到解决方案,但我相信我不是唯一一个在第一次接触 SourceKit 后感到迷茫的人。