使用Xcode 11将SPM下载的软件包保存到项目GIT中

时间:2019-09-06 09:19:28

标签: ios xcode11 swift-package-manager

我开始使用集成了SPM的新Xcode 11。

我在项目中添加了第一个依赖项:

enter image description here

但检测到文件未提取到我的项目文件夹中,而是提取到了Xcode的缓存中:

enter image description here

我想将所有依赖项文件提交到主项目存储库中,所以我的问题是:

是否可以使用Xcode 11通过SPM更改获取的软件包的位置?

2 个答案:

答案 0 :(得分:0)

已设置SwiftPM集成来防止这种情况。它将文件克隆到DerivedData / ProjectName- [RandomStuff]中。您应该将Package.resolved提交到存储库中,以确保在项目的各个克隆中获得每个依赖项的相同版本。

答案 1 :(得分:0)

虽然解决方案不一定是好的或好的做法,但在某种程度上还是有可能的,所以我不推荐。

  1. 在工作区设置中将DerivedData设置为相对于工作区。
  2. 添加gitignore规则,以便包括工作空间/ WORKSPACE_NAME_DIR / SourcePackages / checkout和相关文件。也许最好确保不包含存储库目录。
  3. 添加“运行脚本”阶段以删除checkouts目录中的.git和.gitignore文件。

显然,这在很大程度上与SPM的工作方式相抵触。工作区设置是每人的,因此在团队中不是很好。