没有info.plist键启用Face-ID?

问题描述 投票:3回答:1

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

  • 拥有iPhone X iOS:12.1.4的用户向我发送了一个视频,他可以使用他的面部ID登录,因为我记得我从未实现过面部识别功能,所以我已经在iPhone X上下载了商店版本iOS和我无法使用Face ID登录,但它确实向我询问了正确的移动密码。

现在回滚到我的商店版本代码,没有info.plist键指示使用Face-ID就是这个

<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登录! !这怎么可能呢?

ios swift biometrics touch-id face-id
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.