美文网首页
iOS指纹解锁

iOS指纹解锁

作者: 亲亲qin | 来源:发表于2016-03-16 10:53 被阅读216次

    我们都知道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)];
        }
    }
    

    只需要在自己定义的方法中写以上代码即可,是不是很简单,小伙伴赶紧来尝试一下吧!

    相关文章

      网友评论

          本文标题:iOS指纹解锁

          本文链接:https://www.haomeiwen.com/subject/kipqlttx.html