经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 移动开发 » iOS » 查看文章
iOS NFC
来源:cnblogs  作者:鸿鹄当高远  时间:2019/3/11 8:59:41  对本文有异议

 

 

  1. #import <CoreNFC/CoreNFC.h>
  2.  
  3.  
  4. @interface ViewController ()<NFCNDEFReaderSessionDelegate>
  5. @property (nonatomic,retain) UIButton *beginTestBtn;
  6. @property (nonatomic,retain) UILabel *textLabel;
  7. @end
  8.  
  9. @implementation ViewController
  10. - (void)viewDidLoad {
  11. [super viewDidLoad];
  12. _beginTestBtn = [[UIButton alloc]initWithFrame:CGRectMake(100, 100, 100, 50)];
  13. [_beginTestBtn setTitle:@"开始读取" forState:UIControlStateNormal];
  14. [_beginTestBtn setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
  15. _beginTestBtn.titleLabel.textAlignment = NSTextAlignmentLeft;
  16. [_beginTestBtn addTarget:self action:@selector(beginTestBtnAction) forControlEvents:UIControlEventTouchUpInside];
  17. _textLabel = [[UILabel alloc]initWithFrame:CGRectMake(120, 180, 200, 50)];
  18. _textLabel.text = @"待读取";
  19. _textLabel.textColor = [UIColor orangeColor];
  20. [self.view addSubview:_textLabel];
  21. NSLog(@"进入VC");
  22. [self.view addSubview:_beginTestBtn];
  23. [self.view addSubview:_textLabel];
  24. // Do any additional setup after loading the view, typically from a nib.
  25. }
  26. -(void)beginTestBtnAction
  27. {
  28. /**
  29. 三个参数
  30. 第一个参数:代理对象
  31. 第二个参数:线程
  32. 第三个参数:Session读取一个还是多个NDEF。YES:读取一个结束,NO:读取多个
  33. */
  34. NFCNDEFReaderSession *session = [[NFCNDEFReaderSession alloc] initWithDelegate:self queue:dispatch_queue_create(NULL, DISPATCH_QUEUE_CONCURRENT) invalidateAfterFirstRead:YES];
  35. [session beginSession];
  36. }
  37. /**
  38. 代理
  39. */
  40. - (void) readerSession:(nonnull NFCNDEFReaderSession *)session didDetectNDEFs:(nonnull NSArray<NFCNDEFMessage *> *)messages {
  41. __weak typeof(self) weakself=self;
  42. dispatch_async(dispatch_get_main_queue(), ^{
  43. weakself.textLabel.text = @"读取成功";
  44. });
  45. for (NFCNDEFMessage *message in messages) {
  46. for (NFCNDEFPayload *payload in message.records) {
  47. NSLog(@"Payload data:%@",payload.payload);
  48. }
  49. }
  50. }
  51. - (void)readerSession:(NFCNDEFReaderSession *)session didInvalidateWithError:(NSError *)error{
  52. NSLog(@"error:%@",error);
  53. __weak typeof(self) weakself=self;
  54. dispatch_async(dispatch_get_main_queue(), ^{
  55. weakself.textLabel.text = @"读取失败";
  56. });
  57. }

 

原文链接:http://www.cnblogs.com/jukaiit/p/10501722.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号