web-dev-qa-db-fra.com

iOS 12 SMS Lecture API?

Dans la version bêta d’iOS 12, j’ai observé qu’il donnait une suggestion de clavier à OTP (de SMS).
Y a-t-il une API qu'ils ont créée pour les développeurs? Ou ce serait juste une fonctionnalité du système d'exploitation.

6
NITESH

Il s’agit d’une fonctionnalité du système d’exploitation, mais vous devez définir la propriété UITextField de la vue d’entrée de textContentType, oneTimeCode.

otpTextField.textContentType = .oneTimeCode

REMARQUE: Le code de sécurité La saisie automatique ne fonctionne qu'avec le clavier système, mais pas avec le clavier personnalisé.

Lorsque vous obtiendrez OTP, cela ressemblera à ceci:

 enter image description here

7
iVarun

Malheureusement, vous ne pouvez pas lire le message en entier, vous pouvez uniquement lire le code de vérification dans le message.

Rapide:

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

myTextField.textContentType = .oneTimeCode

Objectif c:

UITextContentType const UITextContentTypeOneTimeCode NS_AVAILABLE_IOS(12_0);

myTextField.textContentType = UITextContentTypeOneTimeCode;

Ces codes de vérification suivants PEUVENT être reconnus par le système:

Un nombre pur de longueurs de 3-8

comme: 123 1234 12345 666666 1234567 12345678 ...


Les codes de vérification suivants NE PEUVENT PAS être reconnus par le système:

(i) .la longueur du code est inférieure à 3 ou supérieure à 8 (ii). inclure des lettres 

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


Autres:

Code de sécurité La saisie automatique ne fonctionne qu'avec le clavier système. Cela ne fonctionnera pas avec un clavier personnalisé.

2
刘俊利

Il n'y a pas d'api, mais vous devez définir textContentType comme .oneTimeCode de la propriété UITextField.

otpTextField.textContentType = .oneTimeCode

encore une chose

Si vous utilisez une vue d’entrée personnalisée pour un champ de texte, iOS ne peut pas afficher l'interface utilisateur AutoFill nécessaire. 

Cliquez ici pour plus d'informations par Apple

1
iParesh

Non, il n'y a pas d'API publique pour cela. Il est automatiquement géré par le système d'exploitation . Il vous suffit de définir la propriété textContentType de la vue d'entrée de UITextField sur oneTimeCode.

textField.textContentType = .oneTimeCode

0
Viren Malhan