视频可参考:
http://www.swiftvideotutorials.com/creating-menubar-apps-osx
开发步骤大体如下:
1、新建工程,因为这个菜单程序不需要窗口,所以在MainMenu.xib中删除窗口
2、在object library中拖入一个menu.

3、删除2个menu item,把一个文字改成 Show hidden files
4、添加action和outlet


5、创建icon

6、写代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| import Cocoa
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
@IBOutlet weak var window: NSWindow!
@IBOutlet weak var statusMenu: NSMenu!
let statusItem = NSStatusBar.systemStatusBar().statusItemWithLength(-1)
func applicationDidFinishLaunching(aNotification: NSNotification) {
// Insert code here to initialize your application
let icon = NSImage(named: "statusIcon")
statusItem.image = icon
statusItem.menu = statusMenu
}
@IBAction func menuClicked(sender: NSMenuItem) {
//let calendar = NSCalendar.currentCalendar()
let alert = NSAlert()
alert.messageText = "message"
alert.informativeText = "informativeText"
alert.addButtonWithTitle("ok")
alert.addButtonWithTitle("cancel")
let returnCode = alert.runModal()
if returnCode == NSAlertFirstButtonReturn{
NSLog("1")
}else{
NSLog("2")
}
}
} |
7、这时运行项目,docker里还是会出现图标,需要增加一个配置:

将Application is agent (UIElement)一项设置为Yes