xcode 我有一个Swift软件包,我想知道如何获得此软件包的当前版本

vdzxcuhz  于 2023-05-19  发布在  Swift
关注(0)|答案(4)|浏览(194)

类似于你如何获得你的应用程序版本kCFBundleVersionKey如何获得你正在工作的包的版本?

bjp0bcyl

bjp0bcyl1#

我认为目前不可能轻易得到价值。您可以读取Package.resolved文件,也可以设置一个公共常量来定义库的版本。

public let version = "0.0.1"

import MyLibrary

print(MyLibrary.version)

没有一个标准的方法来做到这一点,每个包都可以有一个不同的常量(或者根本没有常量)

ckocjqey

ckocjqey2#

您可以在项目包依赖项选项卡中检查包版本规则。检查下面的屏幕截图。这对于大多数用例来说可能已经足够了。

h9a6wy2h

h9a6wy2h3#

编辑:上下文已经改变,问题是通过代码获得我正在使用的MyPackage的版本。到目前为止,还没有任何记录或推荐的方法。虽然这可以通过阅读Malcolm提到的Package.resolved文件来实现。
我不会删除这个答案,为任何未来的用户谁正在寻找答案,就如何获得确切的最新版本的一个包。
您可以在Xcode上给予相同的主版本号并提供Update to latest package version选项。例如:如果当前版本是2.4.5,您只需提供2.0.0并更新即可。还有一个选项可以提供您需要的Swift包的确切版本。

0ve6wy6x

0ve6wy6x4#

我也有同样的需求。我编写了一个构建阶段,将简化版本的Package.resolved放入构建的应用程序的bundle中,然后是一个类,以便轻松查询任何给定包的版本。
参见https://gist.github.com/mr-fixit/be5c9563e258802664f401822dd7f488

相关问题