Loading...

How to display the app version and build number in a macOS/iOS SwiftUI app?

question swiftui macos
Ram Patra Published on October 15, 2023

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:

  1. We create a function getAppVersion() to retrieve the app version using the key "CFBundleShortVersionString" from the Info.plist file.
  2. We create a function getBuildNumber() to retrieve the build number using the key "CFBundleVersion" from the Info.plist file.
  3. Both values are displayed in separate Text views within the ContentView.

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:

todobar about window

presentify about window

Presentify

Take your presentation to the next level.

FaceScreen

Put your face and name on your screen.

KeyScreen

Show keypresses on your screen.

ToDoBar

Your to-dos on your menu bar.

SimpleFill

Fill forms using your right-click menu.

IconSim

Preview your Mac app icons.

Ram Patra Published on October 15, 2023
Image placeholder

Keep reading

If this article was helpful, others might be too

question swiftui swift September 13, 2024 How to add a character limit to a TextField in SwiftUI?

To add a character length limit to a TextField in SwiftUI, you can use a combination of Swift’s .onChange, .onPasteCommand modifier, and string manipulation to limit the number of characters the user can enter.

question swiftui swift October 7, 2024 How to zoom in and zoom out a SwiftUI view?

In a macOS or iOS app, you can easily add a zoom feature to any SwiftUI view with the scaleEffect modifier. In the below example, I am using a Slider to control the zoom level. Here’s how you can implement zooming in and out with a slider:

question swiftui swift May 29, 2022 How to open a window in SwiftUI using NSWindowController?

Although many things in SwiftUI are idiomatic and straightforward, showing your view in a new window needs a bit of coding to do. Hence, this short post.

Like my work?

Please, feel free to reach out. I would be more than happy to chat.