how iphone works
UPDATE: Will Apple Fix Core NFC in iOS 12 for the iPhone, With Apple’s event on Sept. 12th, 2017 Apple has finally announced the new iPhone 8 and the iPhone X along with releasing iOS 11 to the general public for download on Sept. 19th 2017. iOS 11 includes an NFC SDK for iOS, Core NFC which allows for iPhone apps to read NDEF records from NFC tags. Previously the NFC controller in the iPhone had only been used to support Apple Pay.

We have written several popular blog posts on Apple and NFC over the last few years which make for good background reading for this article. Download the GoToTags iPhone App to read NFC tags and scan barcodes! For those that are just getting started with NFC, here is a very brief NFC tutorial.

All modern smartphones now have an NFC controller chip in them, similar to WiFi and GPS. NFC tags are cheap, passive RFID tags that are stuck on, or embedded into products, packaging, promotional items and many other physical things. NFC tags have a very small amount of memory, that when written to (encoded) carry a bit of data which can be read by an NFC enabled device, such as a phone or fixed NFC reader.

When the phone comes in very close proximity to the NFC tag (25 mm / 1″), the phone detects the NFC tag and can interact with it. Most often the phone reads the data that was previously encoded onto the NFC tag, although there are several other modes of operation possible.

Based on the software running on the device (app), the device often performs an action based on the type of data encoded onto the NFC tag. Thus an NFC tag can be placed on a physical thing to provide a digital experience when the NFC tag is interacted with by a phone. Apple’s implementation of NFC on iOS is different than Android, which is what most NFC users and developers are used to.

Apple has taken a more conservative and app-siloed approach to NFC (for now). We have covered several of the reasons for this conservative approach in our previous blog posts. We expect that over time Apple will smooth out any rough spots in the user experience, which will change or alleviate many of the issues mentioned below.

We also hope/expect for Apple to bring some additional innovation to NFC on iOS in subsequent releases. Only the iPhone 7, iPhone 8 and iPhone X supports reading NFC tags; the iPhone 6 and earlier does not support reading NFC tags. While the iPhone 6 does have an NFC controller to support Apple Pay, Apple has decided to not allow the iPhone 6 to read NFC tags. There were several hardware changes to the NFC controller from the iPhone 6 to the iPhone 7, including what is likely a signal booster chip.

It seems that Apple felt this was required to ensure a quality user experience; or it’s a reason to force people to upgrade. Previous versions of the iPhone (5…) do not have any NFC hardware and can not use NFC tags. An app is required to use the NFC SDK on iOS.

OS does not have any native support for reading NFC tags and performing actions on the local device. A 3rd party app must be installed to implement these actions. Android has always handled basic NDEF record types natively, without an app installed. Only tag reader mode is supported. NFC has several modes of operation; reader/writer, tag emulation and peer-to-peer. On iOS, only the reader/writer mode is supported, and even then only reading is supported.

Only NDEF encoded NFC tags are able to be read by the iPhone. Unencoded NFC tags are not able to be read. This has implications for developers and hobbyists, although probably doesn’t matter much to consumers who usually just read NFC tags and don’t encode them. NFC tags purchased from Amazon are usually not encoded and will not work on the iPhone until encoded (read more). The GoToTags Store offers an NFC tag encoding service so that the NFC tags will work on the iPhone; either as NDEF or Platform encoding.