3. Gestionar NFCPresentmentIntentAssertion
El NFCPresentmentIntentAssertion El objeto se utiliza para impedir que la aplicación de pagos predeterminada reciba el evento "double-click" o "field detect". Por lo tanto, para las aplicaciones de pago que no son predeterminadas, es necesario usar el NFCPresentmentIntentAssertion objeto para realizar el pago sin contacto.
Desde iOS 18, debes usar una aserción de presentment intent para recibir el evento ContactlessPaymentSession.Event.posConnected de TSH Pay SDK, que se basa en el CardSession.Event.ReaderDetected evento. Si no usas la aserción de presentment intent, el evento que recibirá tu aplicación será NFCWindowSceneEvent.readerDetected en SceneDelegate.
El siguiente fragmento de código muestra cómo usar el NFCPresentmentIntentAssertion objeto:
import CoreNFC
@available(iOS 17.4, *)
class PresentmentIntentWrapper {
static var presentmentIntent: NFCPresentmentIntentAssertion?
static func acquire() async throws {
presentmentIntent = try await NFCPresentmentIntentAssertion.acquire()
}
static func isValid() -> Bool {
guard let presentmentIntent else {
return false
}
return presentmentIntent.isValid
}
}Para obtener más información, consulta NFCPresentmentIntentAssertion.
Última actualización
¿Te fue útil?