Swift Package Manager For Development

时间:2017-05-27 19:13:33

标签: swift xcode swift-package-manager

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

上下文: 我正在开发一个需要分成三个独立项目的项目。其中一个项目由其他两个共享(在这种情况下是数据模型,由服务器和客户端共享)。对于客户端,因为它使用uikit,我有一个开发cocoa pod设置,让我在客户端工作区内工作,编辑数据模型项目,然后立即编译和运行。然后,我对数据模型的更改将保存在数据模型项目中。

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

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

1 个答案:

答案 0 :(得分:2)

您在Swift Package Manager中调用“development package”的概念称为Editable Package

  

对于处于可编辑状态的软件包,swift build将始终使用此目录中的确切源来构建,无论其状态,git存储库状态,标记或依赖项解析所需的标记如何。换句话说,这只会针对存在的来源构建。