Я создал простое приложение, чтобы узнать, как использовать NSWorkspaceWillSleepNotification и NSWorkspaceDidWakeNotification. Моя цель - вызвать метод, когда компьютер спит и просыпается. Приложение, которое я создал, изменит каждый ярлык соответственно. После создания приложения я запускаю его с рабочего стола. После запуска приложения я усыпляю компьютер. Когда компьютер просыпается, ярлыки в приложении не меняются. Я добавил кнопки IBAction в окно, чтобы убедиться, что метки изменятся. При нажатии кнопок метки действительно меняются. Но я хочу, чтобы нечто подобное происходило автоматически после сна и пробуждения. Что я делаю не так?
#import "Controller.h"
@implementation Controller
- (void)fileNotifications {
[[[NSWorkspace sharedWorkspace] notificationCenter] addObserver: self
selector: @selector(makeSleep:)
name: NSWorkspaceWillSleepNotification
object: nil];
[[[NSWorkspace sharedWorkspace] notificationCenter] addObserver: self
selector: @selector(makeWake:)
name: NSWorkspaceDidWakeNotification
object: nil];
}
- (IBAction)makeSleep:(id)sender {
[sleepLabel setStringValue:@"Computer Slept!"];
}
- (IBAction)makeWake:(id)sender {
[wakeLabel setStringValue:@"Computer Woke!"];
}
@end