iOS指纹识别功能实践

作者: PandaXiong | 来源:发表于2016-05-29 19:31 被阅读171次

iOS8 苹果开放了指纹验证功能,支持5s以上的机型。

1.导入框架

#import <LocalAuthentication/LocalAuthentication.h>

2.定义几种可能性的block回调

typedef void (^SuccessVerifyBlock) (BOOL success);//验证成功

typedef void (^ErrorBlock) (NSError *error);//验证失败

typedef void (^InputPwdBlock)(NSError *error);//验证失败输入密码

typedef void (^DeviceNoSupportBlock)();//设备不支持

3.编码

+ (void)verifyFingerPrintWithSuccessBlock:(SuccessVerifyBlock)block WithErrorBlock:(ErrorBlock)errorBlock WithInputPwdBlock:(InputPwdBlock)inputPwdBlock WithDeviceNoSupportBlock:(DeviceNoSupportBlock)deviceNoSupportBlock {

    LAContext *ctx = [[LAContext alloc]init];

    // 判断设备是否支持指纹识别

    if ([ctx canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:NULL]) {

        // 输入指纹 - 回调是异步的

        [ctx evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:DetailDescription reply:^(BOOL success, NSError *error) {

            // 1. 如果输入成功

            if (success) {

                //成功

                dispatch_async(dispatch_get_main_queue(), ^{

                    //验证成功回调

                    block(success);

                    

                });

                

            } else {

                //指纹验证失败会弹出框,是否使用密码验证。

                // 判断错误类型是否是主动自行输入密码

                

                if (error.code == LAErrorUserFallback) {

                    dispatch_async(dispatch_get_main_queue(), ^{

                        //密码验证方法

                        inputPwdBlock(error);

                        //跳转到登录页面登录

                        

                    });

                    

                } else {

                    dispatch_async(dispatch_get_main_queue(), ^{

                        //指纹验证没有通过,没有点击用密码验证弹出框

                        errorBlock(error);

                        

                    });

                    

                }

                

            }

            

        }];

        

    } else {

        //设备不支持指纹识别

        deviceNoSupportBlock();

    }

    

}

相关文章

  • iOS指纹识别功能实践

    iOS8 苹果开放了指纹验证功能,支持5s以上的机型。 1.导入框架 2.定义几种可能性的block回调 3.编码

  • iOS Touch ID指纹识别(支付)

    指纹识别功能是iphone 5S之后推出的.SDK是iOS 8.0推出! 推出指纹识别功能的目的,是为了简化移动支...

  • 指纹识别

    指纹识别: 从iPhone5s开始,苹果手机有了指纹识别功能,而从iOS8.0开始,苹果开放了指纹识别的接口。 简...

  • iOS调取TouchID(指纹识别)

    导入头文件 因为指纹识别是苹果在iOS8才出的一个功能,所以进行判断是不是iOS8以及之后的系统版本 获取指纹识别

  • Touch ID

    使用iOS 8 SDK添加Touch ID指纹识别功能 - Puzhi的专栏 - 博客频道 - CS...

  • iOS指纹识别-iOS开发小模块功能

    实现iOS指纹验证功能指纹识别功能为本地认证的一种,因此首先需要包含

  • iOS Touch ID 开发教程

    一、Touch ID 简介 iOS系统的指纹识别功能最低支持的机型为iPhone 5s,最低支持系统为iOS 8,...

  • ios 指纹识别功能

    1.引入#import 2.- (IBAction)zhiwen:(id)sender { LAContext *...

  • iOS Touch ID

    iOS Touch ID 支持系统和机型 iOS系统的指纹识别功能最低支持的机型为iPhone 5s,最低支持系统...

  • 指纹识别

    要求 :iOS 系统必须是8.0以上,mac系统必须是10.10以上,在5S之上的设备才支持指纹识别功能。 iOS...

网友评论

  • JaryWang:问下,指纹数据是怎么发给后台去验证识别的
    JaryWang:明白了 就是绑定手机的指纹验证,同个手机不同app的指纹识别同一份
    PandaXiong:@JaryWang 不是 这个是直接调用苹果的API 苹果返回你是否正确。这个只能验证当前使用这个手机的是本人。

本文标题:iOS指纹识别功能实践

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