Прежде всего, почему сенсорный идентификатор «включен» для каждого приложения, но не для идентификации лица.Поэтому, если у вас настроен сенсорный идентификатор, каждое приложение может его использовать, но идентификатор лица требует, чтобы пользователь принимал его для каждого приложения.
Как узнать, включен ли для пользователя идентификатор лица для моего приложения.
Это код, который я использую, чтобы узнать тип аутентификации
let hasAuthenticationBiometrics = myContext.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: nil)
let hasAuthentication = myContext.canEvaluatePolicy(.deviceOwnerAuthentication, error: nil)
if #available(iOS 11.0, *) {
if hasAuthentication {
if hasAuthenticationBiometrics {
switch myContext.biometryType {
case .none: return .none
case .faceID: return .faceID // Find out if it is enabled
case .touchID: return .touchID
}
} else {
return .passcode
}
} else {
return .none
}
} else {
if hasAuthentication {
if hasAuthenticationBiometrics {
return .touchID
} else {
return .passcode
}
} else {
return .none
}
}
Если у пользователя есть идентификатор лица, но он отключен для моего приложения, я всегда получаю, что у него "есть" идентификатор лица, даже еслимое приложение проверено паролем?