tl;dr - Apple has recently opened up NFC for reading tags, but only for iPhone 7 and iOS 11 or better.
Apple has just announced at WWDC 2017 that iOS 11 will have support for reading NFC tags and NDEF messages. This means that all iPhone 7 and newer will be able to read NFC tags just like Android. While the iOS NFC API docs (Core NFC) are live on the Apple developer site, they appear to be at an early stage and there are still some questions. We’ll cover these questions and answers as they come in. For context, you should read up on other previous posts about Apple and NFC over the past couple years.
What new use cases will be supported?
You will see a significant increase in consumer focused uses cases. This includes out-of-home marketing, smart product labels and packaging, interactive event experiences, rich gaming, product authentication and information and so many before. This is where NFC breaks away from its RFID roots. UHF RFID and NFC before the iPhone supported NFC tags was relegated to closed loop deployments in which the device was controlled via an entity “use this phone to do your job”. Now application developers and services providers can start to count on the consumer already having a device (phone) which can read NFC tags; in the same way they expect the phone to have a camera/GPS/WiFi. What you will see is things in the physical world now have NFC tags in them to link to its digital counterpart. We call this the Connected Things segment of the Internet of Things (IoT).
Where is the NFC Core developer documentation?
It’s here. It may not be complete.
What models of the iPhone will be able to use NFC?
According to the docs, iPhone 7 and iPhone 7 Plus. We assume that the upcoming iPhone 8 will also be able to. Technically the iPhone 6+ has an NFC controller in it to support Apple Pay. Those models are on the list to receive iOS 11. The iPhone 7 did change some of the NFC hardware, so it’s possible that Apple thought this upgraded hardware a requirement for the best NFC tag reading experience.
How many iPhones will now be able to read NFC tags?
By the end of 2017, I’d guess 250M+. Many consumers have been waiting for the upcoming iPhone 8 to upgrade. Think about this; it’s unprecedented in technology. Never before has a market increased by so much is such a little time. This is because Apple has been selling this hardware capability for over a year now, and it’s just a software update to enable.
What NFC functions are available?
It look like only reading NFC tags, not writing NFC tags or card emulation. This is either by design, or just that the docs haven’t updated yet. Wouldn’t surprise us if it was just reading NFC tags. From looking closer at the NFC headers in iOS, there does appear to be support for other functions such as card emulation.
Is an app required or is there native support for handling of specific NDEF records?
Right now it seems that an app is required, although this is an area of active research. Android for example has native functionality in the operating system that when it encounters certain types NDEF records, it will perform their natural action on the phone. For example, a website record will open the url in the browser. This doesn’t seem to be the case for the iPhone. Apple could add support for this, and/or they could release their own tag reading app.
Does it support NDEF?
Yes, but not completely. There is base level support for NDEF messages and records, but no typed classes for Text Records, Uri Records, Mime Type Records… This is again either by design, or the docs haven’t been updated yet. It’s easy to write those record subclasses so this isn’t concerning.
Why just support reading NFC tags and not writing?
This is an interesting choice, and there are a couple options. It could be that the docs are wrong and/or it will be added as we get closer to the release date. However in our experience, regular consumers just don’t encode NFC tags.
Which NFC chip types are supported?
According to the docs, Type 1 – 5 which is all of them. Surely this will include Mifare Ultralight, the NXP NTAG series and the longer range SLI series. If you aren’t sure which to use for your project, contact us and we can help.
Is it possible to read the NFC chip’s UID?
Its not clear at this time; the docs don’t explicitly show it, but in the code it may be available via the tag’s description. This is again either by design, or the docs haven’t been updated yet. This has some serious implications as the UID is used for functionality such as product authentication, anti-cloning and counterfeiting.
How does this affect ApplePay?
It shouldn’t have any affect at all. While NFC is used as the mode of communication for Apple Pay, VAS (Passbook) and now reading NFC tags; the secure element used for ApplePay and VAS is not used when reading and writing NFC tags.
Will the Apple Watch also support reading NFC tags?
Yes, it does seem that Apple Watch will also be able to read NDEF records from NFC tags. We expected it to as it would make for an interesting user experience. Apple has already been driving their customers to use NFC on the Apple Watch for payments via Apple Pay, so this is a natural extension to that.
Will macOS support NFC?
There was no mention of this so far.