我如何观察用户何时使用生物识别技术对应用程序进行身份验证?
Posted
技术标签:
【中文标题】我如何观察用户何时使用生物识别技术对应用程序进行身份验证?【英文标题】:How can I observe when user authenticates the app with biometrics? 【发布时间】:2018-10-05 13:38:41 【问题描述】:我只是在代码中这样使用它:
let context = LAContext()
if context.canEvaluatePolicy(.deviceOwnerAuthentication, error: nil)
context.evaluatePolicy(.deviceOwnerAuthentication, localizedReason: "jjj") success, error in
print(error)
print(success)
然后用户可以看到:
一切都很好,直到用户点击Cancel
。然后我显示标签:
"Please use biometrics to authenticate"
。现在,在取消第一次尝试后,我需要随时在用户通过身份验证后获得回调。我怎样才能检测到这个?
【问题讨论】:
点击取消后用户可以进行身份验证的唯一方法是让您的应用再次调用context.evaluatePolicy
。
【参考方案1】:
您不需要为此设置“回调”。如果用户拒绝身份验证以响应对话框,则身份验证发生的唯一方法是在设置中,即在您的应用程序之外。因此,每次您的应用程序进入前台时,只需检查身份验证。
【讨论】:
仅此而已?它的工作方式是否正确?【参考方案2】:用代码Obj-C试试,我觉得Swift也是一样的逻辑
self.context = [[LAContext alloc] init];
[self.context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics
localizedReason:strMessage
reply:^(BOOL success, NSError *error)
dispatch_async(dispatch_get_main_queue(), ^
if (error)
if (error.code == LAErrorUserFallback)
//Do some thing
else if (error.code == LAErrorAuthenticationFailed)
//User authen failed
else if (error.code == LAErrorUserCancel)
//User cancel
else
//Something wrong...
return;
if (success)
//Success
else
//Failed
return;
);
];
【讨论】:
以上是关于我如何观察用户何时使用生物识别技术对应用程序进行身份验证?的主要内容,如果未能解决你的问题,请参考以下文章