美文网首页
iOS指纹解锁后更新UI问题

iOS指纹解锁后更新UI问题

作者: 需要帮助的乘客 | 来源:发表于2016-11-25 10:15 被阅读0次

昨天在公司需求中需要加入指纹解锁功能

在指纹接受验证后   回调会在子线程中  因此需要调用主线程执行ui更新   

然鹅群里一群人知道却不告诉我   害的我瞎忙活半天。。。。

代码如下 

//初始化上下文对象

LAContext* context = [[LAContext alloc] init];

//错误对象

NSError* error = nil;

NSString* result = @"通过Home键验证已有手机指纹";

//首先使用canEvaluatePolicy 判断设备支持状态

if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {

//支持指纹验证

[context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:result reply:^(BOOL success, NSError *error) {

if (success) {

//验证成功,主线程处理UI

[mUserdefaults setObject:@"1" forKey:isUseLock];

[mUserdefaults setObject:@"1" forKey:isOpenHand];

[mUserdefaults synchronize];

[SVProgressHUD showSuccessWithStatus:@"开启成功"];

}

else

{

dispatch_async(dispatch_get_main_queue(), ^{

[mUserdefaults setObject:@"0" forKey:isOpenHand];

_sw.on = NO;

[SVProgressHUD dismiss];

});

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

switch (error.code) {

case LAErrorSystemCancel:

{

NSLog(@"Authentication was cancelled by the system");

//切换到其他APP,系统取消验证Touch ID

break;

}

case LAErrorUserCancel:

{

NSLog(@"Authentication was cancelled by the user");

//用户取消验证Touch ID

break;

}

case LAErrorUserFallback:

{

NSLog(@"User selected to enter custom password");

[[NSOperationQueue mainQueue] addOperationWithBlock:^{

//用户选择其他验证方式,切换主线程处理

}];

break;

}

default:

{

[[NSOperationQueue mainQueue] addOperationWithBlock:^{

//其他情况,切换主线程处理

}];

break;

}

}

}

}];

}

else

{

//不支持指纹识别,LOG出错误详情

switch (error.code) {

case LAErrorTouchIDNotEnrolled:

{

NSLog(@"TouchID is not enrolled");

[SVProgressHUD showWithStatus:@"设备不支持指纹解锁"];

break;

}

case LAErrorPasscodeNotSet:

{

[SVProgressHUD showWithStatus:@"设备未设置指纹解锁"];

NSLog(@"A passcode has not been set");

break;

}

default:

{

[SVProgressHUD showWithStatus:@"设备未设置touchId"];

NSLog(@"TouchID not available");

break;

}

}

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

}

相关文章

  • iOS指纹解锁后更新UI问题

    昨天在公司需求中需要加入指纹解锁功能 在指纹接受验证后 回调会在子线程中 因此需要调用主线程执行ui更新 然鹅...

  • iOS指纹解锁和手势解锁

    iOS指纹解锁和手势解锁 iOS指纹解锁和手势解锁

  • 求助问题

    手机升级了ios10.1系统后怎么解锁时没有了密码解锁只有指纹解锁呢,怎么把密码解锁掉出来?

  • iOS15实现面容ID解锁和指纹解锁

    iOS15实现面容ID解锁和指纹解锁

  • Android 亮屏慢问题处理

    问题: 【指纹】灭屏下使用正确的指纹解锁,解锁成功背光亮但屏幕没亮 【偶现】滑动解锁后只显示壁纸,图标在4S后加载...

  • iOS 指纹解锁

    前言:随着指纹解锁的普及,越来越多的应用开始使用指纹解锁、指纹支付.不过作为iOS开发,这倒不难,因为苹果为我们封...

  • iOS13.0 13.1 LAContext 无法弹出指纹UI

    iOS13.0 13.1 LAContext 无法弹出指纹UI 神坑 在升级iOS13.0 13.1时,指纹设备L...

  • iOS 指纹解锁

    最近公司的 APP 涉及到指纹识别这块,之前没有研究过,现在简单总结下... 1.基本知识点 2.代码 完成这篇功...

  • iOS指纹解锁

    我们都知道iPhone支持指纹解锁,之前没有在项目中应用过,还以为有多么神秘,没想到这么简单!系统已经为我们提供了...

  • iOS指纹解锁

    苹果iPhone5s后开始推出指纹解锁功能,很大的提升了用户在密码解锁中的用户体验,而且苹果的指纹解锁技术不但操作...

网友评论

      本文标题:iOS指纹解锁后更新UI问题

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