【发布时间】:2018-01-22 13:29:15
【问题描述】:
如果设备支持Face ID或Touch ID,我想对用户采取不同的操作。
当使用 Face ID 时,iOS 请求使用权限。 (与触控 ID 不同)。
如果用户拒绝许可,context.biometryType 返回 LABiometryTypeNone。
是否有办法检查设备支持的Touch ID或Face ID。
LAContext *context = [[LAContext alloc] init];
NSError *error;
if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {
}
if (@available(iOS 11.0, *)) {
if (context.biometryType == LABiometryTypeFaceID) {
// support FaceID
}
}
// support TouchID
控制台输出
(lldb) po error
Error Domain=com.apple.LocalAuthentication Code=-6 "User has denied the use of biometry for this app." UserInfo={NSLocalizedDescription=User has denied the use of biometry for this app.}
(lldb) po context.biometryType
LABiometryTypeNone
注意:我不想使用密码验证。我只需要知道 设备支持 Touch ID 或 Face ID
【问题讨论】:
-
您找到问题的答案了吗?我有同样的问题。