在升级iOS13.0 13.1时,指纹设备LAContext函数调用指纹显示UI慢甚至不显示UI,目前来看是苹果的bug。指纹传感器在进行着检测,而指纹UI无法显示出来。通过查阅资料,网上有很多大神发现了手指放到home键上,可以及时的弹出验证ui,或者晃动设备也可显示出UI。
笔者想着使用模拟摇晃的方法,及时显示出UI,奈何才疏学浅,不知从何下手。
后通过官方论坛发现,如果想及时显示出指纹验证UI,可通过调用两次evaluatePolicy:方法。
话不多说,代码如下:
LAContext*context = [[LAContext alloc]init];
__block NSString*message;
context.localizedFallbackTitle = @"Enter PIN";
[context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"Unlock access to locked feature" reply:^(BOOL success, NSError * _Nullable error) { }];
[context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"Unlock access to locked feature" reply:^(BOOL success, NSError *authenticationError) {
if(success) {
message =@"evaluatePolicy: succes";
}else{
message = [NSStringstringWithFormat:@"evaluatePolicy: %@", authenticationError.localizedDescription];
}
[self printMessage:message inTextView:self.textView];
}];
如果觉得对你有用,请点个赞!(▽)