Чтение SMS-сообщения в iOS

Я разработчик iOS, и я попытался создать мобильное приложение с автоматической активацией, я нашел больше, чем читать SMS-сообщение, но только с использованием частного API, который вызовет отклонение Apple в моем приложении. У меня есть два вопросы и оценка любой обратной связи может помочь мне.

1 Есть ли способ прочитать SMS-сообщение на платформе iOS без отказа Apple? 2- Может ли кто-нибудь предоставить мне соответствующий раздел в документации разработчика Apple, раздел, в котором описывается, что его не разрешено читать SMS-сообщение на платформе iOS?

Ответ 1

  1. Нет, нет возможности читать смс сообщения. Apple очень строга к этому из-за проблем с конфиденциальностью.
  2. Войдите на портал разработчиков и нажмите " Рекомендации по рассмотрению в App Store".

Нигде в рекомендациях не указано, что вы не можете получить доступ к SMS. Но вы можете получить доступ только тогда, если вы используете приватные методы, которые не разрешены и приведут к отклонению вашего приложения.

Вы можете получить доступ только к тем данным, для которых Apple предоставляет документированный API. Вы не можете получить доступ к файлу вне Песочницы вашего Приложения, если Apple не предоставит API для него.

Ответ 2

ОБНОВИТЬ

Начиная с iOS 12, Apple поддерживает чтение кода безопасности (OTP - одноразовые пароли) в текстовых полях.

oneTimeCode

Определяет ожидание однофакторного кода входа в SMS.

Вы можете автоматически заполнять коды безопасности из однофакторных потоков входа в SMS:

yourSingleFactorCodeTextField.textContentType = .oneTimeCode

iOS поддерживает автозаполнение пароля в UITextField, UITextView и в любом настраиваемом представлении, использующем протокол UITextInput.

Предупреждение

Если вы используете пользовательское представление ввода для текстового поля ввода кода безопасности, iOS не сможет отобразить необходимый интерфейс автозаполнения.

Security Code Autofill

Ответ 3

Начиная с iOS 12 Apple будет поддерживать автозаполнение паролей в UITextField, UITextView и любое пользовательское представление, которое принимает protocol UITextInput. Системная клавиатура установила для textContentType значение .oneTimeCode

  • Использование раскадровки /XIB

Выберите UITextField/UITextView в storyboard/XIB Нажмите "Инспектор атрибутов". Перейти к черту ввода текста, нажмите на тип контента и выберите один код времени и все готово.

Работает только с системной клавиатурой. Поэтому не используйте пользовательскую клавиатуру.


А для получения дополнительной информации вы также просмотрите сеанс 204 WWDC 2018 - Автоматическое заполнение надежных паролей и кодов безопасности и перейдете к 24:28 для автоматического предварительного заполнения OTP.

iPhoneX image

Ответ 4

Для Swift 5:

Начиная с iOS 12, Apple поддерживает чтение кода безопасности (OTP - одноразовые пароли) в текстовых полях.

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

       }

Или вы можете добавить этот contentType из раскадровки, как показано ниже:

enter image description here