如何以编程方式检查对'Face Id'和'Touch Id'的支持

问题描述 投票:24回答:10

出于我的应用安全目的,我已经集成了LocalAuthentication,该产品一直支持基于'触摸ID'的支持。但是现在,苹果最近还添加了基于'Face Id'的身份验证。

我如何检查设备支持哪种身份验证。触摸ID或人脸ID?

ios ios11 touch-id face-id localauthentication
10个回答
24
投票

使用Xcode 9,请查看LocalAuthentication -> LAContext -> LABiometryType

LABiometryType是一个枚举,其值与附件中的图像相同

enter image description here

您可以在Touch ID和FaceID之间检查设备支持的身份验证类型,或者不检查。

编辑:

Apple已为此枚举LABiometryType

更新值。 现在不建议弃用

enter image description here


1
投票

来自@Markicevic扩展名,但忽略用户未注册的情况,等等。


46
投票

我一直在努力使它正常工作,发现我需要使用LAContext的单个实例,并且需要在获取biometryType之前调用LAContextInstance


8
投票

由于我是扩展的忠实粉丝。我对这个答案的措辞有些不同。本质是一样的。这是一个插件扩展。


5
投票

Face ID


4
投票

这里是通过属性的另一种方式(例如,在您的访问实例上)。


4
投票

目标C :)


4
投票

这是我的“帮助程序类”,它还包括密码


4
投票

我为本地身份验证创建了一个单例类,因为它一次使用整个应用程序的static属性来初始化实例。


1
投票

此代码在Xcode 9.2-9.4上构建时没有警告(请参阅9.1的注释):

© www.soinside.com 2019 - 2024. All rights reserved.