我正在尝试将 NDEF 消息写入空的 DESfire v2 卡。我试过这个代码:
guard case .miFare(let miFare) = tag else {continue}
session.connect(to: tag) { [weak self] error in
if let _ = error {
return
}
let data = "test data".data(using: .utf8)!
let payload = NFCNDEFPayload.init(format: .unknown, type: "T".data(using: .utf8)!, identifier: Data.init(count: 0), payload: data, chunkSize: 0)
let message = NFCNDEFMessage(records: [payload])
let apdu = NFCISO7816APDU(instructionClass: 0, instructionCode: 0x1B, p1Parameter: 0, p2Parameter: 0, data: Data(), expectedResponseLength: 16)
miFare.sendMiFareISO7816Command(apdu) { (apduData, sw1, sw2, error) in
print("\(error)")
miFare.writeNDEF(message) {[weak self] error in
if let localError = error {
print(localError)
return
} else {
print("ok")
}
}
}
}
但我有一个错误,因为它不是 NDEF 格式:
<块引用>Error Domain=NFCError Code=401 "Stack Error" UserInfo={NSLocalizedDescription=Stack Error, NSUnderlyingError=0x283fc2040 {Error Domain=nfcd Code=37 “标签不是 NDEF 格式” UserInfo={NSLocalizedDescription=标签不是 NDEF 格式}} }
有什么办法可以使用 Apple 的 CoreNFC 将此卡格式化为 NDEF 格式吗?