Curious about Swift, I went ahead and translated Matt Gallagher‘s example from Objective-C to Swift. If you stick this in a Playground file it will launch a minimal Mac app. Or you create a simple text file and chmod +x
it for direct execution from the command line.
#! /usr/bin/swift -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk
import Cocoa
var app = NSApplication.sharedApplication()
app.setActivationPolicy(.Regular)
var menuBar = NSMenu()
var appMenuItem = NSMenuItem()
menuBar.addItem(appMenuItem)
app.mainMenu = menuBar
var appMenu = NSMenu()
var appName = NSProcessInfo.processInfo().processName
var quitTitle = "Quit \(appName)"
var quitMenuItem = NSMenuItem(
title: quitTitle,
action: Selector("terminate:"),
keyEquivalent: "q"
)
appMenu.addItem(quitMenuItem)
appMenuItem.submenu = appMenu
var window = NSWindow(
contentRect: CGRect(x: 0, y: 0, width: 200, height: 200),
styleMask: NSTitledWindowMask,
backing: NSBackingStoreType.Buffered,
defer: false
)
window.cascadeTopLeftFromPoint(NSPoint(x: 20, y: 20))
window.title = appName
window.makeKeyAndOrderFront(nil)
app.activateIgnoringOtherApps(true)
app.run()