如何将空的 (NDEFFormatable) NFC 标签格式化为 NDEF 格式?

时间:2021-01-22 17:19:47

标签: ios swift mifare core-nfc

我正在尝试将 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 格式吗?

0 个答案:

没有答案