我是OSX开发的新手,我正在创建一个应用程序,当有事情发生时会触发通知。但是当应用程序是关键应用程序时它没有显示通知,因为它是默认行为。即使应用程序是关键应用程序,我也想展示它们。 但是我只找到了用objective-c编写的这个问题的解决方案,但现在我正在使用Swift。我想知道如何用Swift实现它。
答案 0 :(得分:11)
为确保始终显示通知,您需要为NSUserNotificationCenter
设置委托并实施userNotificationCenter(center:shouldPresentNotification:) -> Bool
。 documentation表示此消息为
当用户通知中心决定不发送给代理时 提出通知。
您可以在您选择的任何类中实现委托。这是一个例子:
class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDelegate {
func applicationDidFinishLaunching(aNotification: NSNotification) {
NSUserNotificationCenter.defaultUserNotificationCenter().delegate = self
}
func userNotificationCenter(center: NSUserNotificationCenter, shouldPresentNotification notification: NSUserNotification) -> Bool {
return true
}