SecurityAgentPlugin funktioniert unter Yosemite nicht mehr (SFAuthorizationPluginView)

Wir haben ein Autorisierungs-Plug-in entwickelt, das ein SFAuthorizationPluginView verwendet, um dem Benutzer die Benutzeroberfläche zu präsentieren. Dieses Beispiel basiert auf dem "alten"eispiel für @NameAndPassword Von Apple bereitgestellt.

Wir verwenden dieses Authorization Plug-in, um die Sitzung mithilfe einer benutzerdefinierten Ansicht zu entsperren (wir haben die Berechtigung "system.login.screensaver" in der AuthorizationDB aktualisiert). Dies hat bis zum letzten Update von Yosemite gut funktioniert. Seit Yosemite wird das SFAuthorizationPluginView nicht mehr geschlossen, nachdem sich der Benutzer in der Sitzung angemeldet hat. Wir könnten das Beispiel aktualisieren, um das Schließen des Fensters zu erzwingen, indem wir Folgendes tun:

// confirm that we have authorized the user
[self callbacks]->SetResult ([self engineRef], kAuthorizationResultAllow);

// close the window
NSView* v = [self viewForType:SFViewTypeCredentials]; 
NSWindow* w = [v window]; 
[w close];

Nun ist das SFAuthorizationPluginView geschlossen, sobald der Benutzer angemeldet ist (nachdem wir den Benutzer autorisiert haben), aber im Hintergrund bleibt etwas aktiv und der Benutzer hat keinen Fokus in der Sitzung (der Benutzer kann nichts auswählen oder in eine Textbearbeitung schreiben beispielsweise). Wir müssen den SecurityAgent manuell beenden, um den Fokus wieder zu erhalten. (Beachten Sie, dass das System den SecurityAgent anscheinend nach 30 Sekunden automatisch beendet.)

Wir haben auf der folgenden Seite eine feste Version des Apple Auth-Plugin-Beispiels NameAndPassword für 2014 gefunden, aber wir haben das gleiche Problem mit Yosemite:A reparierte 2014 Version des Apple NameAndPassword Auth Plugin Beispiels

Dieser Code hat bis zur Veröffentlichung von Yosemite einwandfrei funktioniert.

Experimentiert jemand ein ähnliches Problem? Haben Sie eine Idee oder einen Rat, um dieses Problem zu beheben?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage