5

Ich muss ein Plugin für den OS X-Login-Mechanismus erstellen, damit ich den Bildschirm auf andere Weise entsperren kann als durch Eingabe eines Passworts. Ich weiß, dass Dinge wie diese bereits existieren - Knock to Unlock oder Rohos USB Key Logon sind Beispiele.Erstellen eines OS X-Authentifizierungs-Plugins

Ich fand den Beispielcode auf ADC namens "NameAndPassword" (https://developer.apple.com/library/mac/samplecode/NameAndPassword/Introduction/Intro.html), und nach einigen Schwierigkeiten (Custom login/lock screen in OS X Mavericks) ich es geschafft, es auf Mavericks zu bauen und zu installieren. Das Problem ist, dass das gesamte Plugin anscheinend etwas veraltet ist und mich nicht mehr anmeldet, nachdem ich das Passwort eingegeben habe (ich muss den Rechner über SSH neu starten). Ich bin ein xcode/objective Anfänger und kann das Problem nicht selbst lösen.

Im Grunde ist meine Frage: Wie kann ich den Beispiel-NameAndPassword-Code ändern, so dass ich mich mit anderen Eingaben als der Tastatur anmelden konnte? Ich möchte eine App erstellen, die das Passwort bereitstellt, aber nicht über die Tastatur - das ist ungefähr so, wie ich Knock glaube, um Werke freizuschalten.

Antwort

6

Es gibt einige Fehler in Apples offiziellem Code. Ich gepatcht sie und zog meine Github: https://github.com/skycocker/NameAndPassword

Diese Version des Plugins sollte funktionieren, solange Sie

<string>loginwindow:login</string> 

Linie in der Berechtigungsrichtliniendatenbank ersetzen mit

<string>NameAndPassword:invoke</string> 

Sonst wird es dich nicht einloggen.

+0

Hat das, und das Plugin funktioniert nicht ... irgendwelche Ideen? –

+0

Hast du es so gemacht? http://stackoverflow.com/questions/21582995/custom-login-locks-screen-in-os-x-mavericks/21618085#21618085 –

+0

Ich habe es getan, und jetzt habe ich das Plugin funktioniert. Es funktioniert jedoch nur, wenn Sie sich aus dem Apple Menü/Abmelden-Menü abmelden ... Gibt es eine Möglichkeit, wie es als Haupt-Login-Mechanismus eingestellt werden kann, so dass es angezeigt wird, wenn der Computer angeschaltet wird? –

0

Ich arbeite an dem gleichen Problem, ich bin auch Obj-C Anfänger. Ich habe eine Analyse auf dem Knock gemacht, um die App zu entsperren, und es autorisiert nicht die system.login.console richtig, es definiert seine eigene Regel UND beim Sperren des Computers ruft es den Bildschirmschoner mit Sperrrecht auf sich selbst. Es ist kein Autorisierungs-Plugin wie das NameAndPassword-Beispiel. Es wird nicht im SecurityAuthorizationPlugins-Systemordner installiert, sondern als LoginAgent für den Benutzer registriert.

Und ich bin auch auf das Problem mit dem NameAndPassword-Plugin fest. Ist es Ihnen gelungen, sich mit dem (auch mit Tastatur) NamenAndPassword Plugin einzuloggen?

+0

Ich habe es nicht geschafft, das NameAndPassword ** noch ** zu beheben, aber ich habe vor, anoth zu verwenden er Mac und [debugieren Sie es remote mit Xcode] (https://developer.apple.com/library/mac/technotes/tn2108/_index.html) irgendwo diese Woche. –

+0

Nun, nachdem ich einige Mühe in das Debuggen des NameAndPassword-Plugins gesteckt habe, muss ich zugeben, dass es bisher nicht geklappt hat - es erfordert Xcode <4, um remote zu debuggen, und wenn ich Xcode 3.2.6 auf einer VM mit 10.9 installieren konnte Ich kann das Plugin dort nicht erstellen. Sie können weitere Diskussionen darüber sehen [hier] (http://stackoverflow.com/questions/21056322/customize-login-screen-mac-osx-sfauthorizationpluginview#comment33224960_21056322). Weißt du etwas mehr über diesen LoginAgent? Ich kann es nicht googeln. Sieht so aus, als wäre es ein besserer Ansatz - die Auth-Plugins scheinen veraltet zu sein. –

+0

Ich habe die Probleme behoben. Werfen Sie einen Blick auf die Antwort http://stackoverflow.com/a/22050896/2113110 –

Verwandte Themen