web-dev-qa-db-fra.com

Lire SMS message dans iOS

Je suis un développeur iOS et j'ai essayé de créer une application mobile avec une fonctionnalité d'activation automatique, j'ai trouvé plus qu'un moyen de lire SMS message mais uniquement en utilisant une API privée qui provoquera Apple rejet de mon application., J'ai deux questions et j'apprécie que tout commentaire puisse m'aider.

1- Existe-t-il un moyen de lire SMS message sur la plate-forme iOS sans faire face à Apple rejet)? 2- Quelqu'un peut-il me fournir la section correspondante dans Apple documentation du développeur, la section qui décrit que ce n'est pas autorisé à lire SMS message dans la plate-forme iOS?

23
UBA_MobileTeam
  1. Non, il n'y a aucun moyen de lire SMS messages. Apple est très strict à ce sujet en raison de problèmes de confidentialité).
  2. Connectez-vous au portail des développeurs et cliquez sur App Store Review Guidelines .

Nulle part dans les directives ne spécifie que vous ne pouvez pas accéder aux SMS. Mais vous ne pouvez y accéder que si vous utilisez des méthodes privées qui ne sont pas autorisées et que votre application sera rejetée.

Vous ne pouvez accéder qu'aux données pour lesquelles Apple fournit une API documentée. Vous ne pouvez pas accéder aux fichiers en dehors du bac à sable de votre application, sauf si Apple fournit une API pour il.

22
rckoenes

[~ # ~] mise à jour [~ # ~]

Depuis iOS 12 Apple a pris en charge la lecture du code de sécurité (OTP - Mots de passe à usage unique) dans les champs de texte.

oneTimeCode

Spécifie l'attente d'un code de connexion à un seul facteur SMS.

Vous pouvez saisir automatiquement les codes de sécurité à partir d'un seul facteur SMS flux de connexion:

yourSingleFactorCodeTextField.textContentType = .oneTimeCode

iOS prend en charge la saisie automatique des mots de passe sur UITextField, UITextView et toute vue personnalisée qui adopte le protocole UITextInput.

Avertissement

Si vous utilisez une vue de saisie personnalisée pour un champ de texte de saisie de code de sécurité, iOS ne peut pas afficher l'interface utilisateur de remplissage automatique nécessaire.

Security Code Autofill

16
Ashish Kakkad

Depuis iOS 12 Apple prend en charge la saisie automatique des mots de passe sur UITextField, UITextView, et toute vue personnalisée qui adopte le UITextInputprotocol. Le clavier système définit le textContentType sur . oneTimeCode

  • Utilisation du storyboard/XIB

Sélectionnez UITextField/UITextView dans storyboard/XIB cliquez sur Cliquez sur Inspecteur d'attributs. Accédez à la caractéristique de saisie de texte, cliquez sur Type de contenu et sélectionnez un code temporel et terminé.

Cela ne fonctionne qu'avec le clavier système. Alors évitez d'utiliser le clavier personnalisé.


Et pour plus d'informations, vous examinerez également WWDC 2018 Session 204 - Mots de passe forts automatiques et remplissage automatique des codes de sécurité = et passez à 24:28 pour un pré-remplissage automatique de l'OTP.

iPhoneX image

6
Ramkrishna Sharma

Pour Swift 5:

De iOS 12 Apple a pris en charge la lecture du code de sécurité (OTP - Mots de passe à usage unique) dans les champs de texte.

if #available(iOS 12.0, *) {
               otpField.keyboardType = .default
               otpField.textContentType = .oneTimeCode
       } else {
               // Fallback on earlier versions

       }

Ou vous pouvez ajouter ce contentType à partir du storyboard comme ci-dessous:

enter image description here

0
Jamil Hasnine Tamim