问题标签 [swift-package-manager]

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 投票
2 回答
3916 浏览

swift - Swift 包和冲突的依赖项

我见过的每个包管理器中最具挑战性的任务之一就是处理相互冲突的依赖关系。

让我们使用以下虚构的应用程序SwiftApp,它依赖于一些 3rd 方包。

- SwiftApp - packageA@latest - packageC@1.0.0 - packageD@latest - packageB@latest - packageC@2.0.0 - packageE@latest

从上面的依赖图中,我们可以看到SwiftApp的两个依赖都使用packageC,但使用不同的主要版本标识符。对于大多数语言生态系统来说,这会成为一个问题——主要版本的提升通常意味着对代码进行了更改,这些更改与以前的主要版本不向后兼容。

根据语言/编译器/其他相关组件的技术能力,包管理器可以通过以下方式之一实现:

  1. 拒绝安装/编译(php、ruby、python?、其他?)
  2. 没关系,让开发者处理潜在的编译器错误(???)
  3. 分别为两个包安装packageC(Node.js,其他?)

第三种选择只能在语言或编译器本身的适当支持下才能实现。

在 Swift 中可以在不破坏的情况下实现这个依赖图吗?

换句话说,packageA是否有可能拥有(并使用)packageC 的 1.0.0 版本,packageB拥有2.0.0 版本?

鉴于最近宣布 Swift 现在是开源的并且带有自己的包管理器,我认为这个问题对于未来对 Swift 包开发感兴趣的读者可能非常有价值。

0 投票
3 回答
14244 浏览

xcode - 使用 Swift 包管理器时,如何生成 Xcode 项目文件以进行开发

我正在使用新的开源 Swift 包管理器并且能够下载文件。我希望经理根据它检索到的包创建一个“开发环境”(通过 Xcode)。

有人处理过这个吗?

0 投票
3 回答
2547 浏览

swift - 使用 Swift 包管理器添加目标依赖项时出错

尝试包含目标依赖项时出现错误:The manifest describes a target that cannot be found in your source tree: parser

这是我的 Package.swift 文件:

我遵循此处描述的格式:https ://github.com/apple/swift-package-manager/blob/master/Documentation/Package.swift.md

0 投票
2 回答
1643 浏览

swift - 是否可以使用 Swift 包管理器编译和包含 C 库?

我试图只包含头文件和 c 文件,但它们似乎被忽略了

0 投票
3 回答
12138 浏览

swift - 如何通过 Swift 包管理器在 Xcode 中安装包

我正在 Xcode 中开发一个项目,并尝试通过 Swift 包管理器安装和使用CryptoSwift包。

我阅读了有关 SPM 的文档,但没有看到有关如何通过 Xcode 调用 SPM 的说明。

这些例子经常提到调用$ swift build。这是否意味着只能从命令行访问 SPM?如果是这样,我应该在哪里创建Package.swift文件?

我对 Xcode 相当熟悉,但我并不真正理解项目的构建设置部分的含义,或者如何使用 Swift 模块。

编辑:这个问题最初是针对 Swift 2.1.1 附带的 Xcode 7.2 提出的。很乐意接受解释如何使用当前/未来版本的 Xcode 执行此操作的答案。

0 投票
1 回答
1005 浏览

swift - Swift 包管理器未安装

因此,如果您在此处导航,您会发现说明包管理器捆绑在此页面的下载中。

它说我可以检查:

快速构建--帮助

但我唯一的输出是:

:0:错误:没有这样的文件或目录:'build'

我已经下载了两个安装包并安装了它们。我可以看到这里安装了工具链。(无奈之下,我也安装了以前的版本)。

安装的工具链

这些说明不是很明确,而且在一个 IDE 的世界中,我还没有体验过以这种方式安装我自己的语言。在这个过程中我是否有明显的遗漏?

0 投票
4 回答
6325 浏览

swift - How to install Swift package via package manager?

I am currently following the document from swift.org to play around with the new Swift Package Manager.

I cloned the demo project from Github and run the following command from terminal.

While I run swift build, error arise.

Any idea?

0 投票
7 回答
13052 浏览

swift - Swift 包管理器 - UIKit 依赖

我的项目中有一个 Package.swift,例如:

当我运行时,swift build我会收到类似的错误......</p>

我应该在哪里告诉 swift 包管理器在哪里可以找到 UIKit?

0 投票
1 回答
503 浏览

swift - 从 SPM 解析多个 Package.test 测试目标

似乎如果我的库创建了测试,并且我还依赖于测试,那么我会收到错误消息:

:0:错误:无法构建节点:''(节点由多个命令生成;例如,''和'')

它可以在debug.yaml

如果我将其中一个构建目标重命名为在 中Package2.test手动debug.yaml,它可以工作。

有没有办法可以指定测试目标名称或解决此问题?

0 投票
1 回答
237 浏览

swift - 包内模块依赖

我有一个 Swift 包(你可以在这里下载,它是一个纯 Swift markdown 实现),它有两个模块,一个是库,第二个是可执行文件。运行swift build将正确找出构建库,然后构建可执行文件,但在尝试链接错误时失败

当然,引用的符号是我尝试使用的方法(或在本例中为属性)(对字符串的扩展)。

我想问题是:对于包中的模块是否必须做任何特定的事情以确保它们链接在一起?