iOS 指纹识别

iPhone5s的时候,苹果推出了指纹解锁。但是在ios8.0的时候苹果才推出相关的接口。

使用步骤
  • 导入框架

    #import <LocalAuthentication/LocalAuthentication.h>
    
  • 获得当前系统版本号

1
2
3
4
5
6
float version = [UIDevice currentDevice].systemVersion.floatValue;

if (version < 8.0 ) // 判断当前系统版本 {
NSLog(@"系统版本太低,请升级至最新系统");
return;
}
  • 实例化指纹识别对象,判断当前设备是否支持指纹识别功能(是否带有TouchID)
1
2
3
4
5
6
7
8
9
10
11
// 1> 实例化指纹识别对象
LAContext *context = [[LAContext alloc] init];

// 2> 判断当前设备是否支持指纹识别功能.
if (![context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:NULL]) {

// 如果设备不支持指纹识别功能
NSLog(@"该设备不支持指纹识别功能");

return;
};
  • 指纹登陆(默认是异步方法)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"提示文字" reply:^(BOOL success, NSError *error) {
// 如果成功,表示指纹输入正确.
if (success) {
NSLog(@"指纹识别成功!");

} else {
// 判断错误类型是否是主动自行输入密码
if (error.code == LAErrorUserFallback) {
dispatch_async(dispatch_get_main_queue(), ^{

//密码验证方法
});
}else{

}
}
}];