Regarding Reading NFC Core Information

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?

There is no supported way to access any tag info outside of what is provided in the NFCTag classes as documented.

NFTagInternal and similar data objects are considered private API, and trying to access any of the variables or properties within such objects may cause your app to be rejected by App Review.


Argun Tekant /  DTS Engineer / Core Technologies

Regarding Reading NFC Core Information
 
 
Q