ios NFC尝试

非常感谢大家利用自己宝贵的时间来阅读我的文章 ,  这篇文章主要写我今天尝试性的用了一下ios11出的coreNFC,阅读中如果发现什么错误和可优化的地方 , 希望可以得到你的指点 , 有任何不妥的地方 欢迎指正。喜欢的可以关注下我的简书我的博客

昨天IOS11开始推送升级了,不知道小伙伴们都升级了么,果断先把SE测试机升级了,然后索性把xcode9也升了,看了看X的模拟器,一个字,丑。。。然后就是录屏、AR什么,最后想起了苹果一直藏着掖着的NFC功能,那肯定是要搞搞事情的啊,因为刚开始没看开发者文档,最后在我的6s上试了一下发现不支持,wtf,最后去官方文档中看到了这么一句

Reading NFC NDEF tags is supported on iPhone 7 and iPhone 7 Plus.

很郁闷很火大,可怜穷*的我和公司,都没有支持机型啊,有支持设备的小伙伴可以试一下看看行不行,能把结果告诉我一下那就再好不过了,好了现在看看怎么做

首先,去开发者中心注册支持NFC功能的APPID,流程如下图所示

回到工程里,在plist里添加请求权限字段NFCReaderUsageDescription,然后添加类型为array的com.apple.developer.nfc.readersession.formats的字段,然后添加一个item为NDEF


然后按照下图进行配置

代码:

#import  <CoreNFC/CoreNFC.h>

@interface ViewController () <NFCNDEFReaderSessionDelegate>

初始化

_session = [[NFCNDEFReaderSession alloc] initWithDelegate:self queue:dispatch_queue_create(NULL, DISPATCH_QUEUE_CONCURRENT) invalidateAfterFirstRead:NO];

_session.alertMessage = @"我要NFC权限";


开始

[_session beginSession];

结束

[_session invalidateSession];

代理方法

- (void)readerSession:(NFCNDEFReaderSession *)session didDetectNDEFs:(NSArray*)messages

{

for (NFCNDEFMessage *message in messages) {

for (NFCNDEFPayload *payload in message.records) {

NSLog(@"Payload data:%@",payload.payload);

}

}

}

- (void)readerSession:(NFCNDEFReaderSession *)session didInvalidateWithError:(NSError *)error

{

NSLog(@"%@",[error description]);

}

基本上就是这些啦,希望看到的小伙伴能够给个反馈。

参考链接

iOS 11 Core NFC - any sample code?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一.环境 系统:iOS 11+;(现在还没推送,可以使用iTunes通过固件升级); 开发工具:Xcode9.0+...
    WHZ闹哪样阅读 3,796评论 2 7
  • 前言:Apple developers 上阅读,以及自己对NFC的理解。IOS11 开放了 读取EDEF标准格式的...
    HotRay阅读 5,226评论 2 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • 简介 GCD(Grand Central Dispatch)是在macOS10.6提出来的,后来在iOS4.0被引...
    sunmumu1222阅读 901评论 0 2
  • 原文链接: http://fighting300.com... 大家可能听过NFC这项功能,或者有可能你每天都在使...
    fighting300阅读 4,645评论 10 8