您现在的位置是:首页 >学无止境 > iOS实现生物识别网站首页学无止境
iOS实现生物识别
简介 iOS实现生物识别
1. info.plist中添加权限申请
<key>NSFaceIDUsageDescription</key>
<string>APP would like to use Face ID</string>
<key>NSBiometricUsageDescription</key>
<string>APP would like to use Touch ID</string>
2. 添加库
Build Phases → Link Binary With Libraries → LocalAuthentication.framework
3. 实现代码
#import <LocalAuthentication/LocalAuthentication.h>
// 检查是否支持认证
-(BOOL) isSupportBiometricCheck {
LAContext *context = [[LAContext alloc] init];
NSError *error = nil;
// 检查设备是否支持生物识别认证
if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthentication error:&error]) {
return true;
} else {
return false;
}
}
// 认证
// title:标题 eg.生物识别登录
// subTitle:副标题 eg.使用生物识别凭证登录
// negativeText:取消文本 eg.取消
- (void)biometricCheck:(CallSN)cbSn title:(NSString *)title
subTitle:(NSString *)subTitle
negativeButton:(NSString *)negativeText {
LAContext *context = [[LAContext alloc] init];
NSString *localizedReason = [NSString stringWithFormat:@"%@\n%@", title, subTitle];
[context evaluatePolicy:LAPolicyDeviceOwnerAuthentication
localizedReason:localizedReason
reply:^(BOOL success, NSError * _Nullable error) {
dispatch_async(dispatch_get_main_queue(), ^{
if (success) {
NSLog(@"认证成功");
} else {
NSLog(@"认证失败,原因:%@", error.description);
}
});
}];
}
目前来看
LAPolicyDeviceOwnerAuthentication优于LAPolicyDeviceOwnerAuthenticationWithBiometrics,因为LAPolicyDeviceOwnerAuthenticationWithBiometrics在验证失败时,需要重新输入一次锁屏密码或者调用LAPolicyDeviceOwnerAuthentication输入密码才可以再次被正常调用。否则直接返回生物特征已锁定,而引起认证失败。
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。





QT多线程的5种用法,通过使用线程解决UI主界面的耗时操作代码,防止界面卡死。...
U8W/U8W-Mini使用与常见问题解决
stm32使用HAL库配置串口中断收发数据(保姆级教程)
分享几个国内免费的ChatGPT镜像网址(亲测有效)
Allegro16.6差分等长设置及走线总结