我有一个macOS Swift应用程序,正在使用本地通知。这是发送这些邮件的一种小方法:
func sendPushMessage(title: String, message: String, userInfo: [String:Any]) {
let notification: NSUserNotification = NSUserNotification()
notification.title = title
notification.informativeText = message
notification.userInfo = userInfo
notification.soundName = NSUserNotificationDefaultSoundName
notification.deliveryDate = Date()
self.center.scheduledNotifications = [notification]
}
这很长时间了,我已经收到了所有通知(所有通知都显示在通知中心中)。但实际上,最新通知会覆盖前一个通知。假设只有一个通知槽,该槽总是被最新的通知覆盖。
在我的通知中心中,也只有一个可见的通知(最新的),而不是所有收到的通知。我不知道何时“停止工作”,但我想一个或两个月前?我的山脉仍然在10.13.6上。
通知设置正确。
答案 0 :(得分:1)
我不知道我做错了什么。
通过将通知顺序(在通知设置中)更改为由应用程序手动修复此问题,然后该问题得以解决。之后,我可以将其更改为最新版本,并且仍可以使用。肯定只是macOS中的一个错误。
答案 1 :(得分:0)
请参阅documentation,为每个通知设置不同的标识符。
标识符对于通知是唯一的。通知已发送 与现有通知具有相同标识符的替换 现有通知,而不是导致显示新通知 通知。
您可以这样设置
notification.identifier = "yourIdentifier"