На обеих платформах я могу получить основную информацию с карты. Однако только на Android я могу считывать данные с карты с помощью команд Mifare. В iOS я получаю ответ 0B.
В моем Runner.entitlements у меня есть следующая конфигурация:
Код: Выделить всё
com.apple.developer.nfc.readersession.formats
TAG
Код: Выделить всё
NFCReaderUsageDescription
Access NFC
com.apple.developer.nfc.readersession.iso7816.select-identifiers
D2760000850100
...
По этой причине я решил вообще удалить ключ. Теперь каждый раз, когда я выполняю команду Mifare, я получаю ответ 0B. Это мне ни о чем не говорит, поскольку это не официальный ответ.
Я использую команду Mifare – это команду выбрать приложение. : 5A123456, где 123456 — идентификатор приложения. Как упоминалось ранее, это отлично работает на Android.
Единственный ответ, который я могу получить от карты Mifare DESFire, — это ISO7816 команда: 00A4040006D2760000850100. Это команда выбора приложения в соответствии со стандартом ISO7816. Однако после выполнения этой команды мне необходимо пройти аутентификацию, что требует сложного алгоритма.
Нужно ли на iOS сначала выполнить ISO7816 > команд, прежде чем вы сможете выполнять команды Mifare?
Подробнее здесь: https://stackoverflow.com/questions/786 ... os-corenfc