4

ich die gepatchte Version von NameAndPassword verwenden wie hier: https://github.com/skycocker/NameAndPasswordSFAuthorizationPluginView Beispiel NameAndPassword hängt nach Taste gedrückt wird

Wenn diese außerhalb des Fensters Login (zB system.login.screensaver oder meine eigenen Test rechts) Mit dem Plug-in NameAndPassword bleibt das Fenster nach dem Drücken von OK oder Abbrechen für etwa 10 Sekunden stehen.

Hinzufügen von einigen Protokollen, sehe ich, dass MechanismDestroy auf dem Plugin aufgerufen wird und NameAndPassword freigegeben ist, aber es wird nie zu Dealloc in NameAndPassword. Ich sehe auch nicht, dass PluginDestroy aufgerufen wird. Der SecurityAgent bleibt nach dem Aufruf von MechanismDestroy weitere 10 Sekunden stehen.

habe ich diesen verwandten Beitrag: SecurityAgentPlugin not working anymore on Yosemite (SFAuthorizationPluginView)

Aber die akzeptierte Antwort folgende funktioniert nicht und nach der Autorisierung Plug-in Referenz didDeactivate sollte nicht aufgerufen werden müssen (es gibt keine Anrufe RequestInterrupt und MechanismDeactivate wird nie genannt). Calling SetResult sollte ausreichen.

Ich kann es hacken, indem ich das Fenster aus der Sicht bekomme und es zwangsweise schließe, aber es muss einen Weg geben, es zum gewünschten Funktionieren zu bringen.

Antwort

0

Ich fand verschiedene hack - ich habe die Referenzzahl der Auth-Mechanismus-Instanz und alle bis auf die letzte freigeben. Tun Sie dies nach dem setResult-Aufruf. Dies löst das Problem. Es sollte nicht so sein - aber Apple gibt uns keine große Wahl.