New Features in CoreNFC

CoreNFC was updated in iOS 12 to include two new highly impactful and desired features. For marketers wanting to leverage NFC to push content, the day has finally come where no app is required to scan an NFC tag on an iPhone. For developers wanting to use NFC to trigger actions in their apps, CoreNFC now includes background tag reading that can notify third party apps that an NFC tag has been scanned which matches a specified domain. It’s almost everything that’s needed to help make NFC ubiquitous, but Apple has still imposed the following limitations:

  • Only iPhone XS, iPhone XS Max, and iPhone XR models will support background NFC scanning. This could be due to concerns over battery life. Perhaps the new models include sensors that passively detects tags without powering the NFC reader chip until a tag is physically nearby.
  • Only URI/URL NDEF messages will be read by background scanning.
  • There is still no ability to read the factory tag code (UID). This information is not included in the NSUserActivity object that is passed to apps when an NFC tag is scanned.

Even with these limitations, CoreNFC is still vastly improved. Apple has finally validated NFC as something potentially useful to the average iPhone user and has finally granted developers access to it in a meaningful way. Now it’s incumbent on the development community to demonstrate how useful NFC can really be when users don’t need an app installed to use it. As users upgrade their iPhone, NFC tags will finally be viewed as a viable consumer technology capable of triggering an action. For enterprise applications, a bring your own device scheme could apply to many business tools that require only URL reading.

Still no access to the tag code (a.k.a tag UID)

Although reading tag codes (unique IDs set by NFC tag makers) would have been a further step in the right direction, the NFC community is surely satisfied with the improvements offered in iOS 12. Why reading the tag code is still not allowed remains a mystery. That said, if the purpose of reading the tag code isn’t related to tag anti-cloning and is just an identifier then simply embedding it in the URL when the tag is encoded is a perfectly viable solution. The TapTrack NFC tag encoding utilities (available for both Windows and Mac) include a UID-mirroring feature that automatically encodes the UID into the URL you specify. If however your application is brand protection where the NFC tag is being used to authenticate a product as genuine then a more sophisticated tag such as the NTAG413 DNA or the HID Trusted Tag is required. For Apple compatible anti-cloning measures, TapTrack has more experience with the NTAG413 and will be releasing an encoding tool for the DNA tag in the coming months.

Android is still the more flexible platform when it comes to NFC and it will retain this status for the foreseeable future, however iOS 12 is certainly a game changer for NFC on the iPhone.


Sept 13, 2018