Чтение тегов NFC с iPhone 6/iOS 8

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

Ответ 1

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

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

AS3923 booster IC

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

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

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

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

введите описание изображения здесь

Ответ 2

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

Раскрытие информации: Im генеральный директор 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 6, чтобы заставить его читать теги NFC через частные фреймворки NFC; дополнительная информация и видео. Хотя это не долгосрочное решение, оно дает некоторые рекомендации по некоторым нерешенным вопросам: есть ли достаточная мощность в контроллере NFC iPhone для питания тега NFC? Похоже, что ответ да. От первоначального тестирования диапазон составляет несколько см, что не так уж плохо. Это может быть и перестраиваемая мощность; это расследование в настоящее время. Последствия этого значительны. Если у более старых моделей телефонов достаточно радиочастотной мощности для чтения/записи тегов, тогда, когда Apple откроет SDK, это означает, что будет 100 Мб iPhone, которые могут читать теги NFC, в том случае, когда могут появляться только новые iPhone.

Ответ 3

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

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

Ответ 4

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

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

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

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

Ответ 5

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

В качестве тестового диска я сделал это 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

Ответ 6

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

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

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

Ответ 7

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

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