现在市面上我们使用的手机银行APP基本都有便捷登陆,iPhone用户使用指纹/面容登陆,这免去了用户每次使用都要密码的烦恼,极大地提高了用户的操作效率。今天我们来聊聊iOS开发中的面容与指纹开发。
首先,对于iPhone的这种功能,肯定会有对应的开发API,它就是 LocalAuthentication 喜欢看API的同学可以移步API传送门
我们提前知道的是:iOS 11.0之前是指纹(iPhone 8系列之前),之后是面容(iPhone全面屏,即iPhone X及以后)。
对于开发面容/指纹,有以下几步:
1、申请权限
首先需要在info.plist文件里配置权限 Privacy - Face ID Usage Description
2、导入相关系统包 LocalAuthentication
3、封装方法,在需要直接调用。话不多说,上代码!
总共用了两个方法,LAContext类:
- (BOOL)canEvaluatePolicy:(LAPolicy)policy error:(NSError * _Nullable *)error;
用来校验本机是否设置了指纹或者面容,如果是YES则进入 调用下面的方法,NO则取error进行解析处理操作。
在此方法里,可以获取本机支持的是面容/指纹,LAContext的biometryType属性区分:
注意:在LAContent刚初始后化获取biometryType时,始终获取的是LABiometryTypeNone(即0),需要注意下!!!
- (void)evaluatePolicy:(LAPolicy)policy localizedReason:(NSString *)localizedReason reply:(void (^)(BOOL success, NSError *error))reply;
在此方法下,success为true则验证成功,添加业务逻辑处理;success为false,可以根据error的错误代码进行相应的用户友好提示,详见上图方法详情。
以上就是iOS面容与指纹开发的内容,代码传送门!