У меня есть Intent Extension
с категорией View
, которая довольно хорошо работает для отображения информации о приложении.
Теперь мне нужно включить TouchID
по соображениям безопасности, поэтому пользователю необходимо пройти аутентификациюперед запросом информации.
Я попробовал это:
func handle(intent: GetSaldoIntent, completion: @escaping (GetSaldoIntentResponse) -> Void) {
let myContext = LAContext()
myContext.evaluatePolicy(
.deviceOwnerAuthenticationWithBiometrics,
localizedReason: "Unlock to see the info",
reply: { [unowned self] (success, error) -> Void in
if( success ) {
completion(GetSaldoIntentResponse.success(saldo: String(self.paymentProvider.balance)))
return
}
})
completion(GetSaldoIntentResponse(code: .failureRequiringAppLaunch, userActivity: nil))
}
}
Но диалоговое окно TouchID
закрывает экран Siri
, и затем разговор заканчивается:
Есть ли способ запросить проверку TouchId
внутри Intent Extension
?
Я знаю PKPayment
сделать что-то подобное, но это не транзакция, поэтому я не могу использовать ApplePay
.