2012-02-12 14 views

Odpowiedz

7

Wystarczy znaleźć go:

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

- (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(receiveWakeNote:) 
                   name: NSWorkspaceDidWakeNotification object: NULL]; 
} 
+0

dwie rzeczy: chcesz "Nil" nie "null" dla obiektu i należy sformatować Twoja odpowiedź na wyświetlenie kodu jako sformatowanego kodu - teraz jest całkiem nieczytelna. Ale dobra robota odpowiadając na własne pytanie! –

+0

Jak poprawnie sformatować kod? Nie wiem, jaki tag jest wymagany ... Dzięki! –

+0

Wygląda na to, że Parag cię pobił. Ale w przyszłości spójrz na przyciski w edytorze. Jednym z nich jest para nawiasów klamrowych ("{}"). Użyj tego, aby sformatować wybrany blok tekstu jako kod. –

2

Można użyć IORegisterForSystemPower().

Łączy rozmówcę do głównego zasilania Domain IOService dla celów otrzymania powiadomienia sen & wake dla systemu. Czy nie zapewnia powiadomienia o zamknięciu systemu i ponownym uruchomieniu.

io_connect_t IORegisterForSystemPower (
    void *refcon, 
    IONotificationPortRef *thePortRef, 
    IOServiceInterestCallback callback, 
    io_object_t *notifier) ; 

Spójrz na Q:How can my application get notified when the computer is going to sleep or waking from sleep? How to I prevent sleep?

2

na szybkie 3:

func onWakeNote(note: NSNotification) { 
    print("Received wake note: \(note.name)") 
} 

func onSleepNote(note: NSNotification) { 
    print("Received sleep note: \(note.name)") 
} 

func fileNotifications() { 
    NSWorkspace.shared().notificationCenter.addObserver(
     self, selector: #selector(onWakeNote(note:)), 
     name: Notification.Name.NSWorkspaceDidWake, object: nil) 

    NSWorkspace.shared().notificationCenter.addObserver(
     self, selector: #selector(onSleepNote(note:)), 
     name: Notification.Name.NSWorkspaceWillSleep, object: nil) 
} 
Powiązane problemy