if (context.CanEvaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, out AuthError)){
var replyHandler = new LAContextReplyHandler((success, error) => {
this.InvokeOnMainThread(()=> {
if(success)
{
Console.WriteLine("You logged in!");
PerformSegue("AuthenticationSegue", this);
}
else
{
// Show fallback mechanism here
}
});
});
context.EvaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, myReason, replyHandler);
};
我想根据错误类型处理 else 条件下的错误情况。
最佳答案
可以从返回的NSError
中获取失败代码,并根据LAStatus
代码进行处理:
switch (error.Code)
{
case (long)LAStatus.AuthenticationFailed:
~~~
break;
case (long)LAStatus.UserCancel:
~~~
break;
~~~
default:
break;
}
LAStatus(去除弃用):
public enum LAStatus : long
{
Success,
AuthenticationFailed = -1L,
UserCancel = -2L,
UserFallback = -3L,
SystemCancel = -4L,
PasscodeNotSet = -5L,
AppCancel = -9L,
InvalidContext = -10L,
BiometryNotAvailable = -6L,
BiometryNotEnrolled = -7L,
BiometryLockout = -8L,
NotInteractive = -1004L
}
各种代码的说明,可以使用LAError.Code:
关于ios - 如何在 Xamarin 中处理 iOS 生物识别身份验证中的错误情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50673665/