如何获得使用Swift的应用程序的版本和构建号
你经常需要处理iOS应用程序的版本和构建号。它可以帮助你在服务器端进行调试操作。你可以检查客户端(IOS应用程序用户)拥有哪个版本或构建。在此基础上,你可以对来自客户端的问题进行调试。
可能需要向用户显示版本号和构建号,以验证最终用户当前运行的是什么版本和构建。
要在Swift中获得应用的版本和构建号,你可以使用Bundle类,它提供了对应用的捆绑信息的访问。
语法
注意 object(forInfoDictionaryKey:) 方法返回的是一个可选项,所以你需要使用可选的绑定或强制解包来获得这些值。在上面的例子中,我使用了强制解包,这意味着如果这些值不在应用程序的信息字典中,代码将崩溃。你可能想使用可选的绑定来避免这种情况。
let buildNumber = Bundle.main.object(forInfoDictionaryKey: "CFBundleVersion") as? String
基本上,我们从 info.plist 文件中获取构建号,该文件存储在应用程序的主捆绑包中。有一个预定义的键CFBundleVersion来访问构建版本。
算法
- 第1步–访问主捆绑对象
-
第2步–从主捆绑对象访问信息字典对象
-
第3步 – 从CFBundleShortVersionString键访问构建版本
示例
假设你在Xcode上的一个实际项目上运行下面的代码 –
import Foundation
if let appVersion = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as? String {
print("App version: \(appVersion)")
} else {
print("your platform does not support this feature.")
}
if let buildNumber = Bundle.main.object(forInfoDictionaryKey: "CFBundleVersion") as? String {
print("Build number: \(buildNumber)")
} else {
print("your platform does not support this feature.")
}
输出
your platform does not support this feature.
your platform does not support this feature.
输出结果可能根据你的机器上当前运行的Xcode项目而有所不同。
这将把应用程序的版本和构建号打印到控制台。应用程序的版本通常是 “X.X.X “形式的字符串(例如 “1.0.0”),而构建号是代表应用程序的构建号的字符串(例如 “1”)。
示例
import Foundation
if let appVersion = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as? String {
print("App version: \(appVersion)")
} else {
print("your platform does not support this feature.")
}
if let buildNumber = Bundle.main.object(forInfoDictionaryKey: "CFBundleVersion") as? String {
print("Build number: \(buildNumber)")
} else {
print("your platform does not support this feature.")
}
输出
your platform does not support this feature.
your platform does not support this feature.
结论
在Swift中,很多时候你需要玩弄构建和版本来执行一些操作。这是一个简单的过程,可以访问设备中使用的应用程序的当前版本。