ios-iTouch使用相关

现在市面上基本上支持的iPhone的APP大多做了iTouch的生物指纹调用,要求多是解锁或者认证功能,其实就要做人机关联。

1,基本功能

基本功能有着现成的API,直接调用就成。

无非就是两个枚举的区别

LAPolicyDeviceOwnerAuthentication  // ios>9.0

LAPolicyDeviceOwnerAuthenticationWithBiometrics

LAPolicyDeviceOwnerAuthentication的强大在于可以指纹出错的情况下,调用iPhone手机锁屏密码验证,成功则表示通过。

2,其他细节

每个App都不相同,就是简单调用iTouch的需求也各不相同。验证成功的逻辑不说基本上千篇一律,这里主要说一下验证失败几个关键点。

 LAErrorAuthenticationFailed

 LAErrorUserCancel 

 LAErrorUserFallback 

 LAErrorSystemCancel

 LAErrorAppCancel

上面几种比较常见的失败block回调,其中LAErrorAppCancel是比较少见的,APP在验证iTouch或者Face ID时,被电话等iPhone级别更高的功能中断

 LAErrorPasscodeNotSet  //没有设置密码,没法用

 LAErrorTouchIDNotAvailable  //iTouch没法用

 LAErrorTouchIDNotEnrolled   //iTouch没法用

 LAErrorTouchIDLockout  //iTouch没法用

上面四种状态表示现在iTouch是无法使用的。

3,类似支付宝iTouch调用

支付宝的基本功能调用实现是由LAPolicyDeviceOwnerAuthentication枚举实现的。有一个不怎么常用的功能提现是,用户连续错误5次验证iTouch失败后,iTouch是被锁死的,而支付宝可以调用代码在App内部输入密码解锁iTouch来继续使用iTouch。

调用的代码也很简单,在LAErrorTouchIDLockout状态下

LAErrorTouchIDLockout

至于else的处理,可以弹出提示框,让用户知晓iTouch被锁死,需要重启。

要是要跳转设置页面如下

NSURL *url1 = [NSURL URLWithString:UIApplicationOpenSettingsURLString];

//url1,直接跳转该App的设置页面

NSURL *url2 = [NSURL URLWithString:@"App-Prefs:root=General&path=AUTOLOCK"];

//url2,直接跳转手机设置页面

 if([[UIApplication sharedApplication] canOpenURL:url]) {

            if(@available(iOS10.0, *)) {

                [[UIApplication sharedApplication] openURL:url options:nil completionHandler:nil];

            }else{

                [[UIApplication sharedApplication] openURL:url];

            }

    }

OK,完事了,iTouch或者连带Face ID调用这一块,基本上就这些了。

积累分享,希望大家喜欢!!!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容