我有一个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
。 最佳答案
Siri已经支持授权,您只需要让Siri知道您的意图需要授权,而不是自己实现授权。希望对您有帮助:
https://developer.apple.com/documentation/sirikit/requesting_authorization_to_use_sirikit