苹果6s怎么使用touchid
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了苹果6s怎么使用touchid相关的知识,希望对你有一定的参考价值。
1、首先进入苹果6s设置,然后找到并进入【TouchID和密码】设置选项。2、进入指纹识别设置之前,需要先输入一次密码,这个密码就是此前设置的解锁密码,输入正确后才可以进入指纹识别设置。
3、进入苹果6s指纹识别设置后,先需要选择开启的TouchID功能,包含【iPhone解锁】和【iTunes Store和App Store】,其中前者为指纹解锁,后者为应用商店应用解锁。
4、接下来需要新建用户指纹信息, 将手指放在Home键上反复按压移动,待红线布满整个指纹即完成日添加。
5、苹果6s最多支持录入5个指纹信息。 参考技术A 设置里面
touchID 和 FaceID~1
公司项目里面要 TouchID 和 faceID 来解锁安全中心
FaceID
iPhoneX 提供的刷脸功能与之前的设备的TouchID类似,都是属于生物验证的范畴。苹果爸爸也是为了照顾开发者,这两个功能对应的API基本相同,对于之前支持TouchID的APP其实可以在不做任何修改的基础上兼容FaceID,只是在一些UI样式上需要修改。
biometryType
iOS11之后LAContext
新增biometryType
属性,调用时候可以根据这个属性来判断当前设备是使用FaceID还是TouchID,并据此做UI样式上的调整
typedef NS_ENUM(NSInteger, LABiometryType)
/// The device does not support biometry.
LABiometryTypeNone API_AVAILABLE(macos(10.13.2), ios(11.2)),
LABiometryNone API_DEPRECATED_WITH_REPLACEMENT("LABiometryTypeNone", macos(10.13, 10.13.2), ios(11.0, 11.2)) = LABiometryTypeNone,
/// The device supports Touch ID.
LABiometryTypeTouchID,
/// The device supports Face ID.
LABiometryTypeFaceID API_UNAVAILABLE(macos),
API_AVAILABLE(macos(10.13.2), ios(11.0)) API_UNAVAILABLE(watchos, tvos);
/// Indicates the type of the biometry supported by the device.
///
/// @discussion This property is set only when canEvaluatePolicy succeeds for a biometric policy.
/// The default value is LABiometryTypeNone.
@property (nonatomic, readonly) LABiometryType biometryType API_AVAILABLE(macos(10.13.2), ios(11.0)) API_UNAVAILABLE(watchos, tvos);
2.NSFaceIDUsageDescription
使用FaceID需要在info.plist中增加NSFaceIDUsageDescription
权限申请说明,这个跟定位、拍照等一样,如果不增加默认提示如下,虽然不会崩溃,但最好还是加上。
3.其他
FaceID的调用方法跟TouchID一样,都是先判断再调用,具体流程参照分割线后的TouchID部分。
4.注意
FaceID如果 不间断连续尝试 次数超过5次之后,会弹窗提示如下,同时不再执行reply:
对应的block,这个需要注意
[myContext evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics
localizedReason:myLocalizedReasonString
reply:^(BOOL success, NSError *error)
//!!!超出次数,提示弹窗后,这里的block不会执行!!!
];
TouchID
iPhone 5s之后苹果推出的TouchID功能绝对是登录验证的一大神器,自此之后各种APP在涉及到登录时如果不把这一方式加上,估计都不好意思说是做APP的。这就苦了我们众程序猿,在开发中免不了要遇上各种坑。
在次我将自己曾经趟过的一些坑罗列了下
调用前的判断
在调用TouchID验证弹窗前最好先判断一下设备是否支持TouchID
//创建安全验证对象
LAContext * con = [[LAContext alloc]init];
NSError * error;
//判断是否支持密码验证
/**
* LAPolicyDeviceOwnerAuthentication 可输入手机密码的验证方式
* LAPolicyDeviceOwnerAuthenticationWithBiometrics 只有指纹的验证方式
*/
BOOL can = [con canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error];
这里有两种验证方式可选:
. LAPolicyDeviceOwnerAuthenticationWithBiometrics
iOS8.0以上支持,只有指纹验证功能
. LAPolicyDeviceOwnerAuthentication
iOS 9.0以上支持,包含指纹验证与输入密码的验证方式
调用TouchID
//初始化上下文对象
LAContext *context = [[LAContext alloc] init];
//localizedFallbackTitle=@“”,不会出现“输入密码”按钮
context.localizedFallbackTitle = @"";
//错误对象
NSError *error = nil;
NSString *result = @"验证信息";
//判断是否支持密码验证
/**
*LAPolicyDeviceOwnerAuthentication 手机密码的验证方式
*LAPolicyDeviceOwnerAuthenticationWithBiometrics 指纹的验证方式
*/
if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error])
[context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:result reply:^(BOOL success, NSError *error)
if(error.code == LAErrorTouchIDLockout)
BOOL can = [context canEvaluatePolicy:LAPolicyDeviceOwnerAuthentication error:&error];
if (can)
[context evaluatePolicy:LAPolicyDeviceOwnerAuthentication localizedReason:result reply:^(BOOL success, NSError * _Nullable error)
];
else
NSLog(@"调起账号密码页面失败!!!");
];
注意context.localizedFallbackTitle = @"";
如果不设置空值,则AlertView弹窗默认会有“输入密码”的选项,但是在LAPolicyDeviceOwnerAuthenticationWithBiometrics
模式下点击“输入密码”不会有反应;LAPolicyDeviceOwnerAuthentication
模式下点击可以唤起输入手机密码页面,页面如下,其中除了“指纹”两字是你的app名称,其他都不可定制
后面文章会有error.code 的说明
最后,祝大家告别 Bug!!!!!!
以上是关于苹果6s怎么使用touchid的主要内容,如果未能解决你的问题,请参考以下文章
苹果6s刷机后开机设置,但是到双重验证是发送验证码多次都收不到,现在显示发送次数过多怎么办