类似于你如何获得你的应用程序版本kCFBundleVersionKey如何获得你正在工作的包的版本?
kCFBundleVersionKey
bjp0bcyl1#
我认为目前不可能轻易得到价值。您可以读取Package.resolved文件,也可以设置一个公共常量来定义库的版本。
Package.resolved
public let version = "0.0.1" import MyLibrary print(MyLibrary.version)
没有一个标准的方法来做到这一点,每个包都可以有一个不同的常量(或者根本没有常量)
ckocjqey2#
您可以在项目包依赖项选项卡中检查包版本规则。检查下面的屏幕截图。这对于大多数用例来说可能已经足够了。
h9a6wy2h3#
编辑:上下文已经改变,问题是通过代码获得我正在使用的MyPackage的版本。到目前为止,还没有任何记录或推荐的方法。虽然这可以通过阅读Malcolm提到的Package.resolved文件来实现。我不会删除这个答案,为任何未来的用户谁正在寻找答案,就如何获得确切的最新版本的一个包。您可以在Xcode上给予相同的主版本号并提供Update to latest package version选项。例如:如果当前版本是2.4.5,您只需提供2.0.0并更新即可。还有一个选项可以提供您需要的Swift包的确切版本。
MyPackage
Update to latest package version
0ve6wy6x4#
我也有同样的需求。我编写了一个构建阶段,将简化版本的Package.resolved放入构建的应用程序的bundle中,然后是一个类,以便轻松查询任何给定包的版本。参见https://gist.github.com/mr-fixit/be5c9563e258802664f401822dd7f488
4条答案
按热度按时间bjp0bcyl1#
我认为目前不可能轻易得到价值。您可以读取
Package.resolved
文件,也可以设置一个公共常量来定义库的版本。没有一个标准的方法来做到这一点,每个包都可以有一个不同的常量(或者根本没有常量)
ckocjqey2#
您可以在项目包依赖项选项卡中检查包版本规则。检查下面的屏幕截图。这对于大多数用例来说可能已经足够了。
h9a6wy2h3#
编辑:上下文已经改变,问题是通过代码获得我正在使用的
MyPackage
的版本。到目前为止,还没有任何记录或推荐的方法。虽然这可以通过阅读Malcolm提到的Package.resolved
文件来实现。我不会删除这个答案,为任何未来的用户谁正在寻找答案,就如何获得确切的最新版本的一个包。
您可以在Xcode上给予相同的主版本号并提供
Update to latest package version
选项。例如:如果当前版本是2.4.5,您只需提供2.0.0并更新即可。还有一个选项可以提供您需要的Swift包的确切版本。0ve6wy6x4#
我也有同样的需求。我编写了一个构建阶段,将简化版本的Package.resolved放入构建的应用程序的bundle中,然后是一个类,以便轻松查询任何给定包的版本。
参见https://gist.github.com/mr-fixit/be5c9563e258802664f401822dd7f488