Existe-t-il un moyen d'accéder aux données de la boîte de réception de l'iPhone (SMS) vers l'application ios pour effectuer une vérification automatique du protocole OTP comme celle d'Android? Je serai reconnaissant pour votre aide.
Dans iOS 12, Apple a introduit une fonctionnalité appelée Security Code AutoFill
.
Pour l'utiliser dans votre application, il vous suffit de définir la propriété UITextField
de la vue d'entrée textContentType
de oneTimeCode
.
otpTextField.textContentType = .oneTimeCode
NOTE: 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:
METTRE À JOUR
Ceci est maintenant possible dans iOS 12 avec Security Code Autofill
Apple l'utilise dans la vérification de la carte de paiement Apple depuis iOS 11
METTRE À JOUR
Depuis iOS 12, Apple prend en charge le remplissage automatique du mot de passe sur UITextField, UITextView et toute vue personnalisée qui adopte le protocole UITextInput. Le clavier système définit le textContentType sur .oneTimeCode
1) Utilisation du code
singleFactorCodeTextField.textContentType = .oneTimeCode
2) Utilisation de Storyboard/XIB
Sélectionnez
UITextField
UITextView
dansstoryboard/XIB
. Cliquez sur Attribute inspecteur. Accédez au trait de saisie de texte, cliquez sur Type de contenu et sélectionnez un code de temps et fait.
Le système d'exploitation détectera automatiquement les codes de vérification de Messages avec cet ensemble UITextContentType
.
Attention
Si vous utilisez une vue d'entrée personnalisée pour un champ de texte de saisie du code de sécurité, iOS ne peut pas afficher l'interface utilisateur AutoFill nécessaire.
Pour plus d'informations, vous pouvez le vérifier sur le développeur Apple _/oneTimeCode
Et passez également en revue WWDC 2018 Session 204 - Mots de passe forts automatiques et saisie automatique du code de sécurité et passez à 24:28 pour pré-remplir automatiquement le mot de passe à usage personnel.
Dans Xamarin iOS, pour> = iOS 12:
Tout d’abord, il est nécessaire que SMS ait le mot clé "code" ou "mot de passe" dans son message et que n’utilise pas d’espace après le code. si vous avez reçu le SMS et que vous avez le bouton "Copier le code", cela fonctionnera
Ensuite, vous devez placer ceci:
_txtField = new UITextField()
{
UserInteractionEnabled = true,
};
if (UIDevice.CurrentDevice.CheckSystemVersion(12, 0))
{
_txtField.TextContentType = UITextContentType.OneTimeCode;
}
_txtFieldDelegate = new UITextFieldDelegate();
_txtField.Delegate = _txtFieldDelegate;
_txtField.BecomeFirstResponder();
REMARQUE: la saisie automatique du code de sécurité ne fonctionne qu'avec le clavier système (non personnalisé).
Vous pouvez obtenir OTP à partir de votre message.
otptextField.textContentType = .oneTimeCode
Pouvez s'il vous plaît obtenir le projet de son lien.