iphone如何使用CoreNFC
程序员文章站
2022-08-17 14:58:07
由于本人的工作和移动支付有关,所以一直对nfc技术比较关注。看到wwdc会议ios 11开放了corenfc,赶紧了解一下。
使用nfc前需要注意一下几点:
需要开启一个session,与其他s...
由于本人的工作和移动支付有关,所以一直对nfc技术比较关注。看到wwdc会议ios 11开放了corenfc,赶紧了解一下。
使用nfc前需要注意一下几点:
需要开启一个session,与其他session类似,同时只能开启一个
需要app完全在前台模式
每个session最多扫描60s,超时需再次开启新session
配置读取单个或多个tag,配置为单个时,会在读取到第一个tag时自动结束session
隐私描述(后文会写到如何配置)会在扫描页面显示
在苹果开发者网站创建一个appid, 并且确保nfc tag reading有效。
在.plist文件中加入以下项
nfcreaderusagedescription we are going to use you nfc! com.apple.developer.nfc.readersession.formats ndef
导入framework
#import
设置委托
@interface yourviewcontroller : uiviewcontroller
编辑代码viewdidload
- (void)viewdidload { [super viewdidload]; // do any additional setup after loading the view, typically from a nib. nfcndefreadersession *session = [[nfcndefreadersession alloc] initwithdelegate:self queue:dispatch_queue_create(null, dispatch_queue_concurrent) invalidateafterfirstread:no]; [session beginsession]; }
委托方法
- (void) readersession:(nonnull nfcndefreadersession *)session diddetectndefs:(nonnull nsarray *)messages { for (nfcndefmessage *message in messages) { for (nfcndefpayload *payload in message.records) { nslog(@"payload data:%@",payload.payload); } } }
在授权文件中加入key
com.apple.developer.nfc.readersession.formats ndef
nfc tag淘宝上可以买到,挺便宜的。
android手机装个app往tag写入数据就可以开始测试了。
apple什么时候可以真正开放nfc的卡模拟方式就好了。只是开放读卡器模式应用场景还是太受限了。