it-swarm.com.de

Automatische OTP-Überprüfung in IOS?

Gibt es eine Möglichkeit, auf Daten vom iPhone-Posteingang (SMS) auf die iOS-Anwendung zuzugreifen, um eine automatische OTP-Überprüfung wie in Android durchzuführen? Ich werde für Ihre Hilfe dankbar sein.

13
Rinshad Kammath

In iOS 12 hat Apple eine Funktion namens Security Code AutoFill eingeführt.

Um dies in Ihrer App zu verwenden, müssen Sie lediglich die UITextField-Eigenschaft textContentType der Eingabeansicht von oneTimeCode einstellen. 

otpTextField.textContentType = .oneTimeCode

NOTE: Sicherheitscode AutoFill funktioniert nur mit der Systemtastatur, nicht mit der benutzerdefinierten Tastatur.

WWDC-Video

Wenn Sie OTP erhalten, sieht es ungefähr so ​​aus:

 enter image description here

11
iVarun

UPDATE

Dies ist jetzt in iOS 12 mit Security Code Autofill

Apple verwendet es seit iOS 11 bei der Überprüfung der Apple-Zahlungskarte

enter image description here

5
Ted

UPDATE

Ab iOS 12 unterstützt Apple Password AutoFill für UITextField, UITextView und jede benutzerdefinierte Ansicht, die das UITextInput-Protokoll verwendet. Die Systemtastatur hat den textContentType auf .oneTimeCode gesetzt.

1) Verwenden von Code

singleFactorCodeTextField.textContentType = .oneTimeCode

2) Storyboard/XIB verwenden

Wählen Sie UITextFieldUITextView in storyboard/XIB aus. Klicken Sie auf Attribut Inspektor. Gehen Sie zum Texteingabemerkmal, klicken Sie auf Inhaltstyp und wählen Sie .__ aus. ein Zeitcode und fertig.

Das Betriebssystem erkennt Bestätigungscodes von Messages automatisch mit dieser UITextContentType-Einstellung.

Warnung

Wenn Sie eine benutzerdefinierte Eingabeansicht für ein Sicherheitscode-Eingabetextfeld verwenden, iOS kann die erforderliche AutoFill-Benutzeroberfläche nicht anzeigen.

 WWDC 2018 iPhoneX Device

Weitere Informationen finden Sie auf dem Apple-Entwickler _/oneTimeCode .

Überprüfen Sie außerdem WWDC 2018 Session 204 - Automatische strikte Kennwörter und Sicherheitscode AutoFill und springen Sie zu 24:28, um die OTP automatisch vorzufüllen.

5

In Xamarin iOS für> = iOS 12:

Zuallererst müssen die SMS das Schlüsselwort "code" oder "passcode" enthalten, und darf nach dem Code keine Leerzeichen verwenden. Wenn Sie die SMS erhalten haben und die Schaltfläche "Code kopieren" haben, funktioniert es 

 enter image description here

Dann musst du das platzieren:

_txtField = new UITextField()
{
   UserInteractionEnabled = true,
};
if (UIDevice.CurrentDevice.CheckSystemVersion(12, 0))
{
  _txtField.TextContentType = UITextContentType.OneTimeCode;          
}
_txtFieldDelegate = new UITextFieldDelegate();
_txtField.Delegate = _txtFieldDelegate;
_txtField.BecomeFirstResponder();

HINWEIS: Der Sicherheitscode AutoFill funktioniert nur mit der Systemtastatur (nicht benutzerdefiniert).

4
El0din

sie können dies einfach in Storyboard einstellen

 Click on Attribute inspector. Go to text input trait, click on Content type and select one time code

2
king_T

Es ist auch wichtig, dass die empfangene SMS etwas mit "Code" wie enthält

"Ihr Passwort lautet: 123456"

oder

"12345 ist Ihr Code zum Einloggen"

etwas in diese Richtung.

NICHT!

Ihre App: 12345

sie können überprüfen, ob der Code in Ihrer Textnachricht mit dem Typ .oneTimeCode kompatibel ist, indem Sie auf den unterstrichenen Code in Ihrer Nachricht tippen. Wenn ein Dialogfeld mit der Aufschrift "Code kopieren" angezeigt wird, können Sie loslegen. Andernfalls müssen Sie möglicherweise den Text Ihrer Nachricht ändern.

1
iVentis

Sie können OTP von Ihrer Nachricht erhalten.

otptextField.textContentType = .oneTimeCode

Kann bitte das Projekt von seinem Link bekommen.

https://github.com/karthickkck315/Automatic-OTP

0
Karthickkck