工作原理:
当输入框成为第一响应者的时候,使用数据检测器启发式来推断传入消息携带验证码,把检测到验证码显示到QuickType Bar上,用户点击即可实现验证码填充
效果如下
键盘提示效果
一、源码适配方式
设置输入框的输入类别为UITextContentTypeOneTimeCode即可.
if (@available(iOS 12.0, *)) {//Xcode 10 适配self.codeField.textContentType = UITextContentTypeOneTimeCode; //非Xcode 10 适配self.codeField.textContentType = @"one-time-code";}
二、xib适配方式
可在xcode10 修改xib的Content Type为One Time Code
xib设置方式
如果你的工程暂时无法升级使用xcode10的,可先用xcode10修改xib(如上图),然后就会有(如下图)的修改记录,提交即可
xcode10 xib适配记录
三、短信验证码格式
验证短信验证码格式的是否合法的一个办法是打开iPhone上【短信】,点击信息中的验证码,如果从底部呼出选项拷贝验证码选项,可说明是可以的;反之不行
常见几种正确短信格式
1.验证码是:123456
2.验证码:123456
3.验证码123456
4.验证码为123456
缺陷:
对于验证码来源没有做到很好的区分,任意渠道的短信验证码都会显示到QuickType Bar上
适配注意点:
1.如页面中多个输入框,需要将其他输入框指定对应type,不然未指定的所有输入框都会促发验证码提示
转载链接:/p/81469636c543