OSX / Swift: Rufen Sie die Funktion auf, wenn der Bildschirm verfügbar wird

8

Ich möchte, dass meine OSX-App eine Funktion aufruft, wenn der Benutzerbildschirm verfügbar wird, z. B. wenn der Computer aus dem Ruhezustand erwacht oder der Benutzer den Bildschirm einschaltet. Grundsätzlich möchte ich jederzeit, wenn der Benutzer keinen aktiven Bildschirm mehr hat, meine Funktion aufrufen.

Ich bin nicht sicher, ob der beste Weg das zu tun ist:

Welche davon scheint der beste Weg zu sein, oder sollte ich etwas ganz anderes machen? Eine Art von Beispiel Swift-Code wäre wirklich hilfreich, da Codeschnipsel, die einige davon implementieren, nur wenige sind. Danke.

    
yesthisisjoe 04.01.2016, 19:41
quelle

2 Antworten

3

Ich konnte Benachrichtigungen für Bildschirmsperre und Bildschirmfreigabe unter OS X 10.10.5 erhalten. Sorry, ich kenne Swift noch nicht, also hier ist das Objective-C:

%Vor%     
rocky 08.01.2016 01:29
quelle
1

Nun, zuerst müssen Sie testen, ob Sie mit den verschiedenen Technologien die Lösung für alle Situationen bekommen können. Es gibt viele Situationen, die das Display einschaltet (Systemneustart, Ruhezustand aus dem Ruhezustand, Bildschirme verbinden / trennen, ...) und ich bin mir nicht sicher, ob sie alle von allen Technologien ausgelöst werden.

Als allgemeine Regel: Sie möchten wissen, wann der Bildschirm aktiviert ist. Verwenden Sie also die Benachrichtigung, dass der Bildschirm aktiviert ist. Das ist NSWorkspaceScreensDidWakeNotification . Solange es funktioniert, würde ich immer die Technik verwenden, die meinem Wunsch am nächsten kommt.

    
Amin Negm-Awad 29.02.2016 09:03
quelle