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
<key>Near Field Communication Tag Reader Session Formats</key> <array> <string>D2760000850101</string> <string>D2760000850101</string> </array>
Info.Plist
<key>com.apple.developer.nfc.readersession.iso7816.select-identifiers</key> <array> <string>D2760000850101</string> </array>
<key>com.apple.developer.nfc.readersession.felica.systemcodes</key> <array> <string>12FC</string> </array>
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