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