I have an Intent Extension with the View category that is working pretty good for showing an app info.
Now I need to enable TouchID for security reasons, so the user needs to authenticate before requesting the info.
I tried this:
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))
}
}
But the TouchID dialog closes the Siri screen and then the conversation ends:

Is there a way to request for TouchId validation inside an Intent Extension?
I know PKPayment do something similar, but this isn't a transaction so I can't use ApplePay.
Siri already supports the authorisation, you just need to let Siri know that your intent requires authorisation rather implementing authorisation yourself. Hope that helps you:
https://developer.apple.com/documentation/sirikit/requesting_authorization_to_use_sirikit
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With