【发布时间】:2020-06-10 13:50:19
【问题描述】:
在发现并连接到 Mifare Ultralight 标签(更具体地说,EnOcean PTM 215B)后,我正在尝试使用 NFCMifareTag.sendMifareCommand 方法读取它的页面。问题是我尝试发送的所有命令都会导致“标记连接丢失”错误,这很奇怪,因为我刚刚成功连接到它。
(简化的)代码如下:
// tag has been determined to be of type NFCMifareTag earlier
session.connect(to: tag) { (error: Error?) in
if (error != nil) {
return
}
print("Connected to the tag")
let data: [UInt8] = [0x30, 0x04, 0xEE, 0x26] // READ page 4 + CRC
let dataPacket = Data(bytes: data, count: data.count)
tag.sendMifareCommand(
commandPacket: dataPacket,
completionHandler: { (response: Data?, error: Error?) in
if nil != error {
return // <-- "Tag connection lost" error
}
// Handle the data as the operation was successful
}
)
}
我会很感激任何关于这种行为可能是什么原因的指针和/或想法。如前所述,我尝试了各种不同的数据包,但都完全一样。我还尝试了多种不同的手机来消除硬件问题。该支持刚刚添加到 iOS 13 中,因此我在网上找不到任何可以使用 sendMifareUltralight 命令的示例。
【问题讨论】:
标签: ios swift nfc ios13 mifare