Уведомления о событиях в macOS - PullRequest
0 голосов
/ 28 февраля 2019

Возможно ли для приложения macOS прослушивать определенные события, происходящие из другого приложения?

Я хотел бы определить, когда инициируются резервные копии Time Machine, для создания моментальных снимков на определенный момент времени.папка NAS, в которой находится sparsebundle.

1 Ответ

0 голосов
/ 28 февраля 2019

Механизм Time Machine отправляет распределенные уведомления .

Добавить наблюдателя

Objective-C

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

Swift

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

и реализовать соответствующий селектор

Objective-C

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

Swift

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

Необходимо отфильтровать уведомления, связанные с машиной времени.Вы также можете наблюдать определенные уведомления с помощью параметра name

.
...