Согласно яблоневым документам https://developer.apple.com/reference/foundation/nsusernotification/1416410-identifierObjectiveC - как использовать NSUserNotification идентификатор свойство
NSUserNotification имеет свойство с именем идентификатора, который предполагает, чтобы заменить уведомления, когда идентификатор совпадает с другим уведомления.
Когда я тестировал эту функцию, однако кажется, что уведомление на самом деле не заменено, просто не отправлено.
Как я могу добиться эффекта, когда в центре уведомлений присутствует только один вид уведомления, но последний из них обновляется до вершины?
Отправка уведомления A + уведомление B + уведомление А с 1 минутной задержкой
Это то, что в настоящее время показано на уведомления макинтоша центра
Без идентификатора
NotificationA (now)
NotificationB (1 minute ago)
NotificationA (2 minute ago)
С идентификатором
NotificationB (1 minute ago)
NotificationA (2 minute ago)
Обратите внимание, как Уведомление А (2-й раз) не вызывается из-за идентификатором присутствует
Желательный эффект
NotificationA (now)
NotificationB (1 minute ago)
В этой ситуации Уведомление A отправляется снова, и предыдущее уведомление A не прошло
Мы столкнулись с аналогичной проблемой в Chrome, и мы закончили удаление уведомления и повторное добавление его снова. Код по-прежнему не включен по умолчанию, но вы можете попробовать его, переключив некоторые флаги. Рад предоставить дополнительную информацию, если это поможет. https://cs.chromium.org/chromium/src/chrome/browser/notifications/notification_platform_bridge_mac.mm?rcl=0&l=142 –
Что делает, спасибо – David