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,流程如下图所示

ios NFC尝试_第1张图片
ios NFC尝试_第2张图片

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


然后按照下图进行配置

ios NFC尝试_第3张图片

代码:

#import 

@interface ViewController ()

初始化

_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 NFC尝试)