概述
iOS 在 iOS11(iPhone7/iPhone7 Plus) 之后开放 NFC 主动扫描功能
并且在 iOS13(iPhoneXS/iPhoneXR) 后开放 NFC 后台扫描功能。
时间表对照
所以在 iOS 端通常有两个业务场景:
主动扫描:用户主动打开 App 并开启 NFC 功能扫描
场景为 :设备中主动打开我们的 App 并开始 NFC 扫描进程,然后可以识别到靠近的 NFC 标签中的数据。
最低硬件要求:
系统版本: iOS 11
硬件: iPhone 7 及以上
后台扫描:用户不打开 App,通过手机扫描弹窗后,打开 App
场景为 :设备中不打开 App,靠近 NFC 标签后,手机出现弹窗,然后提示打开相关的 App,并传入数据。(类似使用手机刷卡地铁进站时,会弹出北京通)
后台模式扫描要求:
硬件: iPhoneXS/iPhoneXR 及以上
NFC 芯片存储容量
芯片中存储内容的大小限制,主要由芯片类型确定,市场上主要有以下几种主流的容量:
- 144 字节 — 使用 NXP NTAG 203/213 芯片 主要用来网址标签、蓝牙配对标签 如 门禁钥匙扣、电梯卡
- 888 字节 — 使用 NXP NTAG 216 芯片 主要用来 多任务标签、NFC 电子名片(包含姓名、手机、邮箱等)、华为一碰传贴纸(电脑手机传输文件)、小米碰碰贴(可以自定义动作标签,如开关蓝牙,打开 WiFi )等。
- 4000/8000 字节 — 其他类芯片 可以用来存储图片等(暂时没有找到商业应用场景)。
一个包含了姓名、电话、邮箱、公司名称、邮箱、网址的NFC标签会占有约 159 字节的容量。
数据格式要求: NDEF
iOS 目前只支持 NDEF 格式的内容
NDEF 格式
NDEF 格式是 NFC FROUM 发布的一个通用 NFC 数据传输格式,支持 UTF-8 编码、Unicode 编码,内容支持文本内容、URI 内容,甚至支持图片内容。
更为详细的,这篇文章里讲解的更细致: www.pianshen.com/article/860…
NDEF 的文本格式
这是整体的文本数据格式,第一个字节用来描述数据的状态;后面的 n-1 个字节用来描述语言的编码,如英语、还是日语、汉字;最后面不固定长度, 上面的是文本格式下,状态字节的具体编码格式。NDEF 的 URI 格式
限制
这些情况下无法使用后台 NFC 功能:
- 重启手机后,没有解锁过
- 有一个 NFC 进程正在运行
- Apple 钱包正在使用
- 相机正在使用
- 飞行模式下
具体 iOS NFC 开发流程
- AppleID 开通 NFC Tag Reading 功能。
- 工程进行描述文案等配置。
- 代码开发。
- 如果需要支持后台扫描,还需要支持 Universal Link 功能。
注意点
1.Apple NFC 不支持支付相关的业务场景,如扫描银行卡进行 NFC 支付功能。
2.同时只能存在一个扫描进程 Session。
3.一个扫描进程 Session 只能存在 60s,超过后需要重新开启一个。
4.可以配置同时扫描多个或者单个 tag,配置单个时,识别到一个 tag 后会停止。
参考文章
_ developer.apple.com/documentati…_
_ www.jianshu.com/p/25b8ff698…_
_ www.raywenderlich.com/9582458-get…_
Original: https://www.cnblogs.com/wi100sh/p/15162395.html
Author: wi100sh
Title: 【转】iOS NFC
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/553922/
转载文章受原作者版权保护。转载请注明原作者出处!