iOS FaceID & TouchID
API文档 System/LocalAuthentication
FaceID和TouchID本身基本逻辑很简单(当然需要置入一些安全相关的第三方SDK的情况下除外),先来介绍几个关键参数值和一些主意事项,然后直接贴代码就OK
LAPolicyDeviceOwnerAuthenticationWithBiometrics 和 LAPolicyDeviceOwnerAuthentication
- LAPolicyDeviceOwnerAuthenticationWithBiometrics
- iOS 8.0+
1 | // 设备所有者使用生物识别方法进行认证。TouchID验证是必须的,如果TouchID不可用或者没有注册,则策略评估将会失败。如果TouchID是锁被锁定,则需要输入密码作为解锁TouchID的第一步。 |
- LAPolicyDeviceOwnerAuthentication
- iOS 9.0+
1 | // 设备所有者使用生物识别后者设备密码进行验证。 |
iOS11新增属性 LABiometryType biometryType
- iOS 11.0+
- 这里需要注意的是请仔细阅读 biometryType 属性的注释。中文意思为只有当canEvaluatePolicy:生物识别策略成功之后才会去设置这个属性的值。简单来说意思就是 biometryType 这个属性的值只有在你调用canEvaluatePolicy:方法之后并且返回是YES没有错误的情况下才会设置,才会有值。在调用 canEvaluatePolicy: 方法前,或者调用后但是有Error的情况下,该属性均无任何有意义的值,验证之后实际为空。
1 | typedef NS_ENUM(NSInteger, LABiometryType) |
代码附上
1 | - (void)viewDidLoad { |
LAError
1 | typedef NS_ENUM(NSInteger, LAError) |
Info
- Github: https://github.com/EchoZuo
- jianshu: https://www.jianshu.com/u/3390ce71084e
- CSDN: https://blog.csdn.net/zuoqianheng
- Email: zuoqianheng@foxmail.com
- Telegram: @echozuo