I have tried a sample with CoreNFC in iOS, but it fails to read the manufacturer's UID of the NFC Tag, instead it expects message content from the Tag and reads only that, Is there any way to make CoreNFC read the NFC Tag's UID?
Asked
Active
Viewed 3,097 times
1 Answers
3
Edit: Updates to CoreNFC on iOS 13 mean you can now read most UIDs with compatible iPhones. To do so: see https://stackoverflow.com/a/57993069/3959708
It is possible to read the UID of a tag, but it will not be able to be submitted to the App Store because the API is private.
- (void) readerSession:(nonnull NFCNDEFReaderSession *)session didDetectNDEFs:(nonnull NSArray<NFCNDEFMessage *> *)messages {
NSArray *foundTags = [session valueForKey:@"_foundTags"];
NSObject *tag = foundTags[0];
NSData *uid = [tag valueForKey:@"_tagID"];
}
This thread has more info: https://github.com/hansemannn/iOS11-NFC-Example/issues/16

Scott Condron
- 1,902
- 16
- 20
-
So, you're reading the UID inside readerSession funcion, but in my case, as the NFC Tag doesn't have any message content, it is not getting detected!, I'm trying to read the Chip Serial Number(CSN or UID) – ABI Aug 14 '18 at 01:46
-
1As you know, CoreNFC does not detect tags which do not contain NDEF formatted data. You could consider using a peripheral reader. See: https://flomio.com/shop/readers/floble-plus-nfc-reader/ Disclosure: I work for Flomio – Scott Condron Aug 14 '18 at 17:44