iOS NFC NDEF寫入遇到的一個(gè)小問(wèn)題

開(kāi)發(fā)語(yǔ)言:objective-c

問(wèn)題描述:

使用 wakdev 的 NFC工具-iOS即NFC Tools 讀取標(biāo)簽中自己寫入的 NDEF 數(shù)據(jù),缺少"類型"說(shuō)明符和語(yǔ)言環(huán)境的使用情況

原代碼:

NSString *type = @"Q";
NSData *typeData = [type dataUsingEncoding:NSUTF8StringEncoding];
NSString *identifier = @"123456789";
NSData *identifierData = [identifier dataUsingEncoding:NSUTF8StringEncoding];
NSString *payload1 = @"Hello World!";
NSData *payloadData1 = [payload1 dataUsingEncoding:NSUTF8StringEncoding];

if (@available(iOS 13.0, *)) {
    NFCNDEFPayload *NDEFPayload1=[[NFCNDEFPayload alloc]initWithFormat:NFCTypeNameFormatNFCWellKnown type:typeData identifier:identifierData payload:payloadData1];
    NFCNDEFMessage *essage = [[NFCNDEFMessage alloc]initWithNDEFRecords:@[NDEFPayload1]];
}
查資料看到一個(gè)答案,不過(guò)是用Swift寫的
var payloadData = Data([0x02,0x65,0x6E]) // 0x02 +'en'=區(qū)域說(shuō)明符;0x7a,0x68 = 'zh';0x65,0x6e = 'en'
payloadData.append("Text To Write".data(using: .utf8)!)
let payload = NFCNDEFPayload.init(
    format: NFCTypeNameFormat.nfcWellKnown,
    type: "T".data(using: .utf8)!,
    identifier: Data.init(count: 0),
    payload: payloadData,
    chunkSize: 0)

通過(guò)以下網(wǎng)站可查詢十六進(jìn)制碼對(duì)應(yīng)的字符:
ASCII碼表在線查詢
https://www.litefeel.com/tools/ascii.php

修改后的代碼

NSString *type = @"Q";
NSData *typeData = [type dataUsingEncoding:NSUTF8StringEncoding];
NSString *identifier = @"123456789";
NSData *identifierData = [identifier dataUsingEncoding:NSUTF8StringEncoding];
NSString *payload1 = @"Hello World!";
NSData *payloadData1 = [payload1 dataUsingEncoding:NSUTF8StringEncoding];

Byte byte[] = {0x02,0x65,0x6E};
NSData *areaSpecifierData = [NSData dataWithBytes:byte length:3];

NSMutableData *payloadData = [[NSMutableData alloc] initWithData:areaSpecifierData];
[payloadData appendData:payloadData1];

if (@available(iOS 13.0, *)) {
    NFCNDEFPayload *NDEFPayload1 = [[NFCNDEFPayload alloc]initWithFormat:NFCTypeNameFormatNFCWellKnown type:typeData identifier:identifierData payload:payloadData];
    NFCNDEFMessage *essage = [[NFCNDEFMessage alloc]initWithNDEFRecords:@[NDEFPayload1]];
}

有不對(duì)的地方,還請(qǐng)大家指正

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請(qǐng)通過(guò)簡(jiǎn)信或評(píng)論聯(lián)系作者。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容