美文网首页iOS开发 技术集锦iOS开发程序员
IOS指纹/面容识别,TouchID/FaceID验证

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

作者: 槿灬 | 来源:发表于2017-12-22 17:39 被阅读1085次

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

    准备认证 开始认证 认证失败

    使用方法

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

    只需调用yz_showAuthIDWithDescribe:BlockState:一个方法即可实现全部功能,简易实现代码如下:

    [[YZAuthID alloc] yz_showAuthIDWithDescribe:nil BlockState:^(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
    
    // TouchID/FaceID 验证成功
    YZAuthIDStateSuccess
    
    // TouchID/FaceID 验证失败
    YZAuthIDStateFail
    
    // TouchID/FaceID 被用户手动取消
    YZAuthIDStateUserCancel
    
    // 用户不使用TouchID/FaceID,选择手动输入密码
    YZAuthIDStateInputPassword
    
    // TouchID/FaceID 被系统取消 (如遇到来电,锁屏,按了Home键等)
    YZAuthIDStateSystemCancel
     
    // TouchID/FaceID 无法启动,因为用户没有设置密码
    YZAuthIDStatePasswordNotSet
    
    // TouchID/FaceID 无法启动,因为用户没有设置TouchID
    YZAuthIDStateTouchIDNotSet
    
    // TouchID/FaceID 无效
    YZAuthIDStateTouchIDNotAvailable
    
    // TouchID/FaceID 被锁定(连续多次验证TouchID/FaceID失败,系统需要用户手动输入密码)
    YZAuthIDStateTouchIDLockout
    
    // 当前软件被挂起并取消了授权 (如App进入了后台等)
    YZAuthIDStateAppCancel
    
    // 当前软件被挂起并取消了授权 (LAContext对象无效)
    YZAuthIDStateInvalidContext
    
    // 系统版本不支持TouchID/FaceID (必须高于iOS 8.0才能使用)
    YZAuthIDStateVersionNotSupport
    

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

    相关文章

      网友评论

      • a4f00eec63ea:10.0以后才能用?
      • 488e8528812f:pod 引用没用
      • hello_bear:faceID好像没用
        hello_bear:@YJ_Xiao 嗯,就是这么做的:relieved:
        槿灬:使用FaceID需要在info.plist中增加NSFaceIDUsageDescription权限申请说明,如下:

        <key>NSFaceIDUsageDescription</key>
        <string>允许设备访问FaceID</string>
      • 439da7c56e08:写的很好的一个组件,怎么星数这么少。。加油博主

      本文标题:IOS指纹/面容识别,TouchID/FaceID验证

      本文链接:https://www.haomeiwen.com/subject/ejdxgxtx.html