指纹验证功能的最低硬件支持为iPhone5s,iPad 6,iPad mini 3这些有touch ID硬件支持的设备,并且操作系统最低为iOS8.0,因为touch ID是在iOS8.0之后才开放的一类api。
做iOS8.0下版本适配时,务必进行API验证,避免调用相关API引起崩溃。
引入依赖框架:
#import <LocalAuthentication/LocalAuthentication.h>
if ([UIDevice currentDevice].systemVersion.floatValue < 8.0) {
NSLog(@"不支持");
return;
}
LAContext *ctx = [[LAContext alloc] init];
// 判断设备是否支持指纹识别
if ([ctx canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:NULL]) {
NSLog(@"支持");
// 输入指纹,异步
// 提示:指纹识别只是判断当前用户是否是手机的主人!程序原本的逻辑不会受到任何的干扰!
[ctx evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"指纹登录" reply:^(BOOL success, NSError *error) {
NSLog(@"%d %@", success, error);
if (success) {
// 登录成功
// TODO
NSLog(@"登录成功");
}
}];
NSLog(@"come here");
} else {
NSLog(@"不支持");
}