1

问题:有没有办法用 SPM 创建一个“开发包”,类似于可可豆荚中的开发豆荚,让我可以更改依赖包的实际源项目(本地路径)?

背景:我正在做一个需要分成三个独立项目的项目。其中一个项目由另外两个共享(在本例中为数据模型,由服务器和客户端共享)。对于客户端,因为它使用 uikit,所以我有一个开发 cocoa pod 设置,让我可以在客户端工作区中工作,对数据模型项目进行编辑,然后立即编译和运行。然后将我对数据模型的更改保存在数据模型项目中。

但是,对于服务器,由于它完全是用 SPM 构建的,如果我想对数据模型项目进行编辑(我想反映给客户端),我目前必须在数据模型项目中进行,然后用新的次要版本号重新标记它,清理服务器项目并重建。我很想像使用可可豆一样进行设置。

如果我不能这样做,是否至少有一种方法可以告诉 SPM 仅将我的一个依赖项更新为新版本号(或 Package.swift 中指定的最大版本。即 0.4 的次要版本,所以如果我从 .401 重新标记到 .402 它会更新)?我原以为我可以在 Package.pins 中做到这一点,但这似乎不起作用。如果编辑它不会影响实际更改,不知道为什么它不是隐藏文件。

4

1 回答 1

2

您称之为“开发包”的概念在 Swift 包管理器中称为Editable Package :

对于处于可编辑状态的包,swift build 将始终使用该目录中的确切源进行构建,而不管其状态、git 存储库状态、标签或依赖解析所需的标签。换句话说,这将仅针对存在的源构建。

于 2017-05-28T12:39:05.927 回答