iOS指纹解锁

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 指纹解锁的使用越来越普遍了,主要是使用方便,再用之前还是先了解一下如何使用吧。 一、API介绍 使用指纹功能,必须...
    my_杨哥阅读 2,324评论 1 24
  • 昨天在公司需求中需要加入指纹解锁功能 在指纹接受验证后 回调会在子线程中 因此需要调用主线程执行ui更新 然鹅...
    需要帮助的乘客阅读 710评论 0 0
  • https://github.com/wangkecheng/WS_TouchID_Demo
    WARRON阅读 282评论 0 0
  • 前言:随着指纹解锁的普及,越来越多的应用开始使用指纹解锁、指纹支付.不过作为iOS开发,这倒不难,因为苹果为我们封...
    rockyMJ阅读 410评论 0 1
  • rework是最近我读的书当中非常喜欢的一本书,它所表达的内容,与普世的价值观有冲突甚至是相悖的地方,但是可...
    煜沨阅读 934评论 4 5