Apple Wallet Interference During NFC RFID Tag Writing with NFCISO14443ReaderSession

Hello,

I am developing an application that involves writing data to RFID tags using NFC (ISO/IEC 14443A/B, Mifare, and FeliCa standards) for an electric vehicle charging station. However, I am consistently facing an issue where the Apple Wallet app is automatically triggered during NFC operations on iOS. This problem occurs every time I attempt to write data to the RFID tags, preventing the application from properly detecting or interacting with the NFC tags.

Here are the key details of the issue:

Device: iPhone (tested on various models and iOS versions) Issue: Apple Wallet automatically opens during NFC tag writing operations.

Expected Behavior: My application should write data to RFID tags without triggering Apple Wallet.

RFID Standards: ISO/IEC 14443A/B, Mifare, FeliCa. Code Implementation: I am using the Core NFC framework and NFCISO14443ReaderSession to communicate with the RFID tags. The same code works seamlessly with Android devices, but iOS continuously triggers the Wallet app.

Here’s a brief code snippet that demonstrates the problem:

import CoreNFC

func startNFCSession() {
    let session = NFCISO14443ReaderSession(delegate: self, queue: nil, invalidateAfterFirstRead: false)
    session?.alertMessage = "Hold your iPhone near the NFC tag."
    session?.begin()
}

func readerSession(_ session: NFCISO14443ReaderSession, didDetect tags: [NFCISO14443Tag]) {
    guard let tag = tags.first else { return }
    
    session.connect(to: tag) { (error: Error?) in
        if let error = error {
            session.invalidate(errorMessage: "Connection failed: \(error.localizedDescription)")
            return
        }
        
        // Write data to the tag here
        // The Wallet app opens instead of allowing data writing.
    }
}

I've taken steps to ensure that I am not using NDEF tags, as I understand that may interfere with the Wallet functionality. Despite using the lower-level NFCISO14443ReaderSession API, the issue persists.

I’ve also tried disabling all Wallet settings on the device, but the problem still occurs. Additionally, no such issues are experienced on Android devices with similar functionality, so it appears to be an iOS-specific problem.

Is there a way to prevent Apple Wallet from being triggered when using Core NFC to interact with RFID tags?

Any assistance or guidance on how to solve this issue would be greatly appreciated, as this is a critical feature for the functionality of the electric vehicle charging station system we are building.

Thank you in advance!

Apple Wallet Interference During NFC RFID Tag Writing with NFCISO14443ReaderSession
 
 
Q