如何使用 Cocoa 在 Dock 图标上添加徽章?

问题描述

我无法在 macOs BigSur 上为我的可可应用程序图标添加徽章。 我正在尝试使用以下代码更新 Dock 中的图标徽章:

NSApp.dockTile.showsApplicationBadge = true    
NSApp.dockTile.badgeLabel = "12"
NSApp.dockTile.display()

但是什么也没发生。我在 Xcode 控制台中收到一条消息:

setShowsApplicationBadge: is not yet implemented for the NSApp dockTile

有人可以帮忙吗?

解决方法

问题已通过 AppDelegate 中的这段代码解决

if #available(OSX 10.14,*) {
            UNUserNotificationCenter.current().requestAuthorization(options: [.badge]) { success,error in
                if success {
                    print("success")
                } else if let error = error {
                    print(error.localizedDescription)
                }
            }
        }

将此应用程序添加到 macOS 设置后 -> 通知和徽章出现在 Dock 中。 奇怪的情况,因为在新的新项目中它只是适用

NSApp.dockTile.badgeLabel = "12"

也许它会帮助其他人。