ios与android指纹识别,iOS指纹识别功能实践

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

1.导入框架

#import

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();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值