2017-12-18 10 views
-1

iOS 11.2では、タグから実際のuidを読み取ることができません。私は "NFCNDEFReaderSession"からIDを読み取ることができますが、このIDはすべてのスキャンで変更されます。iOS 11.2 NFCタグランダム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"を読み取ることができました。しかし、更新の後、それはnilだけを返します。 私たちの会社は同じ問題を抱えており、この問題についてAppleと話をすることを考えています。それは可能でしたが、アップルのガイドラインのために許可されていないプライベートAPIコールでもありました。私たちのアプリはそのために制限されており、私たちは更新プログラムを入手するために、そこからnfcの読み込みを削除しました。

これで、SessionのfoundTags配列から値を単に削除したようです。私はそれが不可能であるべきではないという技術的理由はないと思う。 ITセキュリティの問題かもしれません。 うまくいけばリンゴはそれに反応し、私たちは来年の理由についてもっと知ります。