Erlo

iOS NFC

时间:2019-03-09 17:02   阅读:65次   来源:博客园页面报错

点赞 打赏

×打赏

支付宝

微信

 

 

#import <CoreNFC/CoreNFC.h>


@interface ViewController ()<NFCNDEFReaderSessionDelegate>

@property (nonatomic,retain) UIButton *beginTestBtn;

@property (nonatomic,retain) UILabel *textLabel;


@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    _beginTestBtn = [[UIButton alloc]initWithFrame:CGRectMake(100, 100, 100, 50)];
    [_beginTestBtn setTitle:@"开始读取" forState:UIControlStateNormal];
    [_beginTestBtn setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
    _beginTestBtn.titleLabel.textAlignment = NSTextAlignmentLeft;
    [_beginTestBtn addTarget:self action:@selector(beginTestBtnAction) forControlEvents:UIControlEventTouchUpInside];
    
    
    _textLabel = [[UILabel alloc]initWithFrame:CGRectMake(120, 180, 200, 50)];
    _textLabel.text = @"待读取";
    _textLabel.textColor = [UIColor orangeColor];
    [self.view addSubview:_textLabel];
    
    NSLog(@"进入VC");
    
    [self.view addSubview:_beginTestBtn];
    [self.view addSubview:_textLabel];
    
    
    // Do any additional setup after loading the view, typically from a nib.
}


-(void)beginTestBtnAction
{
    
    #zs#*
     三个参数
     第一个参数:代理对象
     第二个参数:线程
     第三个参数:Session读取一个还是多个NDEF。YES:读取一个结束,NO:读取多个
     #fzs#
    
    NFCNDEFReaderSession *session = [[NFCNDEFReaderSession alloc] initWithDelegate:self queue:dispatch_queue_create(NULL, DISPATCH_QUEUE_CONCURRENT) invalidateAfterFirstRead:YES];
    
    [session beginSession];
    
}


#zs#*
 代理
 #fzs#
- (void) readerSession:(nonnull NFCNDEFReaderSession *)session didDetectNDEFs:(nonnull NSArray<NFCNDEFMessage *> *)messages {
    
    __weak typeof(self) weakself=self;
    dispatch_async(dispatch_get_main_queue(), ^{
        weakself.textLabel.text = @"读取成功";
    });
    
    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:%@",error);
    
    __weak typeof(self) weakself=self;
    dispatch_async(dispatch_get_main_queue(), ^{
        weakself.textLabel.text = @"读取失败";
    });
    
    
}

 

下一篇:苹果电脑(Mac mini或Macbook或iMac)恢...

评论留言

还没有评论留言,赶紧来抢楼吧~~

Erlo大厅()

* 这里是“吐槽厅”,所有人可看,只保留当天信息。

  • Erlo.vip2019-05-22 16:04:18Hello、欢迎使用吐槽厅,这里是个吐槽的地方。
  • 首页 笔记分享 案例展示 ERLO 搜索
    鼠标试试
    返回顶部