Core NFC

RSS for tag

Detect NFC tags, read messages that contain NDEF data, and save data to writable tags using Core NFC.

Posts under Core NFC tag

200 Posts

Post

Replies

Boosts

Views

Activity

NFC PassKit Certificate request form submits without confirmation
I’m trying to request an NFC PassKit Certificate through https://developer.apple.com/contact/passkit/. After clicking Send, the completed form is POSTed successfully and receives 200 OK, but the server returns the original form instead of a confirmation page. The page’s passkit.js then clears all fields, and Developer Support confirmed that my earlier submission was never received. Has anyone else encountered this behavior or found another way to submit the NFC PassKit Certificate request?
2
0
915
2d
HCE Entitlement eligibility - Device-to-Device use case for FIDO/passkey authentication
Hello, We operate PasskeyGuard, an iOS passkey/FIDO2 authentication app, and are evaluating adding NFC support. We'd like to confirm eligibility before starting development or submitting a formal entitlement request. Intended flow: Our iPhone app acts as the host (Host Card Emulation). Another device reads the iPhone over NFC to perform a FIDO2/WebAuthn authentication (the phone acts as a security-key-style authenticator, transmitting authentication data over NFC to the reading device). Based on the HCE support article, the closest matching category appears to be "Device-to-Device transactions." Our questions: Is a FIDO2/passkey authentication use case eligible under the Device-to-Device HCE entitlement, or does it fall outside the currently supported use cases? If eligible: are we permitted to register a custom applet AID (specifically the FIDO2 NFC AID A0000006472F0001) via CardSession, or is the set of allowed AIDs restricted per use case? Are there requirements beyond an EEA-established Organization account and the general "legal right / regulatory permissions" attestation that apply specifically to an authentication use case? We want to avoid investing development effort against an entitlement that may not be granted for this use case. Any guidance on eligibility and next steps would be greatly appreciated. Thank you, Alexander Friedl
1
0
368
2w
Accessibility Improvement Request: Native iOS NFC Scanning Modal Customisation
Hello I am a Product Designer at the Commonwealth Bank of Australia (CBA). We recently launched a feature enabling customers to verify their identity by scanning their passport's biometric chip via NFC. While our in-app flow is highly optimised, the core user experience relies heavily on the native iOS NFC scanning modal (NFCTagReaderSession / NFCNDEFReaderSession). After conducting extensive user testing, we found that the current native UI consistently causes user confusion, friction, and avoidable drop-offs. Because developer customisation is currently limited strictly to the body copy string, we are unable to resolve these critical UX and accessibility issues ourselves. Below are three specific areas where the native NFC modal is performing below expectations, along with proposed solutions. Dynamic Heading States The Problem: The modal heading is hardcoded to "Ready to Scan" and remains static throughout the entire lifecycle. It does not update when scanning begins, when scanning completes, or when an error occurs. Showing "Ready to Scan" alongside a loading state or a success checkmark is logically contradictory and confuses users. The Impact: Users are left uncertain if the device is actively reading, finished, or waiting for input. Proposed Solution: Allow developers to dynamically update the header text via the API based on session states (e.g., Ready to Scan, Scanning..., Hold Still, Scan Complete). Alternatively, implement native, automated heading changes that correspond to the actual hardware state. Accessibility & Typography (Body Copy Legibility) The Problem: The customisable body text underneath the main heading uses a font size that is far too small. The Impact: During user testing, the vast majority of participants completely missed or ignored this text. Even standard users struggled to read it, and it poses a severe barrier for users with visual impairments. Since this is the only text developers can control to give context-specific instructions, its lack of legibility breaks the experience. Proposed Solution: Increase the default font size of the body text to meet standard iOS Human Interface Guidelines (HIG) for legibility, or respect the user's Dynamic Type settings within the modal template. Active Scanning Animation / State Indicator The Problem: The native looping animation shows a phone tilting toward a reader. While appropriate for the initiation state, this animation does not change once active data transfer begins. The Impact: When combined with the static "Ready to Scan" heading, users have zero visual feedback that a scan is actively in progress. They frequently move the phone away too early, resulting in aborted scans and error loops. Proposed Solution: Introduce a distinct visual state indicator once scanning starts—such as a progress bar, a loading spinner, or an altered animation—to signal that scanning is underway. The current restrictions on the native NFC modal limit our ability to deliver an accessible, seamless experience for millions of users who rely on identity verification. Unlocking greater UI customisation for developers or updating the native template to be more dynamic would significantly elevate the UX for all apps leveraging CoreNFC. Keen to hear back on any upcoming changes. Thank you!
3
0
772
Jul ’26
NFCPaymentTagReaderSession EU Restriction
Hello, Public documentation for NFCPaymentTagReaderSession states that it is currently limited to European Union (EU). Could you please advise when will this restriction be lifted and NFCPaymentTagReaderSession be made available outside of the EU? Are there any other capabilites available to be able to read EMV card data via NFC on a financial services or card issuer's iOS mobile app? Thank you!
3
0
489
Jun ’26
NFC & SE Platform request requirements
Goodmorning, I want to request NFC & SE Platform functionality but the following link does not seem to work for me. https://developer.apple.com/contact/request/nfc-se-platform It displays the following message: You must be the Account Holder of an Apple Developer Program for Organizations or an Apple Developer Enterprise Program to view this page. Visit account But in my membership details, I am the account holder as seen in the image below. Does someone know how this might happen?
1
0
285
Jun ’26
Layout
Now that we are to move away from designing apps for specific devices and fixed orientations, and to instead target “a dynamic range of sizes and aspect ratios”, what does that mean for Apple Pay and CoreNFC flows? For layouts that show users where to tap the NFC tag device to the phone (approximate location where the NFC hardware is located in the phone), how should placement instructions be updated? For reference to all, here's Apple's design, that contains a dot cloud, showing the general tap area: https://www.apple.com/business/tap-to-pay-on-iphone/ Wondering if Apple could provide any updated examples (especially for CoreNFC)? Thanks for the help!
0
0
694
Jun ’26
Pass Type ID Certificate with NFC
Hello Team, We are currently implementing a digital membership solution across our gym facilities, allowing members to add their access cards to Apple Wallet. In this regard, we would like to request enablement of NFC capability for Wallet passes associated with our Apple Developer account. Our setup includes NFC-enabled access control hardware integrated with our gym management system, and NFC support is required to issue and utilize digital membership cards. At present, we only have a standard Pass Type ID Certificate in our developer account. However, we understand that NFC-enabled Wallet passes require a Pass Type ID Certificate with NFC capability. We would appreciate your guidance on how we can enable or obtain a Pass Type ID Certificate with NFC support in our Apple Developer account. Looking forward to your support.
1
0
624
Jun ’26
Entitlement Request: com.apple.developer.passkit.pass-presentation-suppression
Great Morning, We would like to request the entitlement: com.apple.developer.passkit.pass-presentation-suppression Use Case: Our application provides NFC-based mobile key access for hotel guests.  When the device is presented to an NFC reader (door lock), iOS automatically  launches Apple Wallet, interrupting the in-app unlock experience. We need to suppress Wallet presentation while the app is in the foreground to allow a seamless “tap-to-unlock” experience. Please let us know if additional information or agreements are required. Thank you.
0
0
558
Jun ’26
Crash on CardSession
We are working on an HCE application following your documentation. Almost everything is working fine except that we encounter a crash when using CardSession.init() method. We are calling CardSession.isEligible() before CardSession.init(). This crash is random and affects very few user and we did not find a way yet to reproduce this crash on our side. Our theory is CardSession.isEligible() is doing thing under the hood and make CardSession.init() cause a crash, but that just our theory. Here are some stacks : CoreNFC/NFCCardSession.swift:431: Fatal error: Previous session exists 0 libswiftCore.dylib   0x000000019ed73800 _assertionFailure(_:_:file:line:flags:) + 168 (AssertCommon.swift:171) 1 CoreNFC   0x000000025b99f630 NFCCardSession.startSession() + 296 (NFCCardSession.swift:431) 2 CoreNFC   0x000000025b994771 CardSession.begin() + 1 (CardSession.swift:337) 3 CoreNFC   0x000000025b99427d CardSession.init() + 1 (CardSession.swift:320) 4 Paiement Mobile   0x000000010197f345 HceNativeSDK.startCardSession() + 1
1
0
268
Jun ’26
HCE not working in Testflight Builds
We have enabled the Host Card Emulation (HCE) capability for our app and successfully implemented and tested the functionality during development. When running the app directly from Xcode, HCE-related flows work as expected. However, we are observing different behavior in the distributed build. In particular, the following check consistently evaluates to false: guard await CardSession.isEligible else { return } After distributing the app via TestFlight, HCE functionality is not available for external testers. The CardSession.isEligible property always returns false, even when tested on supported devices and in supported regions. We are using the same bundle identifier for both development and distribution builds, and the provisioning profiles include the required capability. Could you please clarify the following: Are there any additional entitlements, approvals, or configuration steps required for HCE to function in TestFlight or distribution builds? Are there known region, device, or account-related restrictions that could cause CardSession.isEligible to return false outside the development environment? Is there any difference in behavior between development-signed and distribution-signed builds for this capability?
2
0
481
May ’26
VAS entitlement
Hi, I have the NFC &SE entitlement but still not able to read a pass from the apple wallet on another iphone. The logs show that the NFCVASReader session is initialised and the readerSessionDidBecomeActive — session is live, waiting for pass tap, but nothing is read. The pass is nfc enabled with correct encryption key. It feels like I am still missing some kind of entitlement to read VAS from passes - could anyone advise please?
0
0
169
May ’26
Bottom sheet does not adapt to screen rotation after presenting NFC Reader session
Hello I am implementing an NFC Reader session in my app, and presenting the bottom sheet works completely fine. However, I am facing an issue with screen rotation. If I rotate the device while the NFC bottom sheet is active, the sheet does not adapt or resize according to the new screen orientation. Is there a way to force the NFC bottom sheet to update its layout or fix this rotation issue?Any help or workarounds would be greatly appreciated. Thanks!
1
0
655
May ’26
UI layout overlaps in bottom sheet upon screen rotation during NFC Reader session
Hello I am experiencing a layout issue where UI components overlap in a bottom sheet during screen rotation while an NFC Reader session is active. The NFC Reader session initializes and displays the bottom sheet properly. However, if the device is rotated while this sheet is on screen, the layout breaks, and elements appear overlapped. I have attached a sample image demonstrating this rendering issue. Is there a known workaround to fix this layout distortion or force a proper layout update during an active NFC session?Any insights or suggestions would be greatly appreciated. Thanks!
1
0
599
May ’26
NFC reader is not working in iOS 26
I developed an app that uses the Core NFC framework to read tags. The feature works correctly on iOS 18 and earlier versions, but after upgrading to iOS 26, it stopped working. Details: Entitlement Near Field Communication Tag Reader Session Formats D2760000850101 D2760000850101 Info.Plist com.apple.developer.nfc.readersession.iso7816.select-identifiers D2760000850101 com.apple.developer.nfc.readersession.felica.systemcodes 12FC Privacy - NFC Scan Usage Description Signing and Capabilities: Near Field Communicating Tag Reading [Eanbled] My Sample Code Is: class NFCManager: NSObject, NFCTagReaderSessionDelegate { private var nfcSession: NFCTagReaderSession? let isConnectionNeeded = false func startNFCSession() { guard NFCTagReaderSession.readingAvailable else { // NFC is not available on this device. return } nfcSession = NFCTagReaderSession(pollingOption: [.iso14443, .iso15693, .iso18092], delegate: self) nfcSession?.begin() } func stopNFCSession() { nfcSession?.invalidate() } // MARK: - NFCTagReaderSessionDelegate Methods func tagReaderSessionDidBecomeActive(_ session: NFCTagReaderSession) { print("tagReaderSessionDidBecomeActive") } func tagReaderSession(_ session: NFCTagReaderSession, didInvalidateWithError error: Error) { print("didInvalidateWithError --\(error)") } func tagReaderSession(_ session: NFCTagReaderSession, didDetect tags: [NFCTag]) { print("didDetect: Tag Detected --\(tags)") } } The above code works fine on iOS 18 and earlier versions for detecting tags. Please let me know if I’m missing anything. Please help me to resolve the issue in iOS 26
3
1
1k
May ’26
App category for non-custodial crypto wallet using NFCTagReaderSession only for identity credential exchange with POS device — Guideline 3.1.5 scope?
We are developing a non-custodial cryptocurrency wallet app with the following characteristics: Architecture: Users hold their own private keys at all times (we never custody any assets). The app includes identity credential verification: KYC-verified identity data (Verifiable Credentials / DID-based) is exchanged between the payer's iPhone and a counterparty device for identity verification purposes. NFCTagReaderSession is used only to exchange identity credential data via our proprietary, non-payment ISO 7816 AID with the counterparty device. Cryptocurrency transactions are submitted entirely over the internet (blockchain RPC), completely independent of the NFC session. NFC is NOT used to: Transmit cryptocurrency or payment instructions. Interact with any EMV payment AID or Secure Element. Replace or emulate Apple Pay or any payment card. Jurisdiction & licensing context: The app is being developed by a Japanese company for initial launch in Japan. While this question is posted from an individual Developer account for inquiry purposes, the app itself will be submitted under an appropriate Organization Developer account of the operating company, in compliance with Guideline 3.1.5(a)(ii). We are working with Japanese legal counsel to obtain any applicable Japanese financial-services license (e.g., 電子決済手段・暗号資産サービス仲介業 / Electronic Payment Instruments and Crypto-Asset Service Intermediary Business under the 2023-amended 資金決済法 / Payment Services Act) prior to App Store submission, and a written legal opinion will accompany the submission. We are not seeking to qualify as a 暗号資産交換業 (crypto-asset exchange) or 資金移動業 (funds transfer service operator), as our non-custodial design is intended to fall outside those categories under Japanese law. Question: Under Guideline 3.1.5, does a non-custodial wallet that uses NFCTagReaderSession solely for identity credential data exchange (not for transmitting cryptocurrency or payment instructions over NFC) fall under the "Wallets" sub-category — requiring an Organization Developer account only — or does NFC involvement for identity verification shift it toward a sub-category requiring additional licensing, entitlements, or financial institution credentials?
0
1
260
May ’26
Core NFC on iPhone returns “Sandbox restriction” when starting NFCNDEFReaderSession with Personal Team / free account
Hi, I am trying to build a very simple iOS app in Xcode that starts an NFCNDEFReaderSession when I press a button. My goal right now is only to verify that the NFC reading process starts correctly on a real iPhone. I am not trying to publish the app on the App Store. When I try to start the session, I get this error in the console: -[NFCHardwareManager areFeaturesSupported:outError:]:435 XPC Error: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.nfcd.service.corenfc was invalidated: Connection init failed at lookup with error 159 - Sandbox restriction." UserInfo={NSDebugDescription=The connection to service named com.apple.nfcd.service.corenfc was invalidated: Connection init failed at lookup with error 159 - Sandbox restriction.} and then my app reports that NFC is not available on this device. Important details: I added Near Field Communication Tag Reading in Signing & Capabilities. I added the NFC privacy usage description in the target settings. I am using automatic signing. I am not using an Apple Developer Program paid account. I am using a Personal Team / free account. I should also mention that I am not experienced with Swift/iOS development, so I may be missing something basic in the setup. My question is: Is this expected when using a Personal Team / free account, or is there some configuration issue I should still check? I am happy to provide any additional information needed
0
0
856
Apr ’26
The right way to extend UIRequiredDeviceCapabilities
I've added NFC support for my app. So, my UIRequiredDeviceCapabilities were extended from "armv7" to "armv7 nfc". This means I've prevented this application from running on devices supported by previous versions. Now I've received a message from Apple: ITMS-90109: This bundle is invalid - The key UIRequiredDeviceCapabilities in the Info.plist may not contain values that would prevent this application from running on devices that were supported by previous versions. What is the right way to add new functions?
3
0
1.3k
Apr ’26
Can third-party transit apps receive the NFC HCE entitlement in the EEA?
Hi everyone, I'm looking for clarity on the NFC HCE entitlement process for third-party apps in the EEA. I've built an alternative client for Milan's public transport app (ATM Milano) on Android by reverse engineering the original app. It offers the same core functionality(users still need a valid transit subscription) just with a different UI and better UX. I'd now like to port it to iOS. According to Apple's documentation, NFC HCE was opened to third parties in the EEA starting with iOS 17.4. However, the API requires an entitlement from Apple. I have a few questions: Is the entitlement required regardless of distribution method? Even if I distribute through a third-party marketplace like AltStore PAL rather than the App Store, do I still need Apple to grant the HCE entitlement? Are third-party/alternative clients eligible for the entitlement? My app isn't a competing transit provider, it's an alternative frontend for an existing service. Users must hold a valid subscription with the official provider. Is there anything in the entitlement criteria that would disqualify this kind of app? What's the correct process to apply?Developer Support directed me here, so I'm hoping someone from Apple engineering or someone who has gone through the process can share the steps. Thanks!
1
0
395
Apr ’26
NFCPresentmentIntentAssertion validity behavior
Hello, I would like to discuss the behavior of the expiration of NFCPresentmentIntentAssertion (test in iOS 18.5). In the documentation we have : The intent assertion expires if any of the following occur: The intent assertion object deinitializes Your app goes into the background 15 seconds elapse BUT; in fact ; only the 1st rule is applied. The expiration seems to be random after the usage of CardSession and that's difficult to give to the user a good experience. Has someone faced the same kind of issue; or can give an explanation? Regards, François
5
1
816
Mar ’26
NFC PassKit Certificate request form submits without confirmation
I’m trying to request an NFC PassKit Certificate through https://developer.apple.com/contact/passkit/. After clicking Send, the completed form is POSTed successfully and receives 200 OK, but the server returns the original form instead of a confirmation page. The page’s passkit.js then clears all fields, and Developer Support confirmed that my earlier submission was never received. Has anyone else encountered this behavior or found another way to submit the NFC PassKit Certificate request?
Replies
2
Boosts
0
Views
915
Activity
2d
HCE Entitlement eligibility - Device-to-Device use case for FIDO/passkey authentication
Hello, We operate PasskeyGuard, an iOS passkey/FIDO2 authentication app, and are evaluating adding NFC support. We'd like to confirm eligibility before starting development or submitting a formal entitlement request. Intended flow: Our iPhone app acts as the host (Host Card Emulation). Another device reads the iPhone over NFC to perform a FIDO2/WebAuthn authentication (the phone acts as a security-key-style authenticator, transmitting authentication data over NFC to the reading device). Based on the HCE support article, the closest matching category appears to be "Device-to-Device transactions." Our questions: Is a FIDO2/passkey authentication use case eligible under the Device-to-Device HCE entitlement, or does it fall outside the currently supported use cases? If eligible: are we permitted to register a custom applet AID (specifically the FIDO2 NFC AID A0000006472F0001) via CardSession, or is the set of allowed AIDs restricted per use case? Are there requirements beyond an EEA-established Organization account and the general "legal right / regulatory permissions" attestation that apply specifically to an authentication use case? We want to avoid investing development effort against an entitlement that may not be granted for this use case. Any guidance on eligibility and next steps would be greatly appreciated. Thank you, Alexander Friedl
Replies
1
Boosts
0
Views
368
Activity
2w
Accessibility Improvement Request: Native iOS NFC Scanning Modal Customisation
Hello I am a Product Designer at the Commonwealth Bank of Australia (CBA). We recently launched a feature enabling customers to verify their identity by scanning their passport's biometric chip via NFC. While our in-app flow is highly optimised, the core user experience relies heavily on the native iOS NFC scanning modal (NFCTagReaderSession / NFCNDEFReaderSession). After conducting extensive user testing, we found that the current native UI consistently causes user confusion, friction, and avoidable drop-offs. Because developer customisation is currently limited strictly to the body copy string, we are unable to resolve these critical UX and accessibility issues ourselves. Below are three specific areas where the native NFC modal is performing below expectations, along with proposed solutions. Dynamic Heading States The Problem: The modal heading is hardcoded to "Ready to Scan" and remains static throughout the entire lifecycle. It does not update when scanning begins, when scanning completes, or when an error occurs. Showing "Ready to Scan" alongside a loading state or a success checkmark is logically contradictory and confuses users. The Impact: Users are left uncertain if the device is actively reading, finished, or waiting for input. Proposed Solution: Allow developers to dynamically update the header text via the API based on session states (e.g., Ready to Scan, Scanning..., Hold Still, Scan Complete). Alternatively, implement native, automated heading changes that correspond to the actual hardware state. Accessibility & Typography (Body Copy Legibility) The Problem: The customisable body text underneath the main heading uses a font size that is far too small. The Impact: During user testing, the vast majority of participants completely missed or ignored this text. Even standard users struggled to read it, and it poses a severe barrier for users with visual impairments. Since this is the only text developers can control to give context-specific instructions, its lack of legibility breaks the experience. Proposed Solution: Increase the default font size of the body text to meet standard iOS Human Interface Guidelines (HIG) for legibility, or respect the user's Dynamic Type settings within the modal template. Active Scanning Animation / State Indicator The Problem: The native looping animation shows a phone tilting toward a reader. While appropriate for the initiation state, this animation does not change once active data transfer begins. The Impact: When combined with the static "Ready to Scan" heading, users have zero visual feedback that a scan is actively in progress. They frequently move the phone away too early, resulting in aborted scans and error loops. Proposed Solution: Introduce a distinct visual state indicator once scanning starts—such as a progress bar, a loading spinner, or an altered animation—to signal that scanning is underway. The current restrictions on the native NFC modal limit our ability to deliver an accessible, seamless experience for millions of users who rely on identity verification. Unlocking greater UI customisation for developers or updating the native template to be more dynamic would significantly elevate the UX for all apps leveraging CoreNFC. Keen to hear back on any upcoming changes. Thank you!
Replies
3
Boosts
0
Views
772
Activity
Jul ’26
NFCPaymentTagReaderSession EU Restriction
Hello, Public documentation for NFCPaymentTagReaderSession states that it is currently limited to European Union (EU). Could you please advise when will this restriction be lifted and NFCPaymentTagReaderSession be made available outside of the EU? Are there any other capabilites available to be able to read EMV card data via NFC on a financial services or card issuer's iOS mobile app? Thank you!
Replies
3
Boosts
0
Views
489
Activity
Jun ’26
NFC & SE Platform request requirements
Goodmorning, I want to request NFC & SE Platform functionality but the following link does not seem to work for me. https://developer.apple.com/contact/request/nfc-se-platform It displays the following message: You must be the Account Holder of an Apple Developer Program for Organizations or an Apple Developer Enterprise Program to view this page. Visit account But in my membership details, I am the account holder as seen in the image below. Does someone know how this might happen?
Replies
1
Boosts
0
Views
285
Activity
Jun ’26
Layout
Now that we are to move away from designing apps for specific devices and fixed orientations, and to instead target “a dynamic range of sizes and aspect ratios”, what does that mean for Apple Pay and CoreNFC flows? For layouts that show users where to tap the NFC tag device to the phone (approximate location where the NFC hardware is located in the phone), how should placement instructions be updated? For reference to all, here's Apple's design, that contains a dot cloud, showing the general tap area: https://www.apple.com/business/tap-to-pay-on-iphone/ Wondering if Apple could provide any updated examples (especially for CoreNFC)? Thanks for the help!
Replies
0
Boosts
0
Views
694
Activity
Jun ’26
Pass Type ID Certificate with NFC
Hello Team, We are currently implementing a digital membership solution across our gym facilities, allowing members to add their access cards to Apple Wallet. In this regard, we would like to request enablement of NFC capability for Wallet passes associated with our Apple Developer account. Our setup includes NFC-enabled access control hardware integrated with our gym management system, and NFC support is required to issue and utilize digital membership cards. At present, we only have a standard Pass Type ID Certificate in our developer account. However, we understand that NFC-enabled Wallet passes require a Pass Type ID Certificate with NFC capability. We would appreciate your guidance on how we can enable or obtain a Pass Type ID Certificate with NFC support in our Apple Developer account. Looking forward to your support.
Replies
1
Boosts
0
Views
624
Activity
Jun ’26
Entitlement Request: com.apple.developer.passkit.pass-presentation-suppression
Great Morning, We would like to request the entitlement: com.apple.developer.passkit.pass-presentation-suppression Use Case: Our application provides NFC-based mobile key access for hotel guests.  When the device is presented to an NFC reader (door lock), iOS automatically  launches Apple Wallet, interrupting the in-app unlock experience. We need to suppress Wallet presentation while the app is in the foreground to allow a seamless “tap-to-unlock” experience. Please let us know if additional information or agreements are required. Thank you.
Replies
0
Boosts
0
Views
558
Activity
Jun ’26
Crash on CardSession
We are working on an HCE application following your documentation. Almost everything is working fine except that we encounter a crash when using CardSession.init() method. We are calling CardSession.isEligible() before CardSession.init(). This crash is random and affects very few user and we did not find a way yet to reproduce this crash on our side. Our theory is CardSession.isEligible() is doing thing under the hood and make CardSession.init() cause a crash, but that just our theory. Here are some stacks : CoreNFC/NFCCardSession.swift:431: Fatal error: Previous session exists 0 libswiftCore.dylib   0x000000019ed73800 _assertionFailure(_:_:file:line:flags:) + 168 (AssertCommon.swift:171) 1 CoreNFC   0x000000025b99f630 NFCCardSession.startSession() + 296 (NFCCardSession.swift:431) 2 CoreNFC   0x000000025b994771 CardSession.begin() + 1 (CardSession.swift:337) 3 CoreNFC   0x000000025b99427d CardSession.init() + 1 (CardSession.swift:320) 4 Paiement Mobile   0x000000010197f345 HceNativeSDK.startCardSession() + 1
Replies
1
Boosts
0
Views
268
Activity
Jun ’26
HCE not working in Testflight Builds
We have enabled the Host Card Emulation (HCE) capability for our app and successfully implemented and tested the functionality during development. When running the app directly from Xcode, HCE-related flows work as expected. However, we are observing different behavior in the distributed build. In particular, the following check consistently evaluates to false: guard await CardSession.isEligible else { return } After distributing the app via TestFlight, HCE functionality is not available for external testers. The CardSession.isEligible property always returns false, even when tested on supported devices and in supported regions. We are using the same bundle identifier for both development and distribution builds, and the provisioning profiles include the required capability. Could you please clarify the following: Are there any additional entitlements, approvals, or configuration steps required for HCE to function in TestFlight or distribution builds? Are there known region, device, or account-related restrictions that could cause CardSession.isEligible to return false outside the development environment? Is there any difference in behavior between development-signed and distribution-signed builds for this capability?
Replies
2
Boosts
0
Views
481
Activity
May ’26
VAS entitlement
Hi, I have the NFC &SE entitlement but still not able to read a pass from the apple wallet on another iphone. The logs show that the NFCVASReader session is initialised and the readerSessionDidBecomeActive — session is live, waiting for pass tap, but nothing is read. The pass is nfc enabled with correct encryption key. It feels like I am still missing some kind of entitlement to read VAS from passes - could anyone advise please?
Replies
0
Boosts
0
Views
169
Activity
May ’26
Bottom sheet does not adapt to screen rotation after presenting NFC Reader session
Hello I am implementing an NFC Reader session in my app, and presenting the bottom sheet works completely fine. However, I am facing an issue with screen rotation. If I rotate the device while the NFC bottom sheet is active, the sheet does not adapt or resize according to the new screen orientation. Is there a way to force the NFC bottom sheet to update its layout or fix this rotation issue?Any help or workarounds would be greatly appreciated. Thanks!
Replies
1
Boosts
0
Views
655
Activity
May ’26
UI layout overlaps in bottom sheet upon screen rotation during NFC Reader session
Hello I am experiencing a layout issue where UI components overlap in a bottom sheet during screen rotation while an NFC Reader session is active. The NFC Reader session initializes and displays the bottom sheet properly. However, if the device is rotated while this sheet is on screen, the layout breaks, and elements appear overlapped. I have attached a sample image demonstrating this rendering issue. Is there a known workaround to fix this layout distortion or force a proper layout update during an active NFC session?Any insights or suggestions would be greatly appreciated. Thanks!
Replies
1
Boosts
0
Views
599
Activity
May ’26
NFC reader is not working in iOS 26
I developed an app that uses the Core NFC framework to read tags. The feature works correctly on iOS 18 and earlier versions, but after upgrading to iOS 26, it stopped working. Details: Entitlement Near Field Communication Tag Reader Session Formats D2760000850101 D2760000850101 Info.Plist com.apple.developer.nfc.readersession.iso7816.select-identifiers D2760000850101 com.apple.developer.nfc.readersession.felica.systemcodes 12FC Privacy - NFC Scan Usage Description Signing and Capabilities: Near Field Communicating Tag Reading [Eanbled] My Sample Code Is: class NFCManager: NSObject, NFCTagReaderSessionDelegate { private var nfcSession: NFCTagReaderSession? let isConnectionNeeded = false func startNFCSession() { guard NFCTagReaderSession.readingAvailable else { // NFC is not available on this device. return } nfcSession = NFCTagReaderSession(pollingOption: [.iso14443, .iso15693, .iso18092], delegate: self) nfcSession?.begin() } func stopNFCSession() { nfcSession?.invalidate() } // MARK: - NFCTagReaderSessionDelegate Methods func tagReaderSessionDidBecomeActive(_ session: NFCTagReaderSession) { print("tagReaderSessionDidBecomeActive") } func tagReaderSession(_ session: NFCTagReaderSession, didInvalidateWithError error: Error) { print("didInvalidateWithError --\(error)") } func tagReaderSession(_ session: NFCTagReaderSession, didDetect tags: [NFCTag]) { print("didDetect: Tag Detected --\(tags)") } } The above code works fine on iOS 18 and earlier versions for detecting tags. Please let me know if I’m missing anything. Please help me to resolve the issue in iOS 26
Replies
3
Boosts
1
Views
1k
Activity
May ’26
App category for non-custodial crypto wallet using NFCTagReaderSession only for identity credential exchange with POS device — Guideline 3.1.5 scope?
We are developing a non-custodial cryptocurrency wallet app with the following characteristics: Architecture: Users hold their own private keys at all times (we never custody any assets). The app includes identity credential verification: KYC-verified identity data (Verifiable Credentials / DID-based) is exchanged between the payer's iPhone and a counterparty device for identity verification purposes. NFCTagReaderSession is used only to exchange identity credential data via our proprietary, non-payment ISO 7816 AID with the counterparty device. Cryptocurrency transactions are submitted entirely over the internet (blockchain RPC), completely independent of the NFC session. NFC is NOT used to: Transmit cryptocurrency or payment instructions. Interact with any EMV payment AID or Secure Element. Replace or emulate Apple Pay or any payment card. Jurisdiction & licensing context: The app is being developed by a Japanese company for initial launch in Japan. While this question is posted from an individual Developer account for inquiry purposes, the app itself will be submitted under an appropriate Organization Developer account of the operating company, in compliance with Guideline 3.1.5(a)(ii). We are working with Japanese legal counsel to obtain any applicable Japanese financial-services license (e.g., 電子決済手段・暗号資産サービス仲介業 / Electronic Payment Instruments and Crypto-Asset Service Intermediary Business under the 2023-amended 資金決済法 / Payment Services Act) prior to App Store submission, and a written legal opinion will accompany the submission. We are not seeking to qualify as a 暗号資産交換業 (crypto-asset exchange) or 資金移動業 (funds transfer service operator), as our non-custodial design is intended to fall outside those categories under Japanese law. Question: Under Guideline 3.1.5, does a non-custodial wallet that uses NFCTagReaderSession solely for identity credential data exchange (not for transmitting cryptocurrency or payment instructions over NFC) fall under the "Wallets" sub-category — requiring an Organization Developer account only — or does NFC involvement for identity verification shift it toward a sub-category requiring additional licensing, entitlements, or financial institution credentials?
Replies
0
Boosts
1
Views
260
Activity
May ’26
Core NFC on iPhone returns “Sandbox restriction” when starting NFCNDEFReaderSession with Personal Team / free account
Hi, I am trying to build a very simple iOS app in Xcode that starts an NFCNDEFReaderSession when I press a button. My goal right now is only to verify that the NFC reading process starts correctly on a real iPhone. I am not trying to publish the app on the App Store. When I try to start the session, I get this error in the console: -[NFCHardwareManager areFeaturesSupported:outError:]:435 XPC Error: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.nfcd.service.corenfc was invalidated: Connection init failed at lookup with error 159 - Sandbox restriction." UserInfo={NSDebugDescription=The connection to service named com.apple.nfcd.service.corenfc was invalidated: Connection init failed at lookup with error 159 - Sandbox restriction.} and then my app reports that NFC is not available on this device. Important details: I added Near Field Communication Tag Reading in Signing & Capabilities. I added the NFC privacy usage description in the target settings. I am using automatic signing. I am not using an Apple Developer Program paid account. I am using a Personal Team / free account. I should also mention that I am not experienced with Swift/iOS development, so I may be missing something basic in the setup. My question is: Is this expected when using a Personal Team / free account, or is there some configuration issue I should still check? I am happy to provide any additional information needed
Replies
0
Boosts
0
Views
856
Activity
Apr ’26
The right way to extend UIRequiredDeviceCapabilities
I've added NFC support for my app. So, my UIRequiredDeviceCapabilities were extended from "armv7" to "armv7 nfc". This means I've prevented this application from running on devices supported by previous versions. Now I've received a message from Apple: ITMS-90109: This bundle is invalid - The key UIRequiredDeviceCapabilities in the Info.plist may not contain values that would prevent this application from running on devices that were supported by previous versions. What is the right way to add new functions?
Replies
3
Boosts
0
Views
1.3k
Activity
Apr ’26
Can third-party transit apps receive the NFC HCE entitlement in the EEA?
Hi everyone, I'm looking for clarity on the NFC HCE entitlement process for third-party apps in the EEA. I've built an alternative client for Milan's public transport app (ATM Milano) on Android by reverse engineering the original app. It offers the same core functionality(users still need a valid transit subscription) just with a different UI and better UX. I'd now like to port it to iOS. According to Apple's documentation, NFC HCE was opened to third parties in the EEA starting with iOS 17.4. However, the API requires an entitlement from Apple. I have a few questions: Is the entitlement required regardless of distribution method? Even if I distribute through a third-party marketplace like AltStore PAL rather than the App Store, do I still need Apple to grant the HCE entitlement? Are third-party/alternative clients eligible for the entitlement? My app isn't a competing transit provider, it's an alternative frontend for an existing service. Users must hold a valid subscription with the official provider. Is there anything in the entitlement criteria that would disqualify this kind of app? What's the correct process to apply?Developer Support directed me here, so I'm hoping someone from Apple engineering or someone who has gone through the process can share the steps. Thanks!
Replies
1
Boosts
0
Views
395
Activity
Apr ’26
NFCTagReaderSession for non-payment AID on payment card
Is it possible to read a custom, non-payment, ISO7816 AID on a multi-application smartcard that also has an active payment AID? I guess Apple Wallet may auto-detect the payment scheme and open, but this could be prevented if my app was already running in the foreground and scanning for the custom AID?
Replies
2
Boosts
0
Views
363
Activity
Apr ’26
NFCPresentmentIntentAssertion validity behavior
Hello, I would like to discuss the behavior of the expiration of NFCPresentmentIntentAssertion (test in iOS 18.5). In the documentation we have : The intent assertion expires if any of the following occur: The intent assertion object deinitializes Your app goes into the background 15 seconds elapse BUT; in fact ; only the 1st rule is applied. The expiration seems to be random after the usage of CardSession and that's difficult to give to the user a good experience. Has someone faced the same kind of issue; or can give an explanation? Regards, François
Replies
5
Boosts
1
Views
816
Activity
Mar ’26