2017-12-18 34 views
-1

Mit iOS 11.2 kann ich die echte uid vom Tag nicht lesen. Ich kann eine ID von "NFCNDEFReaderSession" lesen, aber diese ID ändert sich mit jedem Scan.iOS 11.2 NFC-Tag zufällige UID

func readerSession(_ session: NFCNDEFReaderSession, didDetectNDEFs messages: [NFCNDEFMessage]) { 

    var uid: String = "" 
    if(session.value(forKey: "_foundTags") != nil) { 

     let foundTags : NSArray = session.value(forKey: "_foundTags") as! NSArray 
     if(foundTags.count > 0) { 

      let tag : NSObject = foundTags.firstObject as! NSObject; 
      if(tag.value(forKey: "_UID") != nil) { 

Ich brauche die echte UID aus dem NFC-Tag. Haben Sie jemanden eine Idee, um die UID von einem nfc-Tag zu bekommen. Mit iOS 11.0 war es möglich, diese Informationen zu lesen.

+1

Ich glaube nicht, dass Sie können. Sie können nur die NDEF-Daten abrufen. – Paulw11

Antwort

0

Vor iOS 11.2.1 war es möglich, die "_tagID" aus dem FoundTags Array der Session zu lesen. Aber nach dem Update gibt es nur nil zurück. Unsere Firma hat das gleiche Problem und wir denken darüber nach, mit Apple über dieses Problem zu sprechen, also war es möglich, aber es war auch ein privater API-Aufruf, der aufgrund von Apple-Richtlinien nicht erlaubt ist. Unsere App wurde deswegen eingeschränkt und wir entfernten das nfc-Lesen, um unsere Updates zu erhalten.

Jetzt scheint es, sie löschten einfach den Wert aus dem FoundTags Array der Session. Ich sehe keinen technischen Grund, warum es nicht möglich sein sollte. Es ist vielleicht eine Frage der IT-Sicherheit. Hoffentlich reagiert Apple darauf und wir werden nächstes Jahr mehr über die Gründe wissen.

Verwandte Themen