指纹识别,iPhone5S以后推出
iOS 8.0 才推出指纹识别SDK
导入头文件
#import <LocalAuthentication/LocalAuthentication.h>
然后,判断设备是否支持指纹识别和用户开通指纹识别并且设置了指纹识别密码,再执行指纹识别输入是否成功
- (void)laContext {
LAContext * ctx = [[LAContext alloc]init];
//判断设备是否支持指纹识别
if ([ctx canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:NULL]) {
//输入指纹
[ctx evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"指纹支付" reply:^(BOOL success, NSError * _Nullable error) {
NSLog(@"%d %@",success,error);
}];
}else{
NSLog(@"不支持");
}
}
指纹识别的错误信息有
/* 指纹识别的错误信息
LAErrorAuthenticationFailed --- 指纹无法识别
LAErrorUserCancel --- 用户点击了"取消"
LAErrorUserFallback --- 用户点击了"输入密码"
LAErrorSystemCancel --- 系统取消,比如激活了其他应用(用户)
LAErrorPasscodeNotSet --- 因为设备上没有设置密码
LAErrorTouchIDNotAvailable --- 设备没有Touch ID
LAErrorTouchIDNotEnrolled --- 因为用户没有输入指纹
LAErrorTouchIDLockout --- 多次输入错误,密码锁定
LAErrorAppCancel --- 比如电话进来,用户不可控的
*/
指纹识别和密码的区别
指纹识别:判断是否是手机的主人
密码:判断是否是app账户的主人
指纹识别不可以当作密码使用,可以作为二次验证来方便使用