readMultipleBlocksWithConfiguration method

Future<List<Uint8List>> readMultipleBlocksWithConfiguration({
  1. required int blockNumber,
  2. required int numberOfBlocks,
  3. required int chunkSize,
  4. required Iso15693CommandConfiguration configuration,
})

As readMultipleBlocks, except CoreNFC cuts the range into requests of chunkSize blocks and retries each one per configuration without coming back to Dart in between. The tag's hardware caps how large a chunk it will answer.

chunkSize is a number of blocks and has to be at least one; so does numberOfBlocks, and blockNumber cannot be negative. A range or a chunk outside that throws PlatformException(code: 'invalidParameter') without reaching the tag.

CoreNFC files this among its legacy ISO 15693 calls, which want the com.apple.developer.nfc.readersession.iso15693.tag-identifiers entitlement -- Apple grants it on request only -- and Apple's own header says a tag delivered by an NFCTagReaderSession, which is the session this package starts, answers unsupportedFeature. Expect that unless your app is provisioned for the legacy reader session; readMultipleBlocks is the route that always works.

Implementation

Future<List<Uint8List>> readMultipleBlocksWithConfiguration({
  required int blockNumber,
  required int numberOfBlocks,
  required int chunkSize,
  required Iso15693CommandConfiguration configuration,
}) => iosApi.iso15693ReadMultipleBlocksWithConfiguration(
  _handle,
  blockNumber,
  numberOfBlocks,
  chunkSize,
  configuration._toWire(),
);