[英]Unable to get error code for LAErrorAuthenticationFailed in IOS FaceID
我正在嘗試創建一個具有面部識別功能的應用程序。 但是當我嘗試處理錯誤代碼時,我只能捕獲 LAErrorUserCancel。 我無法捕獲其他錯誤代碼,例如 LAErrorAuthenticationFailed。
[context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"asd" reply:
^(BOOL success, NSError *authenticationError) {
if (success) {
[[NSOperationQueue mainQueue] addOperationWithBlock:^(void){
[NSTimer scheduledTimerWithTimeInterval:1/40
target:self
selector:@selector(registerTouchID)
userInfo:nil
repeats:NO];
}];
}
else {
switch (authenticationError.code) {
case LAErrorAuthenticationFailed:
dispatch_async(dispatch_get_main_queue(), ^{
[self TouchFail];
});
break;
case LAErrorUserCancel:
NSLog(@"User pressed Cancel button");
break;
case LAErrorUserFallback:
NSLog(@"User pressed \"Enter Password\"");
break;
case LAErrorBiometryLockout:
dispatch_async(dispatch_get_main_queue(), ^{
[self LockoutAlert];
});
break;
default:
break;
}
}
}];
目前,iOS 會在 FaceID 嘗試失敗后顯示“取消”按鈕。 這就是我們得到“LAErrorUserCancel”的原因。
對於 TouchID,它返回“LAErrorAuthenticationFailed”
您可以通過錯誤獲取錯誤代碼。 _code =-6 或 -4 之類的...
只需在日志中使用 PO 語句即可獲取錯誤並進行相應處理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.