我们都知道iPhone支持指纹解锁,之前没有在项目中应用过,还以为有多么神秘,没想到这么简单!系统已经为我们提供了框架<LocalAuthentication/LocalAuthentication.h>。
最近研究了下iOS8的文档,对指纹识别了解了下,并下载了一个官方提供的Demo。但是
NS_CLASS_AVAILABLE(10_10, 8_0)
从这句中可以看出,要想使用TouchID的接口,电脑的mac系统必须是10.10的,手机iOS系统必须是8.0,根据Demo中的代码和文档可以看出,TouchID的基本用法。
1、首先需要导入依赖包LocalAuthentication.framework。
2、检查设备是否能使用TouchID.
- (void)touchView {
LAContext *context = [[LAContext alloc] init];
__block NSString *msg;
NSError *error;
BOOL success;
// 判断是否支持指纹解锁
success = [context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error];
if (success) { // 返回结果是yes,则支持
msg = [NSString stringWithFormat:NSLocalizedString(@"TOUCH_ID_IS_AVAILABLE", nil)];
// 开始指纹验证
[context evaluatePolicy:LAPolicyDeviceOwnerAuthentication localizedReason:NSLocalizedString(@"UNLOCK_ACCESS_TO_LOCKED_FATURE", nil) reply:^(BOOL success, NSError * _Nullable error) {
if (success) { // 返回yes 则验证成功
msg = [NSString stringWithFormat:NSLocalizedString(@"EVALUATE_POLICY_SUCCESS", nil)];
} else {
msg = [NSString stringWithFormat:NSLocalizedString(@"EVALUATE_POLICY_WITH_ERROR", nil)];
}
}];
} else {
msg = [NSString stringWithFormat:NSLocalizedString(@"TOUCH_ID_IS_NOT_AVAILABLE", nil)];
}
}
只需要在自己定义的方法中写以上代码即可,是不是很简单,小伙伴赶紧来尝试一下吧!
网友评论