在 SwiftUI 中,可以通过读取应用的 Info.plist 文件中的 CFBundleShortVersionString 和 CFBundleVersion 来显示版本号。以下是完整的实现步骤:
扩展 Bundle 获取版本号和构建号
通过扩展 Bundle,便于读取版本号和构建号:
import Foundation
extension Bundle {
var appVersion: String {
return infoDictionary?["CFBundleShortVersionString"] as? String ?? "Unknown"
}
var appBuild: String {
return infoDictionary?["CFBundleVersion"] as? String ?? "Unknown"
}
}
CFBundleShortVersionString 是用户可见的版本号(例如 1.0.4)。
CFBundleVersion 是内部的构建号(例如 1)。
在 SwiftUI 中显示版本号
通过 Text 显示版本号和构建号:
import SwiftUI
struct ContentView: View {
var body: some View {
VStack {
Text("Version: \(Bundle.main.appVersion)")
Text("Build: \(Bundle.main. appBuild)")
}
.font(.footnote)
.foregroundColor(.gray)
.padding()
}
}
输出示例:
如果 Info.plist 值为:
CFBundleShortVersionString: 1.0.0
CFBundleVersion: 123
显示结果为:
Version: 1.0.0
Build: 123
组合版本号与构建号
将版本号和构建号组合在一起显示:
struct ContentView: View {
var body: some View {
Text(LocalizedStringKey("Version Number")) + Text(" : ") + Text(Bundle.main.appVersion) + Text("( \(Bundle.main.appBuild))")
.font(.footnote)
.foregroundColor(.gray)
.padding()
}
}
输出示例: