【问题标题】:How I can add a badge on my Dock icon using Cocoa?如何使用 Cocoa 在我的 Dock 图标上添加徽章?
【发布时间】:2021-08-23 21:39:08
【问题描述】:

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

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

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

setShowsApplicationBadge: is not yet implemented for the NSApp dockTile

有人可以帮忙吗?

【问题讨论】:

  • 尝试只使用NSApp.dockTile.badgeLabel = "12"
  • 不幸的是,它没有帮助((控制台中的消息消失了,但徽章仍然没有出现..
  • 如果你搜索“setShowsApplicationBadge: is not yet implemented for the NSApp dockTile”会发现什么
  • 您从何时何地调用您的代码?
  • @Willeke,这段代码在 AppDelegate 的某个方法中执行。我收到某种通知,切换到主线程并执行这段代码。

标签: swift macos cocoa badge


【解决方案1】:

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"

也许它会帮助别人。

【讨论】:

    猜你喜欢
    • 2010-09-28
    • 2019-08-31
    • 2017-12-12
    • 1970-01-01
    • 1970-01-01
    • 2013-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多