美文网首页
iOS NFC NDEF写入遇到的一个小问题

iOS NFC NDEF写入遇到的一个小问题

作者: 烟尘_f626 | 来源:发表于2021-01-04 10:24 被阅读0次

开发语言:objective-c

问题描述:

使用 wakdev 的 NFC工具-iOS即NFC Tools 读取标签中自己写入的 NDEF 数据,缺少"类型"说明符和语言环境的使用情况

原代码:

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]];
}
查资料看到一个答案,不过是用Swift写的
var payloadData = Data([0x02,0x65,0x6E]) // 0x02 +'en'=区域说明符;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)

通过以下网站可查询十六进制码对应的字符:
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]];
}

有不对的地方,还请大家指正

相关文章

  • iOS NFC NDEF写入遇到的一个小问题

    开发语言:objective-c 问题描述: 使用 wakdev 的 NFC工具-iOS即NFC Tools 读取...

  • iOS 专业英语

    NFC(Near Field Communication)近场通讯 NDEF(NFC Data Exchange ...

  • Android训练课程(Android Training) -

    NFC 基础 本文档介绍了在Android上的基本的NFC任务。它说明了如何发送和接收的NDEF消息(NDEF m...

  • Android开发 - NFC基础

    NFC 基础 本文档介绍了在Android上的基本的NFC任务。它说明了如何发送和接收的NDEF消息(NDEF m...

  • iOS之NFC使用

    先了解几个概念什么是NFC?NDEF指的是什么?什么是CoreNFC? 什么是 NFC NFC(Near Fiel...

  • android NFC学习笔记(二)

    一:解析NDEF据文档说这是google参考nfc论坛而提出和支持的格式。也就是说nfc的格式和标准肯定有很多,g...

  • CoreNFC

    检测NFC 设备并读取里面包含的NDEF格式数据. 简述 使用CoreNFC,你能够读取(目前只能读取) 1-5种...

  • iOS11 Core NFC

    iOS11 Core NFC iPhone6开始支持NFC(Near Field Communication )...

  • iOS NFC 加密功能实现

    ios NFC加密功能实现 前言:记录一下ios开发中NFC添加密码功能,卡类型为(NFCMiFareTag --...

  • iOS NFC开发(OC、swift双语实现)

    Core NFC在iOS 11中引入,用于处理NFC阅读Tag。由于目前只开放了读的权限,所以Core NFC是非...

网友评论

      本文标题:iOS NFC NDEF写入遇到的一个小问题

      本文链接:https://www.haomeiwen.com/subject/zfbpoktx.html