Skip to content

NFC Tag Rule Writer Tool

Andy Liu edited this page Dec 17, 2025 · 2 revisions

NFC Tag Rule Writer Tool

NFCTagWriter App 功能总结

核心功能

iOS NFC 标签读写应用,支持两类标签:

  1. NTAG213/215/216(基础标签)
  2. NTAG 424 DNA(支持 AES-128 加密的高级标签)

1. NTAG213/215/216 功能(ContentView)

读取功能

  • 读取 NDEF 数据
  • 显示标签信息(序列号、内存大小、标签类型等)
  • 解析 URL 并处理规则激活/停用
  • 支持密码保护读取

写入功能

  • 写入文本/URL 到标签
  • 支持密码保护写入
  • 写入成功后显示确认消息

密码保护

  • 设置 4 字节密码
  • 两种保护模式:
    • 仅写保护(读取完全开放)
    • 读写保护(读取和写入都需要密码)

标签信息

  • 读取并显示标签详细信息
  • 显示序列号、内存大小、NDEF 消息大小等

2. NTAG 424 DNA 功能(NTAG424View)

密码管理

  • 设置 16 字节 AES-128 密钥
  • 两步认证:先尝试默认密钥,失败后使用新密码
  • 验证新密码是否生效

CC 文件配置

  • 配置 Capability Container(文件 0x01)
  • 启用 iOS 后台检测
  • 设置 NDEF 文件结构

文件访问控制

  • 配置 NDEF 文件(文件 0x02)访问权限
  • 读取权限:ALL(所有人可读)
  • 写入权限:KEY_0(仅认证后可写)
  • 阻止第三方工具写入,允许读取

数据读写

  • 读取 NDEF 数据
  • 写入 NDEF 数据(支持 NLEN 格式)
  • 自动生成和验证校验和(checksum)
  • 显示标签 UID

校验和功能

  • 写入时自动生成校验和(基于 gidrule
  • 读取时自动验证校验和
  • 校验和存储到 UserDefaults(使用前 10 个字符作为键)

3. Deep Linking 和 URL 处理(AppRouter)

URL 路由

  • 处理 deep links 和 universal links
  • 根据 URL 路径切换标签页(home/menu/settings)
  • 提取查询参数(如 id

URL 详情弹窗

  • 当应用通过 deep link 打开时自动显示
  • 显示完整 URL 和组件(scheme、host、path)
  • 显示所有查询参数
  • 高亮显示关键参数(gidrulechksum
  • 自动验证校验和并显示验证结果

4. 加密和校验(ClipHelper)

加密功能

  • AES-128-ECB(确定性加密)
  • AES-GCM(非确定性加密)
  • 支持加密/解密字符串数据

校验和生成与验证

  • 基于 gidrule 生成校验和
  • 使用 AES 加密生成校验和
  • 验证校验和的有效性
  • 校验和存储管理(UserDefaults)

5. 用户界面特性

现代化 UI

  • SwiftUI 界面
  • 清晰的按钮和状态显示
  • 文本选择支持(可复制读取的数据)
  • 错误和成功消息显示

交互体验

  • 实时状态反馈
  • 键盘自动关闭
  • 滚动视图支持
  • 导航栏集成

6. 技术特性

NFC 通信

  • 使用 CoreNFC 框架
  • 支持 ISO 14443-A(MIFARE)协议
  • 支持 ISO 7816-4(APDU 命令)
  • 使用 NfcDnaKit 库处理 NTAG 424 DNA

安全特性

  • AES-128 加密支持
  • 密码保护
  • 文件访问控制
  • 校验和验证防止数据篡改

数据格式

  • NDEF 消息格式(NLEN 格式)
  • URL 解析和处理
  • 查询参数提取和验证

7. 使用场景

  1. 规则管理:通过 NFC 标签激活/停用 Rule
  2. 安全访问:使用密码保护标签,防止未授权写入
  3. 数据验证:通过校验和确保数据完整性
  4. Deep Linking:通过 URL 打开应用并显示详细信息

8. 主要文件结构

  • NFCTagWriterApp.swift - 应用入口和 deep link 处理
  • ContentView.swift - NTAG213/215/216 主界面
  • NTAG424View.swift - NTAG 424 DNA 主界面
  • AppRouter.swift - URL 路由和弹窗管理
  • URLDetailsView.swift - URL 详情显示视图
  • NFCScanner.swift - 基础 NFC 标签扫描器
  • NTAG424DNAScanner.swift - NTAG 424 DNA 扫描器
  • ClipHelper.swift - 加密和校验和工具

该应用提供完整的 NFC 标签管理功能,特别适用于需要安全、可验证的 NFC 数据交换场景。

Clone this wiki locally