我可以使用Swift包管理器创建本地模块吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我可以使用Swift包管理器创建本地模块吗?相关的知识,希望对你有一定的参考价值。
我知道Swift包管理器可以从github编译代码作为我的项目的模块,但是我可以告诉包管理器编译本地存储在我的计算机上的代码吗?
我的想法是我有一些代码要与项目的其余部分分开,所以我将它保存在一个文件夹中,Swift编译器将构建它,以便可以像任何其他模块一样导入该代码。
您可以在Package.swift
文件中引用本地目录,但它必须是Git存储库。此外,初始化回购,提交和标记是不够的;必须将存储库推送到远程,才能使swift build
正常运行。
包是Git存储库,标记有语义版本,在其根目录下包含Package.swift文件。初始化包创建了一个Package.swift文件,但为了使它成为一个可用的包,我们需要初始化一个至少有一个版本标签的Git存储库。
Swift Package Manager Documentation还声明“您可以为任何有效的Swift包指定URL(或本地路径)”,并提供带有本地文件引用的示例Package.swift
:.Package(url: "../StringExtensions", "1.0.0")
。
注意:我编写了答案以澄清Swift Package Manager可以引用本地路径,但路径必须包含带有标记的有效Git存储库。我原来的测试项目指向一个包含.git
目录的依赖本地路径,因此它使用swift build
成功构建。
使用Swift 4版本工具,有不同的方法可以做到这一点 - 您无需提供标记版本:
.package(url: "<path to repo>", .branch("master")),
另见:https://github.com/apple/swift-package-manager/blob/master/Documentation/PackageDescriptionV4.md
你也可以使用
.package(path: "path to folder")
如果你不想要额外的git repo的开销。
以上是关于我可以使用Swift包管理器创建本地模块吗?的主要内容,如果未能解决你的问题,请参考以下文章