如何使用Swift获取应用程序的版本号和build号?


您经常需要处理iOS应用程序的版本号和build号。这有助于您在服务器端执行调试操作。您可以检查客户端(iOS应用程序用户)拥有哪个版本或build。基于此,您可以调试来自客户端的问题。

版本号和build号可能需要显示给用户,以验证最终用户当前运行的版本和build。

要在Swift中获取应用程序版本号和build号,您可以使用`Bundle`类,它提供对应用程序包信息的访问。

以下是如何使用Swift获取应用程序版本号和build号的示例:

语法

请注意,`object(forInfoDictionaryKey:)`方法返回一个可选值,因此您需要使用可选绑定或强制解包来获取值。在上面的示例中,我使用了强制解包,这意味着如果应用程序的info字典中不存在这些值,代码将崩溃。您可能需要使用可选绑定来避免这种情况。

let buildNumber = Bundle.main.object(forInfoDictionaryKey: "CFBundleVersion") as? String

基本上,我们从info.plist文件中获取build号,该文件存储在应用程序的主包中。有一个预定义的键`CFBundleVersion`用于访问build版本。

算法

  • 步骤1 - 访问主包对象

  • 步骤2 - 从主包对象访问info字典对象

  • 步骤3 - 从`CFBundleShortVersionString`键访问build版本

示例

假设您正在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项目而有所不同。

这将把应用程序版本号和build号打印到控制台。应用程序版本通常是“X.X.X”形式的字符串(例如“1.0.0”),而build号是一个表示应用程序build号的字符串(例如“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中,很多时候您需要处理build和版本号来执行某些操作。访问设备中使用的应用程序的当前版本是一个简单的过程。

更新于:2023年1月3日

6K+ 次浏览

启动您的职业生涯

通过完成课程获得认证

开始
广告