iPhone X, Face ID und Delphi

by Nov 29, 2017

Apple bietet für das iPhone X eine neue Autorisierungsmöglichkeit an: Face ID. Generell ist Face ID, als Nachfolger von Touch ID (dem Fingerabdrucksensor seit dem iPhone 5S) auf API Ebene kompatibel zu Touch ID. Also sollte die kleine Unit von https://bitbucket.org/allesbeste/ios-touchid-wrapper-for-delphi auch hier mit Face ID funktionieren.

Und die Unit funktioniert auch mit Delphi und Face ID auf dem iPhone X:

FaceID

Generell kapselt die Unit iOSapi.LocalAuthentication (vom oben angegeben Link) die absoluten, aber ausreichenden Grundfunktionalitäten aus dem LocalAuthetication-Framework: Die Fallback-Methode habe ich etwas umgeschrieben. Hier wird die Statusbar (ein anderes Thema für iPhone X) einfach rot oder grün gefärbt:

uses
[...] iOSapi.LocalAuthentication [...]


procedure TFormIrgendwas.TouchIDReply(success, error: Pointer); var bSuccess: Boolean; begin bSuccess := false; if not Assigned(error) AND Assigned(success) then begin bSuccess := ((Integer(success)) = 1); end; if bSuccess then begin // hat geklappt! Autorisiert self.SystemStatusBar.BackgroundColor := TAlphaColorRec.Darkgreen; end else begin // keine Autorisierung! self.SystemStatusBar.BackgroundColor := TAlphaColorRec.Darkred; end; // Form neu zeichnen self.Invalidate; end;