IOS指纹/面容识别,TouchID/FaceID验证

转自:https://www.jianshu.com/p/da752036b2f4

你还在为开发TouchID/FaceID识别功能而去翻阅大量的文档吗?
使用YZAuthID仅需一个回调方法即可轻松实现指纹/面容ID的验证识别功能,该项目支持Pods便于项目构建,可前往https://github.com/micyo202/YZAuthID下载源码运行查看效果。
认证原理这里我就不多做阐述了,先来看一下示例效果图:

指纹认证界面

指纹认证开始

指纹认证失败

面容认证界面

面容认证开始

面容认证失败

使用方法

1、引入

  • 使用CocoaPods方式:pod 'YZAuthID'
  • 手动引入方式:将YZAuthID文件夹下所有的文件拖入工程,在需要使用的地方引入#import "YZAuthID.h"头文件即可

2、编码

使用前记得在info.plist中增加NSFaceIDUsageDescription权限申请说明,否则无法使用FaceID。
代码中只需调用yz_showAuthIDWithDescribe:block:一个方法即可实现全部功能,简易实现代码如下:

[[YZAuthID alloc] yz_showAuthIDWithDescribe:nil block:^(YZAuthIDState state, NSError *error) {
        
        if (state == YZAuthIDStateNotSupport) {
            NSLog(@"对不起,当前设备不支持指纹/面部ID");
        } else if(state == YZAuthIDStateFail) {
            NSLog(@"指纹/面部ID不正确,认证失败");
        } else if(state == YZAuthIDStateTouchIDLockout) {
            NSLog(@"多次错误,指纹/面部ID已被锁定,请到手机解锁界面输入密码");
        } else if (state == YZAuthIDStateSuccess) {
            NSLog(@"认证成功!");
        }
        
    }];

返回YZAuthIDState各状态值介绍描述,可根据需求进行自行判断处理:

    /**
     *  当前设备不支持TouchID/FaceID
     */
    YZAuthIDStateNotSupport = 0,
    /**
     *  TouchID/FaceID 验证成功
     */
    YZAuthIDStateSuccess = 1,
    
    /**
     *  TouchID/FaceID 验证失败
     */
    YZAuthIDStateFail = 2,
    /**
     *  TouchID/FaceID 被用户手动取消
     */
    YZAuthIDStateUserCancel = 3,
    /**
     *  用户不使用TouchID/FaceID,选择手动输入密码
     */
    YZAuthIDStateInputPassword = 4,
    /**
     *  TouchID/FaceID 被系统取消 (如遇到来电,锁屏,按了Home键等)
     */
    YZAuthIDStateSystemCancel = 5,
    /**
     *  TouchID/FaceID 无法启动,因为用户没有设置密码
     */
    YZAuthIDStatePasswordNotSet = 6,
    /**
     *  TouchID/FaceID 无法启动,因为用户没有设置TouchID/FaceID
     */
    YZAuthIDStateTouchIDNotSet = 7,
    /**
     *  TouchID/FaceID 无效
     */
    YZAuthIDStateTouchIDNotAvailable = 8,
    /**
     *  TouchID/FaceID 被锁定(连续多次验证TouchID/FaceID失败,系统需要用户手动输入密码)
     */
    YZAuthIDStateTouchIDLockout = 9,
    /**
     *  当前软件被挂起并取消了授权 (如App进入了后台等)
     */
    YZAuthIDStateAppCancel = 10,
    /**
     *  当前软件被挂起并取消了授权 (LAContext对象无效)
     */
    YZAuthIDStateInvalidContext = 11,
    /**
     *  系统版本不支持TouchID/FaceID (必须高于iOS 8.0才能使用)
     */
    YZAuthIDStateVersionNotSupport = 12

到此整个认证过程就完成了,怎么样?是不是很Easy?如果有什么疑问或更好的建议欢迎留言!



作者:丶槿灬
链接:https://www.jianshu.com/p/da752036b2f4
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值