Чтение меток NFC с помощью iPhone 6 / iOS 8

Теперь, когда Apple только что объявила, что iPhone 6 будет оснащен чипом NFC, кто-нибудь знает, позволит ли iOS 8 считывать/обнаруживать RFID-метки для устройства iPhone 6? У кого-нибудь есть какие-либо подробности на этот счет?

IPhone6 / 6s / 6+ НЕ предназначен для чтения пассивных тегов NFC (он же Discovery Mode). В этой теме много дезинформации, поэтому я решил предоставить некоторую ощутимую информацию для разработчиков. Отсутствие поддержки чтения тегов NFC связано не с программным обеспечением, а с аппаратным обеспечением. Чтобы понять почему, вам нужно понять, как работает NFC. NFC работает с помощью модуляции нагрузки. Это означает, что запросчик (PCD) излучает несущее магнитное поле, которое заряжает пассивную цель (PICC). Благодаря потенциалу, генерируемому этим полем несущей, цель может демодулировать данные, поступающие от запросчика, и реагировать путем модуляции данных поверх этого самого поля. Ключ здесь в том, что цель никогда не создает свое поле.

Если вы посмотрите на список деталей iPhone6 и список деталей, вы увидите наличие очень маленькой петлевой антенны NFC, а также использование AS3923 бустерной IC. Этот дизайн был предназначен для [обычных микроSD или SIM-карт][2], чтобы позволить мобильным телефонам старого делать платежи. Это тип приложения, в котором мобильный телефон представляет учетные данные, эмулируемые картой, на сверхмощный бесконтактный POS-терминал. POS-терминал действует как считыватель, заряжая iPhone6 с помощью чипа AS3923. Блок-схема AS3923 четко показывает, как модуляция RX и TX увеличивается от сигнала, представленного устройством считывания. Другими словами, iPhone6 предназначен не для того, чтобы обеспечить поле, а только для того, чтобы реагировать на него. Вот почему его дизайн предназначен только для эмуляции карт NFC и, возможно, для Peer-2-Peer, но определенно не для тега Discovery.

AS3923 бустер IC! Есть несколько альтернатив достижению тега Discovery с iPhone6 с использованием HW аксессуаров. Я говорю об этих интеграциях и о том, как разработчики могут создавать решения в этот пост в блоге. Наши маломощные ридеры открывают интересные возможности для мобильного взаимодействия, о которых думают немногие разработчики.

Раскрытие информации: я основатель Flomio, Inc., компания TechStars, которая поставляет аппаратное, программное обеспечение и услуги с непосредственным идентификатором для приложений, начиная от контроля доступа и заканчивая платежами.

Обновление: Этот слух, если это правда, откроет возможность для iPhone практически поддерживать режим NFC-тега Discovery. Конструкция из стекла не помешает антенне NFC, как и металлическая задняя часть текущего iPhone. Мы предприняли попытку такого подхода к дизайну - хотя и с более дешевыми материалами - в некоторых наших проектах для чтения на заказ с успехом, поэтому с нетерпением ждем этого улучшения.

Обновление: iOS11 объявила о поддержке «режима чтения NFC» для iPhone7 / 7+. Подробности здесь. API поддерживает только чтение сообщений NDEF (без APDU ISO7816), когда приложение находится на переднем плане (без обнаружения фона). Должен выйти осенью 2017 года... проверьте скриншот из основного выступления WWDC:

[2]: https://www.youtube.com/watch?v = p9yh3HnwRgE

Комментарии (8)

При изучении документации iOS 8, доступной по состоянию на 9 сентября 15:30, нет никаких упоминаний о доступе разработчиков к контроллеру NFC для выполнения любых операций NFC; это включает чтение меток, запись меток, сопряжение, платежи, эмуляцию меток... Учитывая, что это контроллер NXP, аппаратное обеспечение имеет возможность выполнять эти функции. Они упомянули стороннее приложение для часов, которое позволяет гостю отеля открыть дверь своего номера с помощью NFC. Это классический случай использования NFC и дает некоторое представление о том, что контроллер NFC будет открыт для разработчиков в какой-то момент. Помните, что часы не должны быть выпущены до 1 квартала 2015 года. Так что пока я бы сказал, что он закрыт, но скоро будет открыт. Учитывая 'новизну' бесконтактных платежей для обычных потребителей в США и недавние нарушения безопасности, неудивительно, что Apple хочет держать этот вопрос закрытым некоторое время.

Раскрытие: Я являюсь генеральным директором GoToTags, компании NFC, которая явно заинтересована в том, чтобы Apple открыла NFC для разработчиков.

--- Поправка & Обновление ---

Приложение для отелей на самом деле использует Bluetooth, а не NFC. NFC по-прежнему часто используется для отпирания дверей, но не в этом примере. NFC может быть использован, если часы имеют открытый контроллер NFC.

Я знаю, что Apple знает обо всем этом и обсуждает это со своими ведущими разработчиками и заинтересованными сторонами. Уже было много негативных отзывов об отсутствии поддержки чтения меток. Как это часто случалось в прошлом, я ожидаю, что Apple в конечном итоге откроет эту возможность для разработчиков для функций, не связанных с оплатой (чтение меток, сопряжение). Однако я не думаю, что Apple когда-либо разрешит другие кошельки. Обмен файлами, скорее всего, также останется за AirDrop.

--- Обновление 23 марта 2016 года ---.

Меня постоянно спрашивают об обновлениях по этой теме, часто люди ссылаются на этот пост. После того как Apple выпустила iPhone SE, многие снова спрашивают, почему Apple до сих пор не поддерживает чтение меток. В целом, Apple больше сосредоточена на успехе Apple Pay, чем на других вариантах использования NFC на данный момент. Apple может заработать много денег на Apple Pay, и у нее меньше возможностей заработать на других вариантах использования NFC. Apple, вероятно, откроет считывание меток NFC, когда они почувствуют, что доверие потребителей и безопасность NFC и Apple Pay таковы, что не подвергают Apple Pay риску. Дополнительная информация здесь.

--- Обновление 24 мая 2017 года ---.

Разработчик из Греции взломал iPhone 6s, чтобы заставить его считывать метки NFC через частные рамки NFC; дополнительная информация и видео. Хотя это не является долгосрочным решением, оно дает некоторое руководство по некоторым нерешенным вопросам: Достаточно ли энергии в контроллере NFC iPhone для питания метки NFC? Похоже, что ответ да. По результатам первоначального тестирования дальность действия составляет несколько см, что не так уж плохо. Возможно также, что мощность можно регулировать; в настоящее время это исследуется. Последствия этого значительны. Если телефоны старых моделей действительно обладают достаточной радиочастотной мощностью для чтения/записи меток, то когда Apple откроет SDK, это будет означать, что будет 100 миллионов iPhone, которые могут читать метки NFC, в отличие от случая, когда только новые iPhone могут это делать.

Комментарии (7)

На данный момент нет никакого открытого доступа к контроллеру NFC. В настоящее время в iOS 8 GM SDK нет API NFC - это указывает на то, что возможности NFC будут ограничены Apple Pay при запуске. Это наше понимание.

Очевидно, что чип NXP в iPhone 6, вероятно, будет способен на большее, поэтому это не означает, что дополнительные функции (сопряжение, сканирование/кодирование меток) не будут добавлены к выпуску или в ближайшем будущем.

Комментарии (0)

На данный момент Apple не открыла доступ к встроенному чипу NFC для разработчиков, как это предлагается во многих статьях, таких как эти:

Список можно продолжить. Основная причина (как и многие другие аппаратные функции, добавленные в iPhone в прошлом) заключается в том, что Apple хочет обеспечить безопасность таких технологий, прежде чем выпускать какой-либо API для разработчиков, чтобы они могли делать все, что хотят. Поэтому сначала они будут использовать его внутри только для своих нужд (например, Apple Pay во время запуска).

«На данный момент нет открытого доступа к контроллеру NFC» сказал RapidNFC, поставщик тегов NFC. «В настоящее время нет NFC API в iOS 8 GM SDK ".

Но в конце концов, я думаю, что мы все можем согласиться с тем, что они разработают такой API, это только вопрос времени.

Комментарии (3)

Возможность чтения тега NFC была добавлена в iOS 11, которая поддерживает только iPhone 7 и 7 plus

В качестве тест-драйва я сделал это repo

Первое: нам нужно инициировать класс NFCNDEFReaderSession

var session: NFCNDEFReaderSession? 
session = NFCNDEFReaderSession(delegate: self, queue: nil, invalidateAfterFirstRead: false)

Затем нам нужно начать сеанс с:

session?.begin()

и когда сделано:

session?.invalidate()

Делегат (который должен выполнять сам) имеет в основном две функции:

func readerSession(_ session: NFCNDEFReaderSession, didDetectNDEFs messages: [NFCNDEFMessage])
func readerSession(_ session: NFCNDEFReaderSession, didInvalidateWithError error: Error)

вот моя ссылка Apple docs

Комментарии (3)

Единственная доступная на данный момент информация - это то, что Apple Pay будет доступен в ios8, но это не проливает свет на то, смогут ли RFID-метки или, скорее, NFC-метки быть обнаружены/считаны.

IMO было бы недальновидно не разрешить такую возможность, но на самом деле деньги в Apple Pay, а не в предоставлении разработчикам доступа к этим функциям - мы уже видели это раньше с привязкой, Bluetooth SPP и уменьшением доступа к определенным функциям.

...но опять же, прошло около 5 часов с момента первого объявления.

Комментарии (1)

Я думаю, что это произойдет когда-нибудь, прежде чем мы увидим доступ к NFC как его чистую сторону безопасности, например, возможность пройти мимо кого-то, кто проходит мимо них и &; доставьте свой телефон до сведения карты или просто помахайте своим телефоном кому-нибудь и # 39;с кошельком, который они оставили на столе.

Я думаю, что первый шаг для Apple - поговорить с банками и найти больше способов защиты карт и NFC, прежде чем это будет разрешено

Комментарии (0)