Ich habe bemerkt, dass /System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend
und der Lock-Screen von Keychain Access (öffnen Sie die Einstellungen, klicken Sie auf 'Keychain-Status anzeigen in der Menüleiste' und klicken Sie dann auf Lock Screen vom Statusleistensymbol). Gibt es eine Möglichkeit, den Lock Screen von Keychain Access von der Befehlszeile über Terminal.app oder Cocoa API auszuführen?
Mac OS 10.9. Danke!
Ich habe gerade eine Lösung dafür gefunden: Ссылка
%Vor% Speichern unter lockscreen.m
und kompilieren mit:
Funktioniert perfekt, da es genau die gleiche Routine aufruft wie das Statusleistensymbol.
Wie oben erwähnt, tritt der Fehler "keine bekannte Instanzmethode für selector '_lockScreenMenuHit:'" auf, weil der Compiler nicht feststellen kann, ob eine solche Methode innerhalb von "instance" vor der Laufzeit existiert. Um dieses Problem zu lösen, habe ich eine Unterklasse von NSBundle erstellt, die ich "newPrincipalClass" nannte. Innerhalb dieser Klasse habe ich eine Instanzmethode namens - (void) _lockScreenMenuHit: (id) a erstellt.
Die geänderte Hauptdatei hat den folgenden Code:
%Vor%Also erstelle ich "instance" mit meiner neuen Unterklasse "newPrincipalClass", die eine Methode namens "_lockScreenMenuHit:" enthält. Wenn der Compiler nun innerhalb von "instance" prüft, findet er den Namen der Methode, so dass kein Fehler angezeigt wird. Und da hast du es, das Programm läuft ohne Probleme!