美文网首页
TouchID指纹解锁

TouchID指纹解锁

作者: 西瓜皮奥特曼 | 来源:发表于2017-07-07 13:23 被阅读8次

原文地址:http://blog.csdn.net/personsky/article/details/52413501

实现过程

1.首先引入指纹解锁必须的头文件

1

LocalAuthentication/LocalAuthentication.h

2.了解下主要的两个方法

这个方法是判断设备是否支持TouchID的。

1

2- (BOOL)canEvaluatePolicy:(LAPolicy)policy error:(NSError * __autoreleasing *)

error__attribute__((swift_error(none)));

这个是用来验证TouchID的,会有弹出框出来。

1

2

3- (void)evaluatePolicy:(LAPolicy)policy

localizedReason:(NSString *)localizedReason

reply:(void(^)(BOOLsuccess, NSError * __nullable error))reply;

3.新建LAContext对象

主要的属性设置

localizedFallbackTitle:用于设置左边的按钮的名称,默认是Enter Password.

localizedReason:用于设置提示语,表示为什么要使用Touch ID

/创建LAContext

LAContext *context = [LAContextnew];//这个属性是设置指纹输入失败之后的弹出框的选项

context.localizedFallbackTitle = @"没有忘记密码";

4.主要回调方法,包括成功以及失败的

//创建LAContext

LAContext *context = [LAContext new]; //这个属性是设置指纹输入失败之后的弹出框的选项

context.localizedFallbackTitle = @"没有忘记密码";

NSError *error = nil;

if ([contextcanEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics

error:&error]) {

NSLog(@"支持指纹识别");

[contextevaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics

localizedReason:@"指纹解锁"reply:^(BOOL success, NSError * _Nullable error) {

if (success) {

NSLog(@"验证成功刷新主界面");

_canPush = YES;

}else{

NSLog(@"%@",error.localizedDescription);

switch (error.code) {

case LAErrorSystemCancel:

{

NSLog(@"系统取消授权,如其他APP切入");

break;

}

case LAErrorUserCancel:

{

NSLog(@"用户取消验证TouchID");

break;

}

case LAErrorAuthenticationFailed:

{

NSLog(@"授权失败");

break;

}

case LAErrorPasscodeNotSet:

{

NSLog(@"系统未设置密码");

break;

}

case LAErrorTouchIDNotAvailable:

{

NSLog(@"设备Touch ID不可用,例如未打开");

break;

}

case LAErrorTouchIDNotEnrolled:

{

NSLog(@"设备Touch ID不可用,用户未录入");

break;

}

case LAErrorUserFallback:

{

[[NSOperationQueue mainQueue]addOperationWithBlock:^{

NSLog(@"用户选择输入密码,切换主线程处理");

}];

break;

}

default:

{

[[NSOperationQueue mainQueue]addOperationWithBlock:^{

NSLog(@"其他情况,切换主线程处理");

}];

break;

}

}

}

}];

}else{

NSLog(@"不支持指纹识别");

switch (error.code) {

case LAErrorTouchIDNotEnrolled:

{

NSLog(@"TouchID is notenrolled");

break;

}

case LAErrorPasscodeNotSet:

{

NSLog(@"A passcode has not beenset");

break;

}

default:

{

    NSLog(@"TouchID not available");

    break;

}

}

    NSLog(@"%@",error.localizedDescription);

}

相关文章

  • TouchID 指纹解锁

    一直想实现指纹解锁的功能, 今天抽空翻阅下文档写个Demo。该功能实现起来是很简单的,因为苹果都已经帮我们封装好了...

  • TouchID指纹解锁

    原文地址:http://blog.csdn.net/personsky/article/details/52413...

  • TouchID 指纹解锁

    简单的介绍 苹果于iOS 8时推出了TouchID(所以iPhone5及以下的设备是不支持的),并且进行了很完善的...

  • iOS指纹解锁TouchID

    指纹解锁的使用越来越普遍了,主要是使用方便,再用之前还是先了解一下如何使用吧。 一、API介绍 使用指纹功能,必须...

  • IOS TouchID 指纹解锁

    ViewController.m Demo :http://pan.baidu.com/disk/home#lis...

  • ios TouchID

    1.引入指纹解锁必须的头文件 2.了解TouchID最主要的两个方法这个方法是判断设备是否支持TouchID的。 ...

  • Swift面容指纹识别LAManager

    前言 指纹识别(TouchID),面容识别(FaceID)在iPhone中是频繁使用的,随时随地都在关闭手机,解锁...

  • iOS-高仿支付宝手势解锁(九宫格)

    基上篇TouchID 指纹解锁 的技术文, 然后目前又练习一种解锁方式: 九宫格手势解锁. 在一些涉及个人隐私的场...

  • iOS-金融/理财APP中常用的安全措施

    1.指纹解锁 1.1使用 TouchID的使用很简单,适用于iOS8以上,iPhone5S以上,引入框架#impo...

  • iOS开发实现TouchID指纹解锁

    一直想实现一下指纹解锁,苦于一直没时间,最近终于闲了下来所以翻了翻文档看了看demo,完成了这篇教程。本功能实现起...

网友评论

      本文标题:TouchID指纹解锁

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