答案 0 :(得分:14)
审核WWDC 2018 Session 204 - Automatic Strong Passwords and Security Code AutoFill。
您需要使用UITextField
作为条目和系统键盘(无自定义控件),并将textContentType
设置为.oneTimeCode
(iOS 12中的新功能)。
let securityCodeTextField = UITextField()
securityCodeTextField.textContentType = .oneTimeCode
操作系统将自动检测来自消息的验证码(包含“代码”或“密码”字样的消息),并设置此UITextContentType
。
答案 1 :(得分:2)
iOS在 UITextField,UITextView和任何采用UITextInput协议的自定义视图上支持密码自动填充。系统键盘将其上的textContentType设置为 .oneTimeCode
singleFactorCodeTextField.textContentType = .oneTimeCode
重要
tvOS应用程序也可以使用相同的功能来支持密码自动填充 内容类型设置。 AutoFill QuickType栏出现在 使用Control在iOS设备上输入密码时输入键盘 中央键盘,远程应用程序或连续性键盘。重点是 填充了登录字段后,该按钮也前进到了登录按钮。
警告
如果您将自定义输入视图用于安全代码输入文本字段, iOS无法显示必要的自动填充UI。
答案 2 :(得分:2)
答案 3 :(得分:0)
对于正在使用 HTML 搜索此操作的用户:需要在您的输入字段中添加autocomplete="one-time-code"
。
<input id="single-factor-code-text-field" autocomplete="one-time-code"/>
(来自Apple Docs)