4

So I have an application currently on the store that supports Touch-ID login,

  • A user with an iPhone X iOS: 12.1.4 sent me a video that he can login using his face ID and as i recall i never implemented the face ID feature yet so i've downloaded the store version on an iPhone X with the same iOS and i couldn't login with Face ID but it did ask me for the mobile pass code which is the right.

Now rolling back to my store version code, there is no info.plist key that indicates using Face-ID which is this one

<key>NSFaceIDUsageDescription</key>
<string>This application wants to access your FaceID scanner</string>

And the code for checking biometrics is this,

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
            // }
        }
    }

My iPhone X is not showing the application that its using Face-ID and simply when in use directs me for the passcode thats the expected result ... however the video is so clear from the user that he is logging in with Face-ID !! how is this even possible ?

Mohmmad S
  • 5,001
  • 4
  • 18
  • 50

1 Answers1

0

Is your app built using an older version of the iOS SDK (iOS 10 or earlier, I think)? If so, iOS will allow the user to authenticate using Face ID in any circumstance where you allow them to use Touch ID, even if you haven't added those keys to your Info.plist. The first time, they try this, they'll see a prompt warning them that the app wasn't designed for Face ID.

Defragged
  • 1,914
  • 15
  • 15
  • unfortunately the version the current build where this happens is +12, and was archived using xCode 10 – Mohmmad S Mar 05 '19 at 15:26
  • Is it possible the user is running an older version of the app that was linked against iOS 10 or earlier, instead of your newest release? That might explain why they see different behaviour to you. – Defragged Mar 05 '19 at 15:36
  • They show me the app version the latest they updated from store – Mohmmad S Mar 05 '19 at 15:37
  • Hmm, then I have no idea, sorry. I’ll think about it some more. – Defragged Mar 05 '19 at 15:42