iOS NFC开发——Core NFC

作者: 李现科 | 来源:发表于2017-06-20 21:48 被阅读1636次

Core NFC在iOS 11中引入,用于处理NFC阅读Tag。由于目前只开放了读的权限,所以Core NFC是非常轻量级的一个框架。

NFC

上图是WWDC上苹果提供的NFC技术细分图,由于苹果支持所有格式的Tag,所以只需做大致了解即可。
使用NFC前需要注意一下几点:

  • 需要开启一个session,与其他session类似,同时只能开启一个
  • 需要App完全在前台模式
  • 每个session最多扫描60s,超时需再次开启新session
  • 配置读取单个或多个Tag,配置为单个时,会在读取到第一个Tag时自动结束session
  • 隐私描述(后文会写到如何配置)会在扫描页面显示

使用NFC,第一步需要配置Capabilities,这会自动为你生成entitlements文件中的必要配置。同时为你的App ID激活相关功能。


Capabilities

第二步需要打开隐私相关设置,向info.plist中添加Privacy - NFC Scan Usage Description。


info.plist
第三步引入Core NFC
 import CoreNFC

第四步实现NFCNDEFReaderSessionDelegate。

public protocol NFCNDEFReaderSessionDelegate : NSObjectProtocol {
    public func readerSession(_ session: NFCNDEFReaderSession, didInvalidateWithError error: Error)
    public func readerSession(_ session: NFCNDEFReaderSession, didDetectNDEFs messages: [NFCNDEFMessage])
}

第五步开始一个session,invalidateAfterFirstRead设为true时,会在首次识别时自动停止session,并在readerSession(_ session: NFCNDEFReaderSession, didInvalidateWithError error: Error)方法中抛出NFCReaderSessionInvalidationErrorFirstNDEFTagRead错误。

let session = NFCNDEFReaderSession(delegate: self, queue: nil, invalidateAfterFirstRead: true)
session?.begin()

目前Xcode Beta版本的第一个release并不支持Core NFC开发,文档已经可以查看。Xcode 9 Beta 2已支持NFC开发。

相关文章

  • iOS NFC开发(OC、swift双语实现)

    Core NFC在iOS 11中引入,用于处理NFC阅读Tag。由于目前只开放了读的权限,所以Core NFC是非...

  • iOS NFC开发——Core NFC

    Core NFC在iOS 11中引入,用于处理NFC阅读Tag。由于目前只开放了读的权限,所以Core NFC是非...

  • iOS NFC — CoreNFC

    Core NFC在iOS 11中引入,用于处理NFC阅读Tag。由于目前只开放了读的权限,所以Core NFC是非...

  • iOS11 Core NFC

    iOS11 Core NFC iPhone6开始支持NFC(Near Field Communication )...

  • iOS11 Core NFC

    About Core NFC Core NFC支持的读取数据类型: Core NFC框架特性/要求 目前支持NFC...

  • 迟来的《Core NFC》

    迟来的《Core NFC》 迟来的《Core NFC》

  • iOS11新特性NFC检测

    Core NFC是在iOS11中引入,用于处理NFC阅读Tag。目前NFC只开启了读权限,据分析应该是为了Appl...

  • iOS NFC NDEF写入遇到的一个小问题

    开发语言:objective-c 问题描述: 使用 wakdev 的 NFC工具-iOS即NFC Tools 读取...

  • iOS NFC 加密功能实现

    ios NFC加密功能实现 前言:记录一下ios开发中NFC添加密码功能,卡类型为(NFCMiFareTag --...

  • NFC的使用

    一、NFC的使用范围 苹果在iOS11上推出了NFC的功能,开发者可以根据自身的需要使用这个功能进行开发。NFC有...

网友评论

  • 吉s她Hmm:请问大神,这个不支持OC吗/
  • 阿杰的人生路:能读取RFID么
  • Lazyloading:写了下 什么都不能读取 你的能读取信息吗
  • 扣肉快快跑:请问,只开放的读的权限,能读身份证数据么?
    寂寞水蛙:暂时还读取不到,不知道为啥
  • 8242b611dd94:如果编写NFC是不是需要付费的DEVELOPER才能开发
    李现科:开启App ID的特性以及真机测试应该是要购买账号的
  • 荔枝lizhi_iOS程序猿:nfc 可以刷公交不 ios11?
    寂寞水蛙:@Sunny_张 深圳也可以刷安卓手机,作为ios开发,一直想刷手机,结果都无法实现
    荔枝lizhi_iOS程序猿:@李现科 现在安卓的手机在北京 上海已经可以刷公交了:smile:
    李现科:其实日本的公交卡iPhone早都支持了,因为人家用的技术类似银行卡。中国的那套老的标准目前iPhone无法支持,只有更新整个系统。个别城市走在前列,很快就会支持

本文标题:iOS NFC开发——Core NFC

本文链接:https://www.haomeiwen.com/subject/vmvaqxtx.html