5分钟集成NFC功能

NFC(Near Field Communication)简介

近场通信技术,能以非接触方式读取标签信息。
常见的银行卡、公交IC卡都是NFC标签。

WWDC17上iOS11 引入CoreNFC框架,开发者可以在iPhone 7和iPhone 7 Plus上使用这一技术,参考session 718。

Xcode 9 beta中,CoreNFC框架对simulator会编译失败,需使用真机。

需要注意的几点

Session is on demand
  • ReaderSession按需创建,整个系统在一个时刻最多只能有一个session处于工作状态,其余session会在FIFO队列中等待。
Foreground mode only
  • NFC标签读取操作只能在前台运行时进行,无法后台运行
Maximum 60 seconds of scanning per session
  • 一个session的扫描时间最长为60秒,超时未读取成功需要重新创建session
Configurable for single or multi-tag read operation
  • 可配置成单标签(读取成功一个后session关闭)或者多标签(可在60秒内读取多个标签)读取模式
Usage description will be shown over the top of your application
  • 隐私使用说明会悬浮显示在应用程序之上

集成步骤

1. 打开App ID中的NFC Tag Reading选项
5分钟集成NFC功能_第1张图片
appid.png
2. 重新生成Provisioning Profile
5分钟集成NFC功能_第2张图片
provision.png
3. 在工程中链接CoreNFC.framework
5分钟集成NFC功能_第3张图片
framework.png
4. 在Capabilities中打开NFC Tag Reading选项(在Xcode 9 beta版中没找到这个选项,略过)
5分钟集成NFC功能_第4张图片
capability.png
5. 在entitlements文件中添加键值对

com.apple.developer.nfc.readersession.formats

NDEF


entitlements.png
6. Info.plist中添加隐私说明

NFCReaderUsageDescription
银行卡


5分钟集成NFC功能_第5张图片
privacy_usage
7. 开始扫描NFC标签吧
code.png

5分钟集成NFC功能_第6张图片
final.png

总结

Enable NFC tag reading capability
Add "Privacy - NFC Scan Usage Description" in Info.plist
Add Core NFC to your application
Happy tag reading!!

你可能感兴趣的:(5分钟集成NFC功能)