The showAboutDialog(_:) action can be connected to an NSButton to display an informational alert containing the current version, build number, and a hyperlink to the project repository. It retrieves versioning information from the bundle identifier cl.fail.lordkamina.SwiftDefaultApps.
@IBAction func showAboutDialog(_ sender: NSButton) {
let mainBundle = Bundle(identifier: "cl.fail.lordkamina.SwiftDefaultApps")
let appVersionString: String = mainBundle?.object(forInfoDictionaryKey:"CFBundleShortVersionString") as! String
let buildNumberString: String = mainBundle?.object(forInfoDictionaryKey:"CFBundleVersion") as! String
let alert = NSAlert()
alert.window.title = "About"
alert.messageText = "SwiftDefaultApps, v. \(appVersionString) build \(buildNumberString)"
alert.informativeText = "by Gregorio Litenstein."
alert.icon = ControllersRef.appIcon
alert.accessoryView = HyperlinkTextField(frame: NSRect(x: 0, y:10, width:330, height:18), url: "http://www.github.com/Lord-Kamina/SwiftDefaultApps")
alert.alertStyle = .informational
alert.addButton(withTitle: "OK")
alert.layout()
DispatchQueue.main.async {
alert.runModal()
}
}