-
Notifications
You must be signed in to change notification settings - Fork 121
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unable to send Mifare commandos on iOS #175
Comments
Sorry for replying late. I see your thread on https://forums.developer.apple.com/forums/thread/758018 and okadan/flutter-nfc-manager#197. But Apple does not seem to solve your problem either. Our usage of CoreNFC APIs are not complex: flutter_nfc_kit/ios/Classes/SwiftFlutterNfcKitPlugin.swift Lines 145 to 156 in 2773020
I suggest that you try with native code first. If that does not work, neither flutter library can do much. |
I have created a mobile application to scan Mifare DESFire cards on Android and iOS. On both platforms, I can get the basic information on the card. However, only on Android, I can read data from the card by using Mifare commands. On iOS I am getting a
0B
response.I have the following configuration inside my
Runner.entitlements
:I have added the following keys inside my
Info.plist
file:However, I have noticed that I will get a different response if I add the
D2760000850100
key in theInfo.plist
file. When I have this key added I get an error when executing a Mifare command:PlatformException(500, Communication error, Tag response error, null)
So for that reason, I decided to remove the key altogether. Now everytime, I execute a Mifare command I end up with the response of
0B
. Which does not tell me anything because it is not an official response.The Mifare command I am using is the select application command:
5A123456
where123456
is the application ID. As mentioned before this works perfectly on Android.The only response I can get from the Mifare DESFire card is with an ISO7816 command:
00A4040006D2760000850100
. Which is the select application command according to the iso7816 standard. However, after executing this command I need to authenticate, which requires a complex algorithm.Is it necessary on iOS to first execute iso7816 commands, before you can execute Mifare commands?
The text was updated successfully, but these errors were encountered: