【问题标题】:InstallApplicatonEventHandler/NSNotificationCenter doesnt notify events (NSN)InstalledApplication EventHandler/NSNotificationCenter 不通知事件 (NSN)
【发布时间】:2017-12-16 07:07:45
【问题描述】:

我想在 mac os 中注册时间更改通知。使用 C Api 的。我尝试了 ApplicaitonEventHandler api,它似乎是这种情况下的 api,但我没有收到任何事件的通知

代码分享于,

https://gist.github.com/anonymous/a0b3e24e02b844bfb11e2b5d02e47d83

我注册了所有可能的事件,但触发任何事件似乎都没有为我创建通知。

我正在使用 .mm 扩展名,因为我希望我的代码公开为 ac 风格的 api,如果可能的话,我是否可以与私有目标 c 类互操作(即,如果目标 c 对象可以在 c++ 方法和合适的目标中实例化c api 可用于此类通知)。

[注意] 使用了下面建议的 NSNotification,它也不发送任何通知。

【问题讨论】:

标签: c++ objective-c c macos notifications


【解决方案1】:

如果您只是想在时钟更改时收到通知,您可以收听 com.apple.MenuBarClock.ClockNotification。

[[NSDistributedNotificationCenter defaultCenter] addObserver:self selector:@selector(timeChanged:) name:@"com.apple.MenuBarClock.ClockNotification" object:nil suspensionBehavior:NSNotificationSuspensionBehaviorDeliverImmediately];

【讨论】:

猜你喜欢
  • 2021-12-07
  • 2023-03-17
  • 2010-11-28
  • 2014-06-16
  • 1970-01-01
  • 1970-01-01
  • 2016-09-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多