Написание сообщений NDEF с использованием sendMiFareCommand в CoreNFC

Мы используем новую функцию записи NFC в iOS 13 для записи данных в NFC-метку MiFare Ultralight, и она отлично работает с использованием метода writeNDEF.

Но поскольку мы используем функцию защиты паролем NFC-метки, нам необходимо отправлять сообщения NDEF с помощью низкоуровневого метода sendMiFareCommand.

Нам не удалось найти никакой документации о том, как преобразовать формат NDEF в низкоуровневые данные, необходимые для метода sendMiFareCommand.

Будем очень признательны за любой пример или документацию по этому вопросу для Swift.


person larsd    schedule 24.09.2019    source источник


Ответы (1)


Вы можете сначала разблокировать тег с помощью определенной команды MIFARE, а затем использовать для этого функцию tag.writeNDEF(). Это может быть выполнено в том же сеансе тегов NFC без его завершения. Тем временем тег будет разблокирован. Инструкции по PWD_AUTH см. в техническом описании сверхлегких устройств. Код 0x1B для Ultralight EV1 и новее. Раздел 1.8, стр. 30 содержит инструкции по конкретному использованию. https://www.nxp.com/docs/en/data-sheet/MF0ULX1.pdf

person Alec O    schedule 09.10.2019
comment
У меня проблемы с использованием обеих функций в одном сеансе. В настоящее время я аутентифицируюсь (успешно), и когда эта функция возвращается, я вызываю tag.writendef с полезной нагрузкой NDEF. Я получаю сообщение об ошибке 401/ошибка стека, соединение закрыто. - person Steven B.; 17.10.2020