flutter_nfc_kit
flutter_nfc_kit copied to clipboard
Feature request : ISO 15693 commands for Android and iOS
Hi,
Since iOS opened custom commands to ISO 15693, it would be nice to have sending ISO 15693 tags commands available for Android and iOS.
(Maybe this is already possible with ISO 7816, but I am not familiar with that standard and I don't know if it includes ISO 15693 interactions)
https://developer.apple.com/documentation/corenfc/nfciso15693tag/3043799-customcommand https://developer.android.com/reference/android/nfc/tech/NfcV#transceive(byte[])
Android and iOS provide different interfaces on ISO15693. We might need to wrap around this.
@nicolasgarnet We do not have ISO 15693 tags currently. If you do, could your help with testing on:
- iOS document for
customCommand
mentionsSends a custom command (0xA0 to 0xDF command code)
. Does it support other commands (that are already wrapped by other methods such asreadSingleBlock
)? - How does
customCommand
on iOS report errors returned by card? Is it aISO15693TagResponseErrorCode
inNSError
returned? - How does
transceive
ofNfcV
on Android report errors? I suppose it would be encoded in the returned byte array.
Thanks! And a pull request on this, if possible, is most welcomed.
Command : Get Sys Info Command 20 2B E0 2B 00 60 00 00 71 5B
When I try to run transceiver command on a ISO15693 tag it works on Android and throws the error:
PlatformException(405, Transceive not supported on this type of card, null, null)
Does this have anything to do with this issue?
I am stuck on iOS please help :)
Command : Get Sys Info Command 20 2B E0 2B 00 60 00 00 71 5B
When I try to run transceiver command on a ISO15693 tag it works on Android and throws the error:
PlatformException(405, Transceive not supported on this type of card, null, null)
Does this have anything to do with this issue?
I am stuck on iOS please help :)
@khanliKU Yes, it is due to that we do not currently have ISO 15693 support on iOS.
Version 3.4.0 adds some support for ISO15693 on iOS. Custom command support is planned.
I investigated again and found that seems https://developer.apple.com/documentation/corenfc/nfciso15693tag/3585168-sendrequest can be used to send arbitrary commands.
Implemented in https://github.com/nfcim/flutter_nfc_kit/commit/1388333f130f80bf02fd91615004e812ed0963ad