【问题标题】:Read NFC tagid in iOS 13 Swift在 iOS 13 Swift 中读取 NFC tagid
【发布时间】:2019-10-11 07:49:19
【问题描述】:

我正在开发 NFC 标签阅读器。我想读取每个 NFC 卡的唯一 ID 的 NFC tagId,我在 iOS 13 Swift 中使用 NDEF 标签。但我无法得到它。我想知道有什么方法可以获取 tagId ,如果有,请帮助我,提前谢谢。

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

        print("Detected tag - \(messages)")

        for message in messages {
            for record in message.records {
                if let string = String(data: record.payload, encoding: .utf8) {
                    print("record -- \(string)")
                }
                if let iden = String(data: record.identifier,encoding: .utf8){
                    print("identifier - \(iden)")
                }
            }
        }

    }

【问题讨论】:

  • 有人得到这个问题的答案吗?非常感谢
  • 嗨 Bhumika,如果您仍在寻找答案,那么 - 使用 NFCTagReader 读取 nfc 卡,它将提供 tagid。
  • 嗨,jeplin 你能帮帮我吗?
  • 试试 NFCTagReaderSession。
  • @Bhumika 是的....

标签: ios swift ios13 core-nfc


【解决方案1】:

试试这个..

class PatrolRouteDetailVC: NFCTagReaderSessionDelegate {
func tagReaderSessionDidBecomeActive(_ session: NFCTagReaderSession) {
    print("Session Begun!")
}

func tagReaderSession(_ session: NFCTagReaderSession, didInvalidateWithError error: Error) {
        print(error.localizedDescription)
    }

func tagReaderSession(_ session: NFCTagReaderSession, didDetect tags: [NFCTag]) {
    if tags.count > 1{
        session.alertMessage = MORE_ONE_TAG_DETECTED_STR
        session.invalidate()
    }
    let tag = tags.first!
    session.connect(to: tag) { (error) in
        if nil != error{
            session.invalidate(errorMessage: CONNECTION_FAILD_STR)
        }
        if case let .miFare(sTag) = tag{
            let UID = sTag.identifier.map{ String(format: STRING_IDENTIFER_STR, $0)}.joined()
            session.alertMessage = UID_CAPTURE_STR
            session.invalidate()
            DispatchQueue.main.async {
                self.nfcTagIdStr = "\(UID)"
               }
           }
       }
   }
}

【讨论】:

  • 嗨,你能提供你的完整代码吗?使用 STRING_IDENTIFER_STR 的值,UID_CAPTURE_STR ?
  • 另外,你认为用 NFCISO15693Tag 可以做到吗?
  • @ok 当然我会和你分享
猜你喜欢
  • 1970-01-01
  • 2020-02-05
  • 2023-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多