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

Ale*_*sky 1 macos cocoa badge swift

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

NSApp.dockTile.showsApplicationBadge = true    
NSApp.dockTile.badgeLabel = "12"
NSApp.dockTile.display()
Run Code Online (Sandbox Code Playgroud)

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

setShowsApplicationBadge: is not yet implemented for the NSApp dockTile
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙解决这个问题吗?

Ale*_*sky 5

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)
                }
            }
        }
Run Code Online (Sandbox Code Playgroud)

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

NSApp.dockTile.badgeLabel = "12"
Run Code Online (Sandbox Code Playgroud)

也许它会帮助别人。