Swift软件包开发经理

Swift软件包开发经理,swift,xcode,swift-package-manager,Swift,Xcode,Swift Package Manager,问题: 有没有一种方法可以用SPM创建一个“开发包”,类似于cocoa pods中的一个开发pod,它可以让我更改依赖项包的实际源项目(本地路径) 背景: 我正在做一个需要分成三个独立项目的项目。其中一个项目由另外两个项目共享(在本例中是一个数据模型,由服务器和客户机共享)。对于使用uikit的客户机,我有一个开发cocoa pod设置,它允许我在客户机工作区内工作,编辑数据模型项目,然后立即编译并运行。然后,我对数据模型所做的更改将保存在数据模型项目中 但是,对于服务器,由于它完全是使用SPM

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

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

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

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

您称之为“开发包”的概念在Swift package Manager中被称为:

对于处于可编辑状态的包,swift build将始终使用此目录中的确切源进行构建,而不管其状态、git存储库状态、标记或依赖项解析所需的标记。换言之,这只会建立在现有资源的基础上


SPM 4让您可以通过
git分支
来定位依赖项,而不仅仅是标记,但是Xcode内部的SPM没有可编辑的包。swift,对吗?@imike我在2018年停止了服务器端swift的工作,所以不知道今天的情况如何,对不起。在服务器端swift中,一切都很好,但是在Xcode中使用SPM的客户端Swift中,一切都不太好:)@imike我明白了:)我也停止了客户端Swift的工作。主要在Go、Ansible和Python上工作。