First of all I'm trying to read all the memory data from NCF Iso15693 Tag (icode slix2)
I trying to call the method readMultipleBlocksWithRequestFlags of NFCISO15693Tag class.
I'm reading the NFC tag and all the data seems to be correct(indeed in Android works perfect). I read the NFC tag in NFCTools app (https://apps.apple.com/es/app/nfc-tools/id1252962749) and I get all the data that I want to read.
I using NFCTagReaderSession
[[NFCTagReaderSession alloc]initWithPollingOption:NFCPollingISO15693 delegate:self queue:nil]
the delegate code:
id<NFCTag> currentTag = [tags firstObject];
if (currentTag.type == NFCTagTypeISO15693) {
id<NFCISO15693Tag> mytag = [currentTag asNFCISO15693Tag];
[tagSession connectToTag:currentTag completionHandler:^(NSError * _Nullable error) {
BOOL available = [currentTag isAvailable];
NFCISO15693RequestFlag requestFlag = NFCISO15693RequestFlagAddress;
[mytag readMultipleBlocksWithRequestFlags:requestFlag blockRange:NSMakeRange(0, 8) completionHandler:^(NSArray<NSData *> * _Nonnull dataBlocks, NSError * _Nullable error) {
BOOL available2 = [currentTag isAvailable];
NSLog(@"error:%@",error);
}];
}];
The Issue: When I connect to the tag, the tag is available and is connected to the session
When I try to read the blocks, the tag is connected, but I get a NFCError Code=100 "Tag connection lost"
I spent a whole week with this issue and I'm a little bit desperate