4

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

  • 一个拥有iPhone X iOS:12.1.4的用户给我发了一个视频,他可以使用他的面容 ID登录,我记得我还没有实现面容 ID功能,所以我已经在iPhone X上下载了商店版本。 iOS ,我无法使用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登录! !这怎么可能?

4

1 回答 1

0

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

于 2019-03-05T15:25:34.403 回答