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)
有人可以帮忙解决这个问题吗?
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)
也许它会帮助别人。