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?
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.
[~ # ~] 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.
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.
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 UITextInput
protocol
. Le clavier système définit le textContentType
sur . oneTimeCode
Sélectionnez
UITextField
/UITextView
dansstoryboard/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.
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: