-
Notifications
You must be signed in to change notification settings - Fork 0
NFC Tag Rule Writer Tool
Andy Liu edited this page Dec 17, 2025
·
2 revisions
iOS NFC 标签读写应用,支持两类标签:
- NTAG213/215/216(基础标签)
- NTAG 424 DNA(支持 AES-128 加密的高级标签)
- 读取 NDEF 数据
- 显示标签信息(序列号、内存大小、标签类型等)
- 解析 URL 并处理规则激活/停用
- 支持密码保护读取
- 写入文本/URL 到标签
- 支持密码保护写入
- 写入成功后显示确认消息
- 设置 4 字节密码
- 两种保护模式:
- 仅写保护(读取完全开放)
- 读写保护(读取和写入都需要密码)
- 读取并显示标签详细信息
- 显示序列号、内存大小、NDEF 消息大小等
- 设置 16 字节 AES-128 密钥
- 两步认证:先尝试默认密钥,失败后使用新密码
- 验证新密码是否生效
- 配置 Capability Container(文件 0x01)
- 启用 iOS 后台检测
- 设置 NDEF 文件结构
- 配置 NDEF 文件(文件 0x02)访问权限
- 读取权限:ALL(所有人可读)
- 写入权限:KEY_0(仅认证后可写)
- 阻止第三方工具写入,允许读取
- 读取 NDEF 数据
- 写入 NDEF 数据(支持 NLEN 格式)
- 自动生成和验证校验和(checksum)
- 显示标签 UID
- 写入时自动生成校验和(基于
gid和rule) - 读取时自动验证校验和
- 校验和存储到 UserDefaults(使用前 10 个字符作为键)
- 处理 deep links 和 universal links
- 根据 URL 路径切换标签页(home/menu/settings)
- 提取查询参数(如
id)
- 当应用通过 deep link 打开时自动显示
- 显示完整 URL 和组件(scheme、host、path)
- 显示所有查询参数
- 高亮显示关键参数(
gid、rule、chksum) - 自动验证校验和并显示验证结果
- AES-128-ECB(确定性加密)
- AES-GCM(非确定性加密)
- 支持加密/解密字符串数据
- 基于
gid和rule生成校验和 - 使用 AES 加密生成校验和
- 验证校验和的有效性
- 校验和存储管理(UserDefaults)
- SwiftUI 界面
- 清晰的按钮和状态显示
- 文本选择支持(可复制读取的数据)
- 错误和成功消息显示
- 实时状态反馈
- 键盘自动关闭
- 滚动视图支持
- 导航栏集成
- 使用 CoreNFC 框架
- 支持 ISO 14443-A(MIFARE)协议
- 支持 ISO 7816-4(APDU 命令)
- 使用 NfcDnaKit 库处理 NTAG 424 DNA
- AES-128 加密支持
- 密码保护
- 文件访问控制
- 校验和验证防止数据篡改
- NDEF 消息格式(NLEN 格式)
- URL 解析和处理
- 查询参数提取和验证
- 规则管理:通过 NFC 标签激活/停用 Rule
- 安全访问:使用密码保护标签,防止未授权写入
- 数据验证:通过校验和确保数据完整性
- Deep Linking:通过 URL 打开应用并显示详细信息
-
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 数据交换场景。