HCE Permission and Background Access for Corporate NFC Integration

Hello, We are currently developing an application that uses the Host-based Card Emulation (HCE) entitlement to enable corporate access functionality. With this entitlement, we have successfully established HCE communication and can interact with our access control systems to unlock doors.

Our question is related to improving the user experience: We would like this access functionality to work without requiring the app to be in the foreground, as this adds friction for users during entry. Specifically, we would like to know:

  1. Is it possible for our app to coexist with Apple Wallet as the default contactless app, so that:
  • Our app handles NFC interactions for corporate access (e.g., opening doors).

  • Apple Wallet remains the default for payments.

  1. If that coexistence is not possible, and our app is set as the default contactless app,
  • Will the system still need to launch our app into the foreground to complete a transaction (e.g., to emulate the NFC card)?

  • Or is there a way to trigger HCE responses in the background (e.g., using a background process or service extension)?

Any guidance on how to configure the app for optimal background access behavior, while maintaining compatibility with Wallet, would be greatly appreciated. Thank you in advance.

Answered by DTS Engineer in 893982022

Hi @Pekovic,

You wrote:

[...] Is it possible for our app to coexist with Apple Wallet as the default contactless app, so that: [...]

Yes—full coexistence is expected. Your app and Apple Wallet are on completely independent routing paths. Setting your app as the Default Contactless App has no effect on Apple Pay.

To learn more, please see my answer on the post below:

HCE issues

https://developer.apple.com/forums/thread/789477?answerId=893671022#893671022

Then, you wrote:

[...] Will the system still need to launch our app into the foreground to complete a transaction (e.g., to emulate the NFC card)? [...] Or is there a way to trigger HCE responses in the background (e.g., using a background process or service extension)?

No, background HCE is possible on iOS — but requires the Default Contactless App managed entitlement (which requires approval and is bound to a particular set of constraints).

With the entitlement, iOS wakes your app process silently in the background to handle APDU exchanges. The screen stays locked and no UI appears. However, you must start your HCE session at app launch (not on tap), pre-load all credentials, and complete APDU responses within approximately 300ms.

Cheers,

Paris X Pinkney |  WWDR | DTS Engineer

Hi @Pekovic,

You wrote:

[...] Is it possible for our app to coexist with Apple Wallet as the default contactless app, so that: [...]

Yes—full coexistence is expected. Your app and Apple Wallet are on completely independent routing paths. Setting your app as the Default Contactless App has no effect on Apple Pay.

To learn more, please see my answer on the post below:

HCE issues

https://developer.apple.com/forums/thread/789477?answerId=893671022#893671022

Then, you wrote:

[...] Will the system still need to launch our app into the foreground to complete a transaction (e.g., to emulate the NFC card)? [...] Or is there a way to trigger HCE responses in the background (e.g., using a background process or service extension)?

No, background HCE is possible on iOS — but requires the Default Contactless App managed entitlement (which requires approval and is bound to a particular set of constraints).

With the entitlement, iOS wakes your app process silently in the background to handle APDU exchanges. The screen stays locked and no UI appears. However, you must start your HCE session at app launch (not on tap), pre-load all credentials, and complete APDU responses within approximately 300ms.

Cheers,

Paris X Pinkney |  WWDR | DTS Engineer

HCE Permission and Background Access for Corporate NFC Integration
 
 
Q