我有一个具有View
类别的Intent Extension
,用于展示应用程序信息,效果非常好。
现在出于安全原因,我需要启用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
屏幕,导致对话结束:
有没有一种方法可以在 Intent Extension
中请求进行 TouchId
验证?
我知道 PKPayment
做了类似的事情,但这不是一笔交易,所以我不能使用 ApplePay
。