简单的守护程序应用程序

一个守护进程在后台执行程序,通常无需用户交互。下面的示例显示了如何创建守护程序并注册监听程序,该监听程序监视所有打开的应用程序。主要部分是函数调用 NSRunLoop.mainRunLoop().run(),它启动守护进程。

class MyObserver: NSObject
{
    override init() {
        super.init()

        // app listeners
        NSWorkspace.sharedWorkspace().notificationCenter.addObserver(self, selector: "SwitchedApp:", name: NSWorkspaceDidActivateApplicationNotification, object: nil)
    }

    func SwitchedApp(notification: NSNotification!)
    {
        print(notification)
    }
}

let observer = MyObserver()

// simply to keep the command line tool alive - as a daemon process
NSRunLoop.mainRunLoop().run()

你还可以使用此代码作为服务器进程的基础。