Я делаю приложение для Mac, где нужно что-то делать, когда компьютер просыпается, засыпает и просыпается, но я не могу заставить слушателя работать. Я чувствую, что все пробовал. В AppDelegate.swift, внутри функции applicationDidFinishLaunching, у меня есть:Не удается получить NSWorkspaceDidWakeNotification в swift OSX
NSWorkspace.sharedWorkspace().notificationCenter.addObserver(self, selector: "sleepListener", name: NSWorkspaceWillSleepNotification, object: nil)
NSWorkspace.sharedWorkspace().notificationCenter.addObserver(self, selector: "wakeUpListener", name: NSWorkspaceDidWakeNotification, object: nil)
и внутри AppDelegate.swift но за пределами функции applicationDidFinishLaunching, у меня есть:
func sleepListener(aNotification : NSNotification) {
print("Sleep Listening");
}
func wakeUpListener(aNotification : NSNotification) {
print("Wake Up Listening");
}
Я попробовал сочетание многих разных вещей, чтобы исправить проблему. Я попытался прослушивать NSNotificationCenter.defaultCenter(), я попытался изменить селектор на «sleepListener:» и «wakeUpListener:», я попытался удалить аргументы из обеих функций, и до сих пор ничего не работало. И действительно интересно то, что у меня есть два других слушателей работать отлично «NSWorkspaceScreensDidSleepNotification» и «NSWorkspaceScreensDidWakeNotification», называя их с
NSWorkspace.sharedWorkspace().notificationCenter.addObserver(self, selector: "screenSleepListener", name: NSWorkspaceScreensDidSleepNotification, object: nil)
и
NSWorkspace.sharedWorkspace().notificationCenter.addObserver(self, selector: "screenWakeUpListener", name: NSWorkspaceScreensDidWakeNotification, object: nil)
ссылающегося функций
func screenSleepListener() {
print("Screen Sleep Listening");
}
func screenWakeUpListener() {
print("Screen Wake Up Listening");
}
Итак, это что-то я делаю неправильно? Это что-то, о чем я должен сообщить об ошибке? Если кто-то другой может запустить этот код в файле, пусть их дисплей и компьютер засыпают, и посмотрите, будут ли они получать те же ошибки, что было бы очень полезно. И если кто-то знает, что в мире я делаю неправильно, это будет еще лучше.
Спасибо заранее!