I am developing an APP, scan and read NFC Tag information.
I can only get the message in the NFC tag, but I cannot get the chip information.
Or rather, the information obtained is incomplete.
Look at the code:
NFCNDEFReaderSession *session;
- (void)readerSession:(NFCNDEFReaderSession *)session didDetectTags:(NSArray<__kindof id<NFCNDEFTag>> *)tags API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, macos, tvos) {
NSLog(@"call back ios13");
if (tags.count > 1) {
session.alertMessage = LocalizedString(@"ErrorTips4");
[session restartPolling];
return;
}
id firstTag = tags.firstObject;
HBNFCNDEFTag *ndefTag = firstTag;
NSLog(@"ndefTag == %@", [ndefTag valueForKey:@"_tag"]);
dispatch_async(dispatch_get_main_queue(), ^{
[self invalidateSession];
});
}
Obtain datas: ndefTag == <NFTagInternal: 0x283db5c00>-BA5A89060AA01FAB { Tech=Unknown Type=Unknown ID=(null), NDEF=4, capacity=137, messageSize=45 }
An Other:
NFCTagReaderSession *tagSession;
- (void)tagReaderSession:(NFCTagReaderSession *)session didDetectTags:(NSArray<__kindof id<NFCTag>> *)tags API_AVAILABLE(ios(13.0)) {
NSLog(@"call back ios13 tag");
if (tags.count > 1) {
session.alertMessage = LocalizedString(@"ErrorTips4");
[session restartPolling];
return;
}
id <NFCTag> firstTag = tags.firstObject;
HBNFCTag *nfcTag = firstTag;
NSLog(@"nfcTag == %@", [nfcTag valueForKey:@"_tag"]);
dispatch_async(dispatch_get_main_queue(), ^{
[self invalidateTagSession];
});
}
Obtain datas: nfcTag == <NFTagInternal: 0x283dac900>-BA5A890699350585 { Tech=A Type=MiFare UL ID=0426226AB37381 silentType=0 SAK=(null) ATQA=(null) sfgi=0x0 }
I need datas: Tech、Type、ID、capacity、messageSize、SAK、ATQA
What shall I do?