I watched this video What's New in Cocoa Touch at WWDC 2018 and seen:
How to show this information?
Review WWDC 2018 Session 204 - Automatic Strong Passwords and Security Code AutoFill.
You will need to use a UITextField
for entry and the system keyboard (no custom controls) and set the textContentType
on it to .oneTimeCode
(new in iOS 12).
let securityCodeTextField = UITextField()
securityCodeTextField.textContentType = .oneTimeCode
The operating system will detect verification codes from Messages automatically (messages that contain the word "code" or "passcode") with this UITextContentType
set.
For those who's searching how to do that in HTML: need to add autocomplete="one-time-code"
for your input field.
<input id="single-factor-code-text-field" autocomplete="one-time-code"/>
(from Apple Docs)
However, that will not work in most Android phones. For Android it's more complicated: https://web.dev/sms-otp-form/. You will need to add @domain #code to SMS text and also implement extra JS to pickup the code.
autocomplete"off"
. –
Martres Storyboard
Select UITextField > Show the Attributes inspector > Text Input Traits > Content Type > One Time Code
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
singleFactorCodeTextField.textContentType = .oneTimeCode
Important
tvOS apps can also support Password AutoFill using the same content-type settings. The AutoFill QuickType bar appears above the keyboard when entering passwords with an iOS device using the Control Center keyboard, the Remote app, or the Continuity Keyboard. Focus is also advanced to the login button when the login fields are populated.
Warning
If you use a custom input view for a security code input text field, iOS cannot display the necessary AutoFill UI.
if you have a website and you want to use some OTP sms authentication
you should use code:
or passcode:
before your OTP message.
© 2022 - 2024 — McMap. All rights reserved.
.oneTimeCode
and your sms message's content also need containsOTP
string too. – Sit