macOS中的事件通知

时间:2019-02-28 14:13:14

标签: macos timemachine

macOS应用程序是否有可能侦听来自另一个应用程序的特定事件?

我想检测何时启动Time Machine备份,以便为sparsebundle所在的NAS文件夹创建时间点快照。

1 个答案:

答案 0 :(得分:1)

Time Machine引擎发送分布式通知

添加观察者

Objective-C

[[NSDistributedNotificationCenter defaultCenter] addObserver:self
                                                   selector:@selector(handleNotifications:)
                                                       name:nil
                                                     object:nil];

快速

DistributedNotificationCenter.default().addObserver(self, selector: #selector(handleNotifications), name: nil, object: nil)

并实现相应的选择器

Objective-C

- (void)handleNotifications:(NSNotification *)notification {
    NSLog(@"%@", notification);
}

快速

@objc func handleNotifications(_ notification : Notification) {
    print(notification)
}

您必须过滤与Time Machine相关的通知。您还可以通过name参数

观察特定的通知