Apple has updated Core NFC, the iOS system used to perform NFC-based transactions with apps, with the change now allowing for tags that use the technology to be read by an iPhone XS, iPhone XS Max, and iPhone XR without requiring the user to open a relevant app beforehand.
Expanding upon Core NFC's introduction in 2017, which allowed for developers to tap into the iPhone's NFC chip so that apps could scan NDEF (NFC Data Exchange Format) tags, the "What's New in Core NFC" Tech Talks video on Apple's developer site advises of changes made to the framework, coinciding with the introduction of Apple's 2018 iPhones.
The main feature change is Background Tag Reading, which aims to simplify the use of NFC tags for users. Rather than requiring a specific app for the tag to be open in order to read it, the iPhones will instead automatically read NFC tags, and deliver the data it collects to the appropriate apps.
The same mechanism is also able to launch the required app, or bring it to the foreground if it is already running, to make it more immediately available.
The support documents advise that earlier devices, including the iPhone X and iPhone 8, do not support Background Tag Reading, leaving it as a feature only available on the latest models.
According to Apple's requirements, the NFC Tag needs to be an NDEF-formatted tag of type 1 to 5, with the message stored on the tag including a valid Apple Universal Link URL, in order to be routed to the right application. Only the first URL in the message will be processed by the framework in this way.
In normal use, the iPhone will continually check to see if it is near a compatible NFC tag, and reads it. The process generates a notification on the iPhone screen, which if tapped can deliver a NSUserActivity object to the relevant application, namely the contents of the NFC tag's message.
For tags that include application links that are not registered to a specific application, they will be handled by Safari by default, and it will only load the URL in a browser. There are other URL schemes that can trigger a default iOS behavior, such as by starting a text message to a number, preparing a FaceTime call, or by starting the setup process for a HomeKit accessory.
There are a number of situations where Background Tag Reading will be unavailable, mostly for security-related purposes. While the screen is on, it will not work in cases where the device has never been unlocked, the Apple Pay Wallet is in use, a camera is being used for video, airplane mode is enabled, or if there is already an active Core NFC reader session.
The changes to Core NFC are a continuation of Apple's efforts to open up the technology for other uses. In Apple Park, Apple employees are already using iPhones and Apple Watches to unlock doors via NFC, something highlighted in the September event's opening skit.
On the consumer side, the Apple Watch's NFC is used to pair the device with workout equipment in GymKit.
During WWDC, Apple employed a Wallet pass that required the use of NFC and authentication via Face ID or Touch ID to gain entry, similar to an Apple Pay transaction.
Relatively few companies have taken advantage of Core NFC so far, such as glucose reader manufacturer Abbot. Hopefully the expansion of Core NFC's usability will make it more accessible to developers and device producers.
12 Comments
That's a big deal if we are ever going to get to use our phones as key cards.
This will start to get interesting. I'm surprised it required new hardware, but oh well I don't use much NFC now except Apple Pay.
It seems there is no backward compatibility, which sucks a lot. Whats the protocol and interface for those cities that allow iPhone NFC for public transit?
I hope this makes using Apple Pay easier. I always freak out at the checkout line, forgetting how to bring it up, taking a bunch of photos, knocking stuff over, punching at least one person, and I end up having to turn the phone on and going into the Wallet app like a senior citizen. I just can’t get Apple Pay to work like it does in the videos. I still don’t know.