在iOS 12的Beta版本中,我观察到它在键盘建议中给出了OTP(来自SMS)。 那么他们为开发人员创建的API是什么?或者那只是一个操作系统功能。
遗憾的是,您无法阅读完整的消息,您只能阅读消息中的验证码。
迅速:
@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 ...
其他:
安全代码自动填充功能仅适用于系统键盘。它不适用于自定义键盘。
没有api,但你需要设置textContentType
作为.oneTimeCode
属性的UITextField
otpTextField.textContentType = .oneTimeCode
还有一件事,
如果您对文本字段使用自定义输入视图,则iOS无法显示必要的自动填充UI。
没有没有公共API。它由OS自动处理。您只需要将UITextField的输入视图的textContentType属性设置为oneTimeCode。
textField.textContentType = .oneTimeCode
添加到其他答案后,在测试之后,文本消息似乎需要在号码之前包含“验证号码”或“代码”才能正常工作。
工作:
不工作: