我正在Swift中将生物识别登录实现到我的iOS应用程序中,我使用了以下API:var permissions = context.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics,error: &failureReason)
检查是否支持生物识别。如果允许Face ID权限,则工作正常。但是,卸载并从XCode重新运行后,在没有任何权限提示的情况下调用canEvaluatePolicy,它仍然在响应闭包中返回支持的生物识别。我想知道允许权限之前和允许权限之后有什么不同。x1c 0d1x
我可以知道任何解决方案/方法来知道这个许可状态,谢谢。
1条答案
按热度按时间zbsbpyhn1#
当您拨打电话时,例如:
则iOS将运行以下检查:
当您在全新安装应用后首次调用
evaluatePolicy
时,iOS将提示用户是否应允许Face ID(如果设备支持Face ID且设备上已设置Face ID),并将显示应用提供的原因字符串,该字符串已输入Info.plist中的“隐私- Face ID用法描述”。用户的选择会影响应用的Face ID权限。用户做出选择后,评估过程将遵循与上图相同的逻辑。iOS将根据结果通过Face ID、Touch ID或密码进行身份验证。
如果你删除了一个应用程序,然后通过Xcode进行全新安装,那么整个过程会重新开始,用户在第一次使用时会再次得到提示。
LAContext
的biometryType
值与应用的权限无关。它是设备支持的内容,即面孔ID、触控ID或两者都不支持。该值允许应用在用户界面中使用适当的消息传递。例如,您可以使用该值将开关标记为“启用面部ID登录”或“启用触摸ID登录”。
该应用程序的权限最终将决定是否面部ID或触摸ID(基于设备的功能)将最终回落到只要求密码。