LAContext.biometryType всегда возвращает LABiometryTypeTouchID - PullRequest
0 голосов
/ 19 марта 2019

Я уже использую TouchID в своем проекте, теперь я пытаюсь использовать FaceId для аутентификации и использую следующий код.

LAContext *myContext = [[LAContext alloc] init];
NSError *authError = nil;
    if (![myContext canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&authError])
    {
        NSLog(@"0001 , EVT, %@, %@, %@",[[self class] description], NSStringFromSelector(_cmd), [authError localizedDescription]);
        return NO;
    }
    
    if (@available(iOS 11.0, *))
    {
        if (myContext.biometryType == LABiometryTypeFaceID)
        {
            NSLog(@"0002 , EVT, %@, %@, FaceID Suppoted Device",[[self class] description],NSStringFromSelector(_cmd));
        }

		if (myContext.biometryType == LABiometryTypeTouchID)
        {
            NSLog(@"0002 , EVT, %@, %@, Touched Suppoted Device",[[self class] description],NSStringFromSelector(_cmd));
        }
    }

myContext.biometryType всегда возвращает LABiometryTypeTouchID (1), но используемое устройство - iPad 11 дюймов с iOS 12.1.4 (только с идентификатором лица без touchid).

Но если я запусту следующий пользовательский интерфейсifyPolicy: faceid, появится приглашение.Но даже после этого я получаю myContext.biometryType возвращает LABiometryTypeTouchID (1), любая идея, почему это возвращает LABiometryTypeTouchID (1), а не LABiometryTypeFaceID (2)?

[myContext evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics
                  localizedReason:myLocalizedReasonString
                            reply:

ПРИМЕЧАНИЕ. - Это прекрасно работает на iPhoneX с iOS 12.1.4, но не работает в iPad 11 дюймов iOS 12.1.4 STRANGE ...

1 Ответ

0 голосов
/ 02 апреля 2019

Наконец-то получил следующий ответ от Apple.

Похоже, вы создали приложение под iOS 11.x SDK.Функция Face ID была отключена для iPad до iOS 12, поэтому она распознается как Touch ID.

Пожалуйста, убедитесь, что вы создаете приложение с использованием современного Xcode, то есть для iOS 12.x SDK

...