To display both the app version and build number in a SwiftUI macOS/iOS app, you can use the Bundle
class to access information from the app’s Info.plist
file. The Info.plist
file contains various details about your application, including its version and build number. Here’s how you can do it:
import SwiftUI
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
struct ContentView: View {
var body: some View {
VStack {
Text("App Version: \(getAppVersion())")
Text("Build Number: \(getBuildNumber())")
}
}
func getAppVersion() -> String {
if let appVersion = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String {
return appVersion
}
return "Unknown"
}
func getBuildNumber() -> String {
if let buildNumber = Bundle.main.infoDictionary?["CFBundleVersion"] as? String {
return buildNumber
}
return "Unknown"
}
}
In this code:
- We create a function
getAppVersion()
to retrieve the app version using the key"CFBundleShortVersionString"
from the Info.plist file. - We create a function
getBuildNumber()
to retrieve the build number using the key"CFBundleVersion"
from the Info.plist file. - Both values are displayed in separate
Text
views within theContentView
.
This will display both the app version and build number in your SwiftUI macOS or iOS app’s user interface. Make sure to replace the keys with the actual keys used in your Info.plist
if they are different.
This is handy when displaying the app’s version in the About window. You do not need to update it manually every time you release a new version. Here are some screenshots from my own apps: