2017-12-18 237 views
-1

使用iOS 11.2我無法從標籤中讀取真正的uid。我可以從「NFCNDEFReaderSession」讀取一個ID,但是這個ID在每次掃描時都會改變。iOS 11.2 NFC-Tag隨機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) { 

我需要從NFC標籤的真正的UID。有人想法從一個nfc標籤獲得uid。使用iOS 11.0可以閱讀這些信息。

+1

我不相信你可以。你只能得到NDEF數據。 – Paulw11

回答

0

在iOS 11.2.1之前,可以通過從會話的foundTags數組中讀取「_tagID」。但更新後它只返回零。 我們公司有同樣的問題,我們正在考慮與蘋果談論這個問題,所以這是可能的,但它也是一個私人的API調用,這是由於蘋果指導原則不允許的。我們的應用程序因此受到了限制,並且我們刪除了nfc閱讀,以便通過我們的更新。

現在看來他們只是從會話的foundTags數組中刪除了值。我沒有看到爲什麼它不應該成爲可能的技術原因。這可能是一個IT安全問題。 希望蘋果能夠對此作出迴應,我們將在明年更多地瞭解其原因。