11

While registering from my app I was sending OTP to the registered mobile number I want to retrieve that OTP in my app without opening SMS app...When the user received OTP message I need to display that OTP here ...How can I achieve this in iOS? I also have user Phone number with me.

On search, I have found this but I am not clear how to initiate this. Can anyone help me from this?

Steve Vinoski
  • 18,969
  • 3
  • 26
  • 38
user1986984
  • 121
  • 1
  • 1
  • 8

2 Answers2

11

UPDATE

From iOS 12 Apple will allow the support to read One Time Code(OTP - One Time Password) which you will get in the iPhone device.

iOS supports Password AutoFill on UITextField, UITextView, and any custom view that adopts the UITextInput protocol. System keyboard set the textContentType on it to .oneTimeCode

1) Using Code

singleFactorCodeTextField.textContentType = .oneTimeCode

2) Using Storyboard/XIB

Select UITextField/UITextView in storyboard/XIB click Click on Attribute inspector. Go to text input trait, click to Content type and select one time code and done.

The operating system will detect verification codes from Messages automatically with this UITextContentType set.

Check out the official documentation for Enabling Password AutoFill on a Text Input View

Invictus Cody
  • 487
  • 4
  • 16
10

You cannot access messages on ios and hence you cannot autofill the OTP in ios apps by reading sms.

The answers in the link that you have posted do not read the sms messages. They just create a custom url scheme and the otp is filled in when the user clicks the custom url in the sms.

Ankit Goel
  • 5,557
  • 4
  • 33
  • 43
  • @TLuck i just update iOS 10.1 and in it I enable two way authentication, and apple own application can read it and auto fill OTP, for me, I do not know they make it open for developer or not. – Jageen Oct 31 '16 at 04:31
  • I think apps should not allow to read messages. It can be security breach. As you may have some secure & sensitive information. Such as Bank information – TechChain Dec 13 '17 at 04:38