工作原理:

当输入框成为第一响应者的时候,使用数据检测器启发式来推断传入消息携带验证码,把检测到验证码显示到QuickType Bar上,用户点击即可实现验证码填充

效果如下

81469636c543

键盘提示效果

一、源码适配方式

设置输入框的输入类别为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

81469636c543

xib设置方式如果你的工程暂时无法升级使用xcode10的,可先用xcode10修改xib(如上图),然后就会有(如下图)的修改记录,提交即可

81469636c543

xcode10 xib适配记录

三、短信验证码格式

验证短信验证码格式的是否合法的一个办法是打开iPhone上【短信】,点击信息中的验证码,如果从底部呼出选项 拷贝验证码 选项,可说明是可以的;反之不行

常见几种正确短信格式

1.验证码是:123456

2.验证码:123456

3.验证码123456

4.验证码为123456

缺陷:

对于验证码来源没有做到很好的区分,任意渠道的短信验证码都会显示到QuickType Bar上

适配注意点:

1.如页面中多个输入框,需要将其他输入框指定对应type,不然未指定的所有输入框都会促发验证码提示

其他相关文章:

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐