用途:在 iPhone 上使用 CoreNFC 框架读写 NFC 标签,覆盖 NDEF 读取会话、标签读取会话、NDEF 消息构造、权限配置与后台标签读取。
主要能力:NFCNDEFReaderSession 扫描 NDEF 格式标签(URL、文本、MIME 等);NFCTagReaderSession 直接访问 ISO7816、ISO15693、FeliCa、MIFARE 原生协议;支持构造与写入 NDEF 消息、查询标签 NDEF 状态与容量;iPhone XS 及以后支持后台标签读取。
使用方式:在 Xcode 添加 Near Field Communication Tag Reading 能力,在 Info.plist 添加 NFCReaderUsageDescription,并配置 com.apple.developer.nfc.readersession.formats 权限(使用 TAG 值,不要用旧版 NDEF)。ISO7816 需在 Info.plist 列出应用标识符,FeliCa 需列出系统码且不可用通配符。创建会话前用 NFCNDEFReaderSession.readingAvailable 或 NFCTagReaderSession.readingAvailable 检查可用性,先设置 delegate 再调用 begin()。写入前先 queryNDEFStatus 确认 readWrite 状态并检查容量。
适用场景:读取标准 NDEF 标签内容、读写自定义 NDEF 消息、访问原生标签协议、通过后台标签读取用通用链接或系统 URL 方案唤起应用。
限制:NFC 读取需 iPhone 7 或更新机型;同一时间只能有一个读取会话;会话失效后不能重启,需置空引用并新建;后台读取仅支持 URI 记录(typeNameFormat 为 nfcWellKnown、type 为 U),不支持自定义 URL 方案、bundle ID 或任意 NDEF 内容类型路由;支付相关 AID 不应使用 NFCTagReaderSession。文档未提供具体收费、价格或平台信息。