HCE-based contactless NFC transactions

Hi,

We're implementing a HCE contactless app on iOS. The intention of this app is to only support contactless payments. Next to the com.apple.developer.nfc.hce and com.apple.developer.nfc.hce.default-contactless-app entitlements, we've listed the identifiers that we're interested in through the com.apple.developer.nfc.hce.iso7816.select-identifier-prefixes in the Info.plist. (325041592E5359532E4444463031 & A0000000041010 f.e.)

When the app is configured as the Default Contactless App, we start receiving NFCWindowSceneEvents through our NFCWindowSceneDelegate. However we notice that also non-payment related NFC events are being received, such as when the device is close to a NFC reader for Access cards for example. This experience results in launches of our app when it's not intended.

Is there a way to allow the app to only receive NFC events related to ISO 7816 identifiers when the when the app is configured as the Default Contactless App?

Thanks in advance for any guidance!

Kind regards,

Dimitri

There are technical limitations of such a filter (your app is woken up due to an NFC field-level signal before any AID information is exchanged), and there is the meaning of a default, as in there can only be one.

Whether a limited purpose app should be the front facing app or not is a user selection, it will be their decision to whether choose your app for the limited use, or another app for general use.

-- S.Beck -- 7strikes.dev

(I have some detailed opinions notes on this subject)

HCE-based contactless NFC transactions
 
 
Q