【发布时间】:2019-07-22 04:49:54
【问题描述】:
所以我目前在商店有一个支持Touch-ID登录的应用程序,
- 一位使用 iPhone X iOS: 12.1.4 的用户向我发送了一个视频,他可以使用他的 face ID 登录,因为我回想一下,我还没有实现 face ID 功能,所以我已经在具有相同 iOS 的 iPhone X 上下载了商店版本,但我不能t 使用 Face ID 登录,但它确实要求我提供正确的移动密码。
现在回滚到我的商店版本代码,没有指示使用 Face-ID 的 info.plist 键,就是这个
<key>NSFaceIDUsageDescription</key>
<string>This application wants to access your FaceID scanner</string>
检查生物特征的代码是这样的,
let myContext = LAContext()
var authError: NSError? = nil
if #available(iOS 8.0, OSX 10.12, *) {
if !myContext.canEvaluatePolicy(LAPolicy(rawValue: Int(kLAPolicyDeviceOwnerAuthenticationWithBiometrics))!, error: &authError) {
switch authError?.code{
case (LAError.touchIDNotEnrolled).rawValue?:
User.sharedUser.touchIDState = .TouchIDNotEnrolled
self.touchIDButton.isHidden = true
break
case LAError.passcodeNotSet.rawValue?:
User.sharedUser.touchIDState = .TouchIDNotEnrolled
self.touchIDButton.isHidden = true
break
default:
User.sharedUser.touchIDState = .TouchIDNotSupported
self.touchIDButton.isHidden = true
break
}
}else{
User.sharedUser.touchIDState = .TouchIDEnrolled
// if(User.sharedUser.touchIDState == .TouchIDEnrolled){
self.touchIDButton.isHidden = false
// }
}
}
我的 iPhone X 没有显示它使用 Face-ID 的应用程序,而只是在使用时指示我输入密码,这是预期的结果......但是用户的视频非常清晰,以至于他正在使用 Face-ID 登录!这怎么可能?
【问题讨论】:
-
是的,有可能,
-
任何解释链接@Anbu.Karthik
-
是的,您没有拆分设备 LAContext 类型是 touchID 或面部 ID,实际上 LAContext 也与触摸和面部 ID 一起使用,所以如果它连接它会自动返回成功消息,基于我们的消息将处理该过程
-
但是 info.plist 缺少一个键 + 为什么它不能按预期在其他设备上工作
-
你的?听起来不错,但现有用户使用您的应用程序的时间。
标签: ios swift biometrics touch-id face-id