wake-up-neo.com

iOS 12 SMS API lesen?

In der Beta-Version von iOS 12 habe ich beobachtet, dass es OTP (von SMS) im Tastaturvorschlag gibt.
Gibt es eine API, die sie für Entwickler erstellt haben? Oder das wäre nur eine OS-Funktion.

6
NITESH

Dies ist eine Funktion des Betriebssystems, aber Sie müssen die UITextField -Eigenschaft der textContentType-Variable oneTimeCode einstellen.

otpTextField.textContentType = .oneTimeCode

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

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

 enter image description here

7
iVarun

Leider können Sie die vollständige Nachricht nicht lesen. Sie können nur den Bestätigungscode in der Nachricht lesen.

Swift:

@available(iOS 12.0, *)
public static let oneTimeCode: UITextContentType

myTextField.textContentType = .oneTimeCode

Ziel c:

UITextContentType const UITextContentTypeOneTimeCode NS_AVAILABLE_IOS(12_0);

myTextField.textContentType = UITextContentTypeOneTimeCode;

Der folgende Bestätigungscode kann vom System erkannt werden:

Eine reine Anzahl von Längen von 3-8

wie: 123 1234 12345 666666 1234567 12345678 ...


Der folgende Bestätigungscode kann vom System NICHT erkannt werden:

(i) .Länge des Codes ist weniger als 3 oder mehr als 8 (ii) .inklude Buchstaben 

wie: 1 12 123a 9h7d 123456789 ...


Andere:

Sicherheitscode AutoFill funktioniert nur mit der Systemtastatur. Es funktioniert nicht mit der benutzerdefinierten Tastatur.

2
刘俊利

Es gibt keine API, aber Sie müssen textContentType als .oneTimeCode der UITextField-Eigenschaft festlegen

otpTextField.textContentType = .oneTimeCode

eine Sache noch,

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

Klicken Sie hier für weitere Informationen von Apple

1
iParesh

Erwähnenswert ist, dass die Tastaturoption "Autofill Passwords" am Telefon aktiviert sein muss.

0
AntDC

Nein, dafür gibt es keine öffentliche API. Sie wird automatisch von OS ..__ verarbeitet. Sie müssen lediglich die textContentType-Eigenschaft der UITextField-Eingabesicht auf oneTimeCode setzen.

textField.textContentType = .oneTimeCode

0
Viren Malhan

Zusätzlich zu anderen Antworten muss die Textnachricht nach dem Testen entweder "Bestätigungsnummer" oder "Code" enthalten, bevor die Nummer ordnungsgemäß funktioniert.

Arbeiten:

  • Bestätigungsnummer 1234
  • Bestätigungsnummer: 1234
  • Bestätigungscode 1234
  • Bestätigungscode: 1234
  • Code 1234
  • Code: 1234

Funktioniert nicht:

  • Nummer 1234
  • Überprüfung 1234
  • 1234
0
jonoljon