2017-12-18 266 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安全问题。 希望苹果能够对此作出回应,我们将在明年更多地了解其原因。