本地通知会覆盖以前的本地通知

时间:2018-10-19 11:49:28

标签: swift macos push-notification notifications uilocalnotification

我有一个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上。

通知设置正确。

2 个答案:

答案 0 :(得分:1)

我不知道我做错了什么。

通过将通知顺序(在通知设置中)更改为由应用程序手动修复此问题,然后该问题得以解决。之后,我可以将其更改为最新版本,并且仍可以使用。肯定只是macOS中的一个错误。

答案 1 :(得分:0)

请参阅documentation,为每个通知设置不同的标识符。

  

标识符对于通知是唯一的。通知已发送   与现有通知具有相同标识符的替换   现有通知,而不是导致显示新通知   通知。

您可以这样设置

notification.identifier = "yourIdentifier"