API для чтения SMS с iOS 12? - PullRequest
       15

API для чтения SMS с iOS 12?

0 голосов
/ 11 июня 2018

В бета-версии iOS 12 я наблюдал, что она дает OTP (из SMS) в предложении клавиатуры.
Так есть ли какой-нибудь API, который они создали для разработчиков?Или это просто функция ОС.

Ответы [ 5 ]

0 голосов
/ 28 апреля 2019

Добавляя к другим ответам, после тестирования кажется, что текстовое сообщение должно включать либо «Номер подтверждения», либо «Код», прежде чем число будет работать правильно.

Рабочая:

  • Проверочный номер 1234
  • Проверочный номер: 1234
  • Проверочный код 1234
  • Проверочный код: 1234
  • Код 1234
  • Код:1234

Не работает:

  • Номер 1234
  • Проверка 1234
  • 1234
0 голосов
/ 12 ноября 2018

Нет, для этого нет публичного API.Это автоматически обрабатывается ОС.Вам просто нужно установить для свойства textContentType представления ввода UITextField значение oneTimeCode.

textField.textContentType = .oneTimeCode

0 голосов
/ 11 июня 2018

Это функция ОС, но вам нужно установить textContentType свойство ввода UITextField oneTimeCode.

otpTextField.textContentType = .oneTimeCode

ПРИМЕЧАНИЕ: Защитный код Автозаполнение будет работать толькос системной клавиатурой он не будет работать с пользовательской клавиатурой.

Когда вы получите OTP, он будет выглядеть примерно так:

enter image description here

0 голосов
/ 28 сентября 2018

К сожалению, вы не можете прочитать полное сообщение, вы можете прочитать только проверочный код в сообщении.

Swift:

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

myTextField.textContentType = .oneTimeCode

Objective-C:

UITextContentType const UITextContentTypeOneTimeCode NS_AVAILABLE_IOS(12_0);

myTextField.textContentType = UITextContentTypeOneTimeCode;

Эти следующие коды подтверждения МОГУТ быть распознаны системой:

Чистое число длин 3-8

как: 123 1234 12345 666666 1234567 12345678 ...


Эти следующие коды проверки НЕ МОГУТ бытьраспознается системой:

(i). Длина кода меньше 3 или более 8 (ii). Включая буквы

как: 1 12 123a 9h7d 123456789 ...


Другие:

Код безопасности Автозаполнение будет работать только с системной клавиатурой.Он не будет работать с пользовательской клавиатурой.

0 голосов
/ 11 июня 2018

API отсутствует, но вам нужно установить textContentType как .oneTimeCode из UITextField свойство

otpTextField.textContentType = .oneTimeCode

еще одну вещь,

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

Нажмите здесь для получения дополнительной информации по apple

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...