arn*_*app 8 macos notifications messages macos-sierra
是否可以收听/观察macOS收到的新通知?
我的意思是,当收到新的iMessage或Slack消息时(基本上所有导致NotificationCenter显示通知的内容)
简短回答:这是不可能的。
除非应用程序提供特定的 API,否则您无法观察应用程序发送的用户通知。例如,iMessage 和 Mail 的 AppleScript 字典包含脚本可以响应的事件。然而,用户通知被封装在目标应用程序中。
有一个名为DistributedNotificationCenter的全局通知类,它是一种通知调度机制,可以跨任务边界广播通知。有些进程正在发送分布式通知,但它的功能与UserNotification. 例如,TimeMachine 引擎进程backupd在运行备份时发送分布式通知。
您可以订阅所有分布式通知
DistributedNotificationCenter.default().addObserver(self, selector: #selector(handleNotifications(_:)), name: nil, object: nil)
Run Code Online (Sandbox Code Playgroud)
但我怀疑 iMessage 在收到消息时会发送分布式通知。
| 归档时间: |
|
| 查看次数: |
559 次 |
| 最近记录: |