Nach den Apfel docs https://developer.apple.com/reference/foundation/nsusernotification/1416410-identifierObjectiveC - wie NSUserNotification Kennung Eigenschaft
NSUserNotification hat eine Eigenschaft namens Kennung zu verwenden, die annehmen, um Benachrichtigungen zu ersetzen, wenn die Kennung der gleiche wie eine andere Meldung ist.
Als ich diese Funktion getestet habe, scheint es, dass die Benachrichtigung nicht wirklich ersetzt wird, nur nicht gesendet.
Wie erreiche ich den Effekt, dass nur eine Art von Benachrichtigung in der Benachrichtigungszentrale vorhanden ist, aber die zuletzt benannte Nachricht nach oben aktualisiert wird?
Senden von Benachrichtigungs A + Benachrichtigung B + Benachrichtigung A mit einer Verzögerung von 1 Minute
Dies ist, was auf dem MAC Benachrichtigungszentrum gezeigt wird
Ohne Identifikator
NotificationA (now)
NotificationB (1 minute ago)
NotificationA (2 minute ago)
Mit Kennung
NotificationB (1 minute ago)
NotificationA (2 minute ago)
Beachten Sie, wie Benachrichtigung A (2. Mal) nicht aufgrund der Kennung namens
gewünschte Wirkung vorliegt
NotificationA (now)
NotificationB (1 minute ago)
In dieser Situation Benachrichtigung A wird erneut gesendet und die vorherige Benachrichtigung A ist
Wir hatten ein ähnliches Problem in Chrome und wir löschten die Benachrichtigung und fügten sie erneut hinzu. Der Code ist noch nicht standardmäßig aktiviert, aber Sie können es ausprobieren, indem Sie einige Flags umschalten. Gerne weitere Informationen zur Verfügung stellen, wenn das hilft. https://cs.chromium.org/chromium/src/chrome/browser/notifications/notification_platform_bridge_mac.mm?rcl=0&l=142 –
Das tut, danke – David