Как мое приложение может получить уведомление, когда компьютер собирается спать или просыпается? - PullRequest
0 голосов
/ 04 мая 2020

У меня есть метка в Ma c Настольное приложение, я хочу изменить текст этой метки, когда Ma c переходит в режим сна. Я пробовал это https://developer.apple.com/library/archive/qa/qa1340/_index.html>, но события не запускаются (в моем случае). Ничто не печатает на консоли.

Я совершенно новичок в разработке Ma c Так честно, поэтому я хочу полный фрагмент кода, где его разместить и как его запустить.

- (void) receiveSleepNote: (NSNotification*) note
{
    NSLog(@"receiveSleepNote: %@", [note name]);
    NSLog(@"I am sleeping ");
}

- (void) receiveWakeNote: (NSNotification*) note
{
    NSLog(@"receiveWakeNote: %@", [note name]);

    NSLog(@"Now I get up ");
}

- (void) fileNotifications
{
    //These notifications are filed on NSWorkspace's notification center, not the default
    // notification center. You will not receive sleep/wake notifications if you file
    //with the default notification center.
    [[[NSWorkspace sharedWorkspace] notificationCenter] addObserver: self
            selector: @selector(receiveSleepNote:)
            name: NSWorkspaceWillSleepNotification object: NULL];

    [[[NSWorkspace sharedWorkspace] notificationCenter] addObserver: self
            selector: @selector(receiveWakeNote:)
            name: NSWorkspaceDidWakeNotification object: NULL];
}

Этот фрагмент кода ничего не печатает консоль, когда я ставлю ноутбук спать или бодрствовать. Я думаю, что что-то упустил, и я должен зарегистрировать уведомление et c.

...