指纹识别

2017-09-14  本文已影响11人  labi3285

从iPhone5s开始,苹果手机和ipad等设备开始支持指纹识别传感器,在某些场合可以使用到,以简化操作。

1、首先要导入头文件:

import <LocalAuthentication/LocalAuthentication.h>

2、系统的版本不能小于8.0:

// 检测设备的版本
if ([UIDevice currentDevice].systemVersion.floatValue < 8.0) {
        // 一般跳转到手动支付界面
        return;
}

3、创建本地授权上下文对象:

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

4、检查硬件:

// 检测指纹识别传感器是否正常(是否存在)
if (![ctx canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:NULL]) {
        // 一般跳转到手动支付界面
        return;
}

5、检测用户指纹操作(指纹输入或者点击取消):

// 执行指纹操作(注意整个是在异步操作的)
[ctx evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@“这里是描述” reply:^(BOOL success, NSError *error) {
    if (success) {
        // 执行授权后的操作
    } else {
        // 用户点击了手动输入的按钮
        if (error.code == LAErrorUserFallback) {
            // 跳转到手动授权界面
        }
    }
}];

注:
1、指纹识别的整个操作是在异步执行的,如果需要更新UI,需要在主线程进行回调。
2、指纹识别是一个独立的操作,有自己的消息框以配合指纹传感器的使用,此外,还必须存在手动输入的模块,因为指纹识别不稳定,不能作为用户的唯一输入。

上一篇下一篇

猜你喜欢

热点阅读