What is the reason for system being not eligible for CardSession APIs from CoreNFC?

I am working on a simple app that communicates using APDUs as Apple opened up NFC and HCE Entitlement for the EU market. I got the entitlement for my developer account, I have the entitlements available in the NDEF and TAG values and also added proper AID value. Also added SKExternalPurchase and SKExternalPurchaseLink keys to the Info.plist. When I check the CardSession.isSupported and NFCReaderSession.readingAvailable they come out to be true. But when checking the CardSession.isEligible it's value is false. When checking the documentation for it, it simply says that

A property that indicates whether the current device supports card session functionality.

How can check the issue with current system?

Answered by Engineer in 800372022

To be able to execute CardSession APIs for HCE-based contactless transactions, the device needs to satisfy the following requirements:

  • Your iPhone is running iOS 17.4 or later
  • You’ve signed in with an Apple ID based in an EEA country or region
  • The iPhone executing the CardSession code is within EEA

Note that the device needs to be physically within the EEA. Using a VPN or other location spoofing techniques will not work. This is a hard requirement, and there are no workarounds or any additional special permissions to activate CardSession usage outside the EEA.

Full details about these requirements can be found at HCE-based contactless transactions for apps in the European Economic Area (EEA)


Argun Tekant /  DTS Engineer / Core Technologies

To be able to execute CardSession APIs for HCE-based contactless transactions, the device needs to satisfy the following requirements:

  • Your iPhone is running iOS 17.4 or later
  • You’ve signed in with an Apple ID based in an EEA country or region
  • The iPhone executing the CardSession code is within EEA

Note that the device needs to be physically within the EEA. Using a VPN or other location spoofing techniques will not work. This is a hard requirement, and there are no workarounds or any additional special permissions to activate CardSession usage outside the EEA.

Full details about these requirements can be found at HCE-based contactless transactions for apps in the European Economic Area (EEA)


Argun Tekant /  DTS Engineer / Core Technologies

I have the same problem - applied for HCE, our apps were approved. Our account is registered in Bulgaria, the devices are physically in Bulgaria too. The entitlements of the app are set correctl, the devices are running iOS 18.0 (22A5338b). isEligible and the other checks returns false. We used the demo HCE code for testing.

What is the reason for system being not eligible for CardSession APIs from CoreNFC?
 
 
Q