iOS NFC功能开发

一、NDEF格式的

使用 NFCNDEFReaderSession。Delegate为:NFCNDEFReaderSessionDelegate

1、初始化对象

@property(strong,nonatomic)NFCNDEFReaderSession *session;

@property(strong,nonatomic)id<NFCNDEFTag> cuurentTag;

self.session = [[NFCNDEFReaderSession alloc]initWithDelegate:self queue:nil invalidateAfterFirstRead:YES]; //YES为只读一个TAG然后结束,NO为读取多个

self.session.alertMessage = @"读取卡片,请将卡片靠近手机";

[self.session beginSession]; //开始识别 弹出识别提示框

代理方法

-(void)readerSession:(NFCNDEFReaderSession *)session didDetectTags:(NSArray<__kindof id<NFCNDEFTag>> *)tags API_AVAILABLE(ios(13.0)){

  self.cuurentTag = [tags firstObject];

}

识别到卡片后会回调该方法,在该方法中可获取到tag。

2、读取卡片内容:获取到卡ID均为空,获取卡ID需要下面第二种方法。

2.1 需要先建立连接

[_session connectToTag:self.cuurentTag completionHandler:^(NSError * _Nullable error) { }];

2.2连接成功之后调用方法,可以获取到卡片的内容

[tag readNDEFWithCompletionHandler:^(NFCNDEFMessage *ndefMessage, NSError *error) { }];

3、写入NDEF内容

3.1 需要先建立连接

[_session connectToTag:self.cuurentTag completionHandler:^(NSError * _Nullable error) { }];

3.2连接成功之后调用方法获取卡片状态:判断是否可以写入

[self.cuurentTag queryNDEFStatusWithCompletionHandler:^(NFCNDEFStatus status, NSUInteger capacity, NSError * _Nullable error) {}];

状态 status == NFCNDEFStatusReadWrite 则可以写入。

3.3 写入

[self.cuurentTag writeNDEF:myMessage completionHandler:^(NSError * _Nullable error) {}];

二、iOS13新支持的类型:NFCPollingISO14443  NFCPollingISO15693  NFCPollingISO15693

使用NFCTagReaderSession。Delegate为:NFCTagReaderSessionDelegate

1.初始化对象

self.session = [[NFCTagReaderSession alloc]

                    initWithPollingOption:(NFCPollingISO14443 | NFCPollingISO15693 | NFCPollingISO15693) delegate:self queue:dispatch_get_main_queue()];

self.session.alertMessage = @"读取卡片,请将卡片靠近手机";

[self.session beginSession]; //开始识别 弹出识别提示框

代理方法

-(void)tagReaderSession:(NFCTagReaderSession *)session  didDetectTags:(NSArray<__kindof id<NFCTag>> *)tags{

  self.cuurentTag = [tags firstObject];

}

2、读取id(判断卡类型,以下以其中一种为例),内容获取方法同上

if (self.currentTag.type == NFCTagTypeMiFare) {

        id<NFCMiFareTag> mifareTag = [self.currentTag asNFCMiFareTag];

    NSData *data = mifareTag.identifier

}

3.写入方法同上使用的tag需要为具体类型的tag,如:NFCMiFareTag

[mifareTag writeNDEF:ndefMsg completionHandler:^(NSError * error) { }];

相关文章
相关标签/搜索
每日一句
    每一个你不满意的现在,都有一个你没有努力的曾经。
公众号推荐
   一个历史类的公众号,欢迎关注
一两拨千金
2019香港 六 合 彩资料大全 新民市| 闵行区| 重庆市| 丰顺县| 上犹县| 兴海县| 黔西| 宁都县| 犍为县| 岳普湖县| 什邡市| 法库县| 峨眉山市| 浪卡子县| 金昌市| 安福县| 深圳市| 德钦县| 新津县| 广安市| 上犹县| 呼伦贝尔市| 宁阳县| 文化| 平遥县| 福海县| 得荣县| 临湘市| 彰化县| 永兴县| 棋牌| 建瓯市| 马尔康县| 新野县| 恩施市| 大庆市| 玉田县| 三门峡市| 手游| 星座| 藁城市| 平湖市| 西充县| 大化| 连州市| 江津市| 永平县| 会东县| 县级市| 泾阳县| 白玉县| 义乌市| 称多县| 贵定县| 手机| 拉萨市| 辽宁省| 安仁县| 屯昌县| 湟中县| 齐齐哈尔市| 黄梅县| 临安市| 曲周县| 锡林浩特市| 康平县| 大邑县| 上杭县| 舒兰市| 深圳市| 新巴尔虎左旗| 武山县| 六安市| 当阳市| 双桥区| 林芝县| 屏东县| 繁昌县| 垦利县| 静安区| 南郑县| 厦门市| 娱乐| 托克逊县| 土默特左旗| 济源市| 罗江县| 商洛市| 阳泉市| 鹰潭市| 日照市| 靖西县| 长泰县| 忻州市| 龙州县| 德兴市| 黄浦区| 甘南县| 平谷区| 郁南县| 泰顺县| 四平市| 凤山市| 唐山市| 牡丹江市| 溧水县| 洞头县| 逊克县| 香河县| 怀化市| 吉木乃县| 读书| 贵定县| 三都| 墨玉县| 翼城县| 灌云县| 西安市| 仁寿县| 丁青县| 仁寿县| 鄄城县| 神池县| 乡城县| 阿拉善右旗| 景东| 连山| 永新县| 云浮市| 泸西县| 昌黎县| 天镇县| 西乌| 安阳县| 文成县| 平罗县| 会宁县| 宝兴县| 渑池县| 西和县| 连平县| 视频| 尖扎县| 武义县| 建宁县| 蓬莱市| 铜鼓县| 南开区| 托克逊县| 东方市| 兴业县| 青冈县| 曲周县| 汤阴县| 商河县| 昭通市| 宁夏| 称多县| 伊金霍洛旗| 德阳市| 鹤庆县| 沧州市| 尼木县| 习水县| 龙川县| 驻马店市| 阿尔山市| 崇礼县| 全州县| 兴隆县| 宣威市| 威海市| 师宗县| 方正县| 界首市| 陆良县| 木里| 嘉义市| 扎兰屯市| 怀安县| 法库县| 家居| 永顺县| 依安县| 措美县| 如皋市| 乡城县| 石台县| 读书| 叶城县| 房产| 布尔津县| 马边| 京山县| 栾川县| 福建省| 铁岭县| 芮城县| 屏山县| 麦盖提县| 长乐市| 同德县| 丰宁| 曲松县| 思茅市| 康平县| 肥东县| 满洲里市| 密山市| 孝义市| 孝义市| 高雄县| 炎陵县| 庆城县| 永丰县| 岗巴县| 多伦县| 隆子县| 精河县| 准格尔旗| 原阳县| 岳池县| 葫芦岛市| 阿勒泰市| 镇坪县| 三都| 徐州市| 陇南市| 炎陵县| 城步| 盐山县| 威海市| 澜沧| 邵武市| 水城县| 花莲市| 海城市| 金寨县| 古田县| 砀山县| 天台县| 寻乌县| 鄂托克前旗| 永康市| 宜兰县| 通海县| 新津县| 西乌珠穆沁旗| 萨迦县| 杭锦后旗| 乾安县| 漯河市| 天柱县| 临漳县| 克什克腾旗| 宁德市| 四平市| 锡林浩特市| 高邮市| 平泉县| 金塔县| 萨迦县| 本溪| 玉山县| 剑川县| 吉木萨尔县| 交口县| 崇阳县| 昌都县| 西林县| 屏边| 城固县| 巴南区| 黎川县| 呼伦贝尔市| 讷河市| 贵州省| 东阿县| 呼图壁县| 新野县| 昌图县| 太仆寺旗| 拜泉县| 大田县| 武陟县| 开平市| 衡东县| 大冶市| 辽宁省| 阿巴嘎旗| 千阳县| 广昌县| 军事| 丹阳市| 嵩明县| 额济纳旗| 阳新县| 清丰县| 保靖县| 静海县| 林口县| 承德县| 永济市| 保德县| 新平| 武陟县| 瑞安市| 呈贡县| 闽清县| 平安县| 马公市| 郧西县| 南岸区| 凭祥市| 柞水县| 搜索| 佛山市| 南康市| 阿鲁科尔沁旗| 饶阳县| 青川县| 咸宁市| 虎林市| 石河子市| 施甸县| 神池县| 中牟县| 沙田区| 武陟县| 拉萨市| 武宁县| 鄱阳县| 宁乡县| 枣阳市| 沂南县| 双城市| 玉树县| 巴中市| 东阳市| 曲靖市| 芜湖市| 佛山市| 论坛| 普兰县| 灵武市| 普陀区| 克山县| 会昌县| 长兴县| 临城县| 英德市| 山西省| 正安县| 旌德县| 庄浪县| 德州市| 应城市| 年辖:市辖区| 望江县| 旌德县| 龙南县| 邹城市| 修文县| 恩平市| 临湘市| 南平市| 宁河县| 深水埗区| 武平县| 娱乐| 望城县| 贡嘎县| 花莲县| 临汾市| 阿坝县| 正宁县| 砚山县| 青铜峡市| 仁布县| 宜宾市| 上思县| 孟州市| 彩票| 海门市| 通州区| 鹰潭市| 百色市| 松原市| 宝兴县| 达孜县| 姜堰市| 蕲春县| 大荔县| 陕西省| 雷波县| 福建省| 福清市| 安图县| 平安县| 连云港市| 洛南县| 东平县| 南华县| 黑山县| 盘锦市| 乌兰浩特市| 邹平县| 丹江口市| 安多县| 雷州市| 安丘市| 惠州市| 河曲县| 盈江县| 如皋市| 仁布县| 铜山县| 济阳县| 桑日县| 襄汾县| 牡丹江市| 石狮市| 商城县| 桃江县| 余庆县| 齐河县| 望江县| 靖宇县| 石家庄市| 南投县| 灵川县| 睢宁县| 娱乐| 寿阳县| 宁远县| 梁平县| 泸水县| 洞头县| 吉林市| 安义县| 登封市| 余江县| 日照市| 六安市| 定远县| 拉萨市| 建阳市| 松阳县| 获嘉县| 平安县| 平遥县| 昌邑市| 手机| 和平区| 库尔勒市| 天津市| 阿克陶县| 嘉义县| 安塞县| 花垣县| 婺源县| 乌拉特前旗| 舟曲县| 清徐县| 河池市| 昭苏县| 儋州市| 拉萨市| 黑山县| 高邮市| 和平县| 青海省| 和硕县| 渭南市| 乐昌市| 德化县| 二连浩特市| 塔河县| 天柱县| 依安县| 新绛县| 安仁县| 印江| 古交市| 普兰店市| 永州市| 阳江市| 安宁市| 弥勒县| 昌邑市| 鹤山市| 温州市| 额尔古纳市| 三河市| 九寨沟县| 五常市| 水城县| 衡水市| 政和县| 斗六市| 临猗县| 阳东县| 炉霍县| 隆德县| 富源县| 岗巴县| 紫阳县| 尼玛县| 宁国市| 澄城县| http://www.yqo4j6rl3v.fun http://wap.gz1980borderc.fun http://m.yqo6j0rl3v.fun http://m.gz1980stepc.fun http://m.bo2020delays.fun http://www.yqo9j6rl0v.fun http://www.gz1980borderc.fun http://wap.gz1980tourc.fun http://wap.bo2020bloods.fun http://m.yqo5j0rl9v.fun http://www.gz1980addressc.fun http://wap.gz1980partyc.fun http://m.bo2020rises.fun http://www.yqo3j9rl7v.fun http://wap.yqo6j6rl8v.fun