【问题标题】:Face-ID enabled without info.plist key?在没有 info.plist 键的情况下启用 Face-ID?
【发布时间】:2019-07-22 04:49:54
【问题描述】:

所以我目前在商店有一个支持Touch-ID登录的应用程序,

  • 一位使用 iPhone X iOS: 12.1.4 的用户向我发送了一个视频,他可以使用他的 face ID 登录,因为我回想一下,我还没有实现 face ID 功能,所以我已经在具有相同 iOSiPhone X 上下载了商店版本,但我不能t 使用 Face ID 登录,但它确实要求我提供正确的移动密码。

现在回滚到我的商店版本代码,没有指示使用 Face-IDinfo.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


【解决方案1】:

您的应用是使用旧版本的 iOS SDK(我认为是 iOS 10 或更早版本)构建的吗?如果是这样,iOS 将允许用户在您允许他们使用 Touch ID 的任何情况下使用 Face ID 进行身份验证,即使您尚未将这些密钥添加到您的Info.plist。第一次尝试时,他们会看到一个提示,警告他们该应用不是为 Face ID 设计的。

【讨论】:

  • 不幸的是,发生这种情况的当前版本是 +12,并使用 xCode 10 存档
  • 用户是否可能正在运行与 iOS 10 或更早版本相关联的旧版本应用程序,而不是您的最新版本?这或许可以解释为什么他们会看到与您不同的行为。
  • 他们向我展示了他们从商店更新的最新应用版本
  • 嗯,那我不知道,对不起。我会再考虑一下。
猜你喜欢
  • 1970-01-01
  • 2019-04-23
  • 1970-01-01
  • 2017-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多