2017-12-18 11 views
-1

iOS 11.2를 사용하면 태그에서 실제 ID를 읽을 수 없습니다. "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-Tag에서 실제 UID가 필요합니다. 누군가에게 nfc 태그에서 uid를 가져 오는 아이디어를 얻으십시오. iOS 11.0을 사용하면이 정보를 읽을 수있었습니다.

+1

나는 할 수 있다고 믿지 않는다. NDEF 데이터 만 가져올 수 있습니다. – Paulw11

답변

0

iOS 11.2.1 이전에는 세션의 foundTags 배열에서 "_tagID"를 읽는 것이 가능했습니다. 그러나 업데이트 후에는 nil 만 반환합니다. 저희 회사는 똑같은 문제가 있으며이 문제에 관해 애플과 이야기하려고 생각하고 있습니다. 그렇기 때문에 애플 가이드 라인으로 인해 허용되지 않는 개인 API 호출이기도합니다. 우리의 앱은 그 때문에 제한을 받았고, 업데이트를 받기 위해 nfc 읽기를 삭제했습니다.

이제는 단순히 세션의 foundTags 배열에서 값을 삭제 한 것 같습니다. 나는 그것이 가능해서는 안되는 기술적 인 이유가 없음을 본다. 그것은 아마도 IT 보안의 문제 일 것입니다. 사과가 그것에 응답하기를 바랍니다. 그러면 내년에 그 이유에 대해 더 알게 될 것입니다.