LocalAuthentication是用来实现iOS中的指纹识别的,自从iPhone5s加入TouchID后,LocalAuthentication也越来越受到关注。
LocalAuthentication以LAContext的方式工作,先用canEvaluatePolicy:error:方法判断机器是否具有指纹识别的功能,再用evaluatePolicy:localizedReason:reply:方法来实现指纹识别功能。整个过程中,用户的生物信息都被安全的存储在硬件当中。
LocalAuthentication的支持库是LocalAuthentication.framework
LAContext *context = [[LAContext alloc] init];
NSError *error = nil;
if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {
NSLog(@"支持指纹识别");
[context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometricslocalizedReason:NSLocalizedString(@"100块都不给我?", @"Don't give me 100 dollars?") reply:^(BOOL success,NSError *error) {
if (success) {
NSLog(@"指纹识别成功");
} else {
NSLog(@"指纹识别失败");
}
}];
} else {
NSLog(@"不支持指纹识别");
}