我正在研究NFC标签阅读器。我想读取一个NFC tagId,每个nfc卡的唯一id,我在iOS 13中使用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)")
}
}
}
}发布于 2020-09-11 13:43:53
试试这个吧..
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)"
}
}
}
}
}https://stackoverflow.com/questions/58336600
复制相似问题