Как упоминалось @ Paulw11 , спросить можно только один раз. Если пользователь отказывает в доступе, лучшее, что вы можете сделать, это попросить его с предупреждением, если они хотят перейти в настройки, чтобы разрешить биометрию. Код будет выглядеть примерно так:
let alertController = UIAlertController (title: "Title", message: "Go to Settings?", preferredStyle: .alert)
let settingsAction = UIAlertAction(title: "Settings", style: .default) { (_) -> Void in
guard let settingsUrl = URL(string: UIApplication.openSettingsURLString) else {
return
}
if UIApplication.shared.canOpenURL(settingsUrl) {
UIApplication.shared.open(settingsUrl, completionHandler: { (success) in
print("Settings opened: \(success)") // Prints true
})
}
}
alertController.addAction(settingsAction)
let cancelAction = UIAlertAction(title: "Cancel", style: .default, handler: nil)
alertController.addAction(cancelAction)
present(alertController, animated: true, completion: nil)
Как видно на этот ответ .
Имейте в виду, что это заберет пользователя из приложения, но пока нет другого способа сделать это.