iOS NFC浅析

本篇文章共分为三个部分,读者可根据需要直接阅读对应部分:

1. iOS 对NFC支持的现状

2.NFC基本概念与相关术语

3.iOS NFC 开发实践

下面是正文:

一、iOS 对NFC支持的现状

2017年,WWDC正式发布了iOS11,在SDK中首次开放了NFC功能,开发者可通过Core NFC FrameWork 使用NFC功能。不过不要高兴太早,此次发布的版本支持的功能非常保守,只支持 NFC Tag Reading 功能。

支持机型:

 iPhone 7 及后续发布机型(虽然iPhone 6开始已经有NFC硬件,但是Apple 出于某些原因,6,6plus不开发此功能)

支持方式:

 iOS 11 需要安装APP才能使用(安卓系统已经内建了支持),APP使用NFC时需要主动打开一个session才能进行读取tag,并且APP必须在前台(foreground)状态下,一旦APP进入background或退出,session将自动终止(安卓则可以在后台一直进行轮询)。

二、NFC基本概念与相关术语

NFC是什么东东?

全称 Near Field Communication (近场通讯),这个技术由非接触式射频识别(RFID)演变而来,由飞利浦半导体(现恩智浦半导体公司)、诺基亚索尼共同研制开发,其基础是RFID及互连技术。近场通信(Near Field Communication,NFC)是一种短距高频的无线电技术,在13.56MHz频率运行于10厘米距离内。

NFC Tag?

NFC tags are cheap, passive RFID tags that are stuck on, or embedded into products, packaging, promotional items and many other physical things。

可以看到它是廉价的、被动式的RFID(射频识别)Tag,粘贴或内嵌如产品,包裹,促销品及许多其他实物,甚至像电影里一样嵌入皮肤。那么问题又来了RFID Tags 是什么?

RFID Tag?

它由耦合元件及芯片组成,每个RFID标签具有唯一的电子编码(全球唯一哦😯),附着在物体上标识目标对象,俗称电子标签或智能标签。RFID电子标签:有源标签,无源标签,半有源半无源标签。普通用的地铁卡就是无源标签。 什么编码这么牛X, 全球唯一?是EPC编码。

EPC编码?

EPC(Electronic Product Code)即电子产品编码,是一种编码系统。它建立在EAN.UCC(即全球统一标识系统)条型编码的基础之上,并对该条形编码系统做了一些扩充,用以实现对单品进行标志。

它是下一代产品标识代码,它可以对供应链中的对象(包括物品、货箱、货盘、位置等)进行全球唯一的标识。EPC 存储在RFID标签上,这个标签包含一块硅芯片和一根天线。读取 EPC标签时,它可以与一些动态数据连接,例如该贸易项目的原产地或生产日期等。EPC所标识产品的信息保存在EPCglobal网络中,而EPC则是获取有关这些信息的一把钥匙。

WWDC解释:

NFC实际上是一组不同的标准和协议。所有的标准共存,并用于不同的目的。

NFC text可归纳为5类,type1~type5.每一个类型对应于一个不同的标准。

NFC Forum定义了NFC Data Exchange Format(NDEF)用来作为不同的NFC text类型数据交换的通用标准方式

使用场景:

上面一堆解释,第一次听绝对是云里雾里的,不过看看它能干什么就有整体印象了。下面描述的是NFC的使用场景(不限于iOS,其中部分功能iOS不支持)

NFC工作模式有三种:

1.Reader/Writer mode(读写器模式)iOS只支持reader模式

此模式可以读取NFC Tag,也可写入Tag数据。(可以想象手机给地铁卡充值,它能读取卡内信息,也能写入数据),苹果给出的使用的场景1.连接用户到位置或上下文相关的内容2.连接硬件设备3.仓库库存追踪。

2.Peer-to-Peer mode (点对点模式)  iOS 不支持

将两个具备NFC功能的设备链接,能实现数据点对点传输,如下载音乐、交换图片或者同步设备地址薄。

3.Card-emulation mode (卡模拟模式)iOS不支持

可以将具备NFC功能的设备当做只能卡或者IC卡,比如地铁卡,信用卡,门禁卡。

NFC是怎么检测到Tag的?

在NFC Tag(它是一种廉价、被动式的RFID tag, 就是一个集成电路)中有天线与电路。当拿具备NFC功能的手机或其他读取器靠近时,手机或读取器发射高频电磁波(射频信号),引发Tag内的电路产生感应电流(卡内没有电源,全靠读取器发射的电磁波产生电流驱动),Tag利用产生的电流发射出Tag内存储是数据。

三、iOS NFC 开发实践

过程很简单,不过需要注意一些方面:

1.tag reading是按需的,你需要自己启动一个tag reading操作。

2.tag reading session需要在foreground时启动。

3.应用进入后台或退出,session将终止。

4.每个session最多持续60秒,超时将终止。

5.可配置session读取一个tag或多个tag,当设置读取一个tag时,读完后session自动终止,若读取多个tag,则会持续直到用户取消或超过60秒。

6.session终止后,若要再读取,需要创建一个新的session并开启。

7.info.plist中设置的描述将在读取时显示给用户。

开发配置:

配置项目:2个步骤

1.需要在Xcode打开Near Field Communication Tag Reading Capability(刚发布的xcode中不含此选项,请自行添加)

2.info.plist设置隐私选项Scan UsageDescription

开发: 2个步骤

1.设置一个delegate adopt NFCNDEFReaderSessionDelegate Protocol

2.创建一个NFCNDEFReaderSession,调用begin方法

3.实现代理方法,处理对应回调。

最后附上相关参考资料:

 WWDC Session

NFC Card Emulation 解释

NFC 在iPhone上如何工作

GitHub Demo

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容