问题描述
当启用了Touch ID的应用首次在iPhone X上运行时,系统会询问用户是否要使用Face ID。如果拒绝,则将禁用人脸ID,并且永远不会再给用户使用该功能的选项。除了删除并重新安装该应用程序外,还有另一种启用Face ID的方法吗?权限图像如下所示:
我已经使用以下代码集成了FaceID,如下所示:
- (void)authenicateButtonTapped{
LAContext *myContext = [[LAContext alloc] init];
NSError *authError = nil;
Nsstring *myLocalizedReasonString = @"Touch ID Test";
myContext.localizedFallbackTitle = @"";
if ([myContext canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&authError]) {
[myContext evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics
localizedReason:myLocalizedReasonString
reply:^(BOOL success,NSError *error) {
NSLog(@"success");
if (success) {
Nsstring *str = @"You are the owner of device";
NSArray * result = [[NSArray alloc] initWithObjects:str,nil];
dispatch_async(dispatch_get_main_queue(),^{
// executeClosure(callBack,result,NO);
});
} else {
switch (error.code) {
case LAErrorAuthenticationFailed:
NSLog(@"Authentication Failed");
break;
case LAErrorUserCancel:
NSLog(@"User pressed Cancel button");
break;
case LAErrorUserFallback:
NSLog(@"User pressed Enter Password");
break;
case LAErrorPasscodeNotSet:
NSLog(@"Passcode Not Set");
break;
case LAErrorBiometryNotAvailable:
NSLog(@"Touch ID not available");
break;
case LAErrorBiometryNotEnrolled:
NSLog(@"Touch ID not Enrolled or configured");
break;
default:
NSLog(@"Touch ID is not configured");
break;
}
NSArray * result = [[NSArray alloc] initWithObjects:error.localizedDescription,nil];
NSLog(@"Failure error: %@",result);
dispatch_async(dispatch_get_main_queue(),^{
// executeClosure(callBack,NO);
// Rather than show a UIAlert here,use the error to determine if you should push to a keypad for PIN entry.
});
}
}];
} else {
NSArray * result = [[NSArray alloc] initWithObjects:authError.localizedDescription,nil];
dispatch_async(dispatch_get_main_queue(),^{
NSLog(@"Failure %@",result);
// executeClosure(callBack,NO);
// Rather than show a UIAlert here,use the error to determine if you should push to a keypad for PIN entry.
});
}
}
请告诉我一旦我按下“不允许”,当我使用该应用程序时,请再次告诉我如何检查之前是否未授予该权限?基于此,我可以通过转到设置页面来要求用户启用该功能,但是到目前为止,我仍然停留在如何确定该权限是否被拒绝的问题上。