我目前正在开发一个带有捆绑代理应用程序的 macOS 应用程序,该应用程序位于工具栏中。这两个应用程序通过DistributedNotificationCenter进行通信。
但是,代理应用程序不会更新其数据,除非通过单击工具栏图标再次激活它。
有没有办法让应用程序监听通知并以某种方式在后台立即响应/更新其内容?
这就是我从主应用程序收听通知的方式:
DistributedNotificationCenter.default().addObserver(
self,
selector: #selector(updateStuff(_:)),
name: .updateStuff,
object: nil
)
@objc func updateStuff(_ notification: Notification) {
// do something
print("update stuff")
}
如前所述,除非我手动激活工具栏应用程序(通过单击它),否则不会应用更新/不执行打印语句。
有任何想法吗?