How to implement AutoFill OTP verification and Auto Proceed in iOS
If you've to implement AutoFill-OTP
in iOS then it requires iOS 12 and above
You've to set TextField
ContentType
to OneTimeCode
as below image
- Image
Note:- It only works when OTP message is included
Code
orPassCode
keyword.
Autofill OTP to the TextField when I receive message iPhone app
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.
How to auto fill OTP textfield on OTP code received from firebase in iOS, Swift? (WITHOUT TAPPING)
By design, iOS apps have no access to incoming SMS messages. There are many discussions out there on a similar topic.
- Link 1
- Link 2
- Link 3
- Link 4
The main reason for the restriction is privacy. There is no documented public API to receive a callback when SMS is received. If you try to hack iOS and listen for private notifications then might be your app will be rejected by the App Review team.
While doing research on this topic I found something interesting, you can create an extension that can receive incoming SMS and call events for the purpose of SPAM filtering. This type of extension is called the SMS and Call reporting extension in Apple's ecosystem. While looking at the documentation of this extension, at first glance I thought we can achieve the asked behavior if we can notify our host app about the incoming messages. But while scrolling to the end of the document I found that by design this extension has some additional restrictions:
- The extension cannot share data with the host app.
- The extension can't access the network directly.
- The extension receives the event only if the sender's number is not on the contact list
Anyways it's all about docs, I have not tried anything on the extension. What you can do is try to create an extension and see for other possible solutions.
Example:
1 bad solution in my mind is your extension call your server with the SMS content and then your server forward the SMS content in a silent push notification payload. When your app received the silent notification it serves the purpose of prefilling the field. But again this is not the intended purpose of the extension.
In my opinion, the best is what you have already achieved i.e. setting the text field's content type.
Related Topics
Converting Utc Date Format to Local Nsdate
Cropping Image with Swift and Put It on Center Position
The Maximum Number of Apps for Free Development Profiles Has Been Reached. Xcode 11.5
Default Tab Bar Item Colors Using Swift Xcode 6
Missing Push Notification Entitlement Warning
Nsinteger and Nsuinteger in a Mixed 64Bit/32Bit Environment
Navigating to a New Screen When Stream Value in Bloc Changes
Hide Remove Separator Line If Uitableviewcells Are Empty
Swift Numerics and Cgfloat (Cgpoint, Cgrect, etc.)
iOS 11 Uitabbar Uitabbaritem Positioning Issue
Ios7 Status Bar Hide/Show on Select Controllers
Difference Between Presentviewcontroller and Uinavigationcontroller
Setting Scroll Position in Uitableview
Uidevice Currentdevice Model Possible Values
Referring to Weak Self Inside a Nested Block