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) { }];

相关文章
相关标签/搜索
每日一句
    每一个你不满意的现在,都有一个你没有努力的曾经。
公众号推荐
   一个历史类的公众号,欢迎关注
一两拨千金
四肖八码期期准精选资料 桐梓县| 东丰县| 右玉县| 香河县| 建瓯市| 四子王旗| 娱乐| 衡山县| 琼海市| 湘乡市| 卢湾区| 奈曼旗| 聊城市| 科尔| 墨玉县| 台东县| 宁化县| 北海市| 河北省| 灵璧县| 枣阳市| 三明市| 图木舒克市| 辽中县| 彝良县| 汾西县| 建瓯市| 遂宁市| 抚顺市| 云浮市| 含山县| 怀集县| 墨竹工卡县| 新晃| 杭锦旗| 镇坪县| 武城县| 微博| 商都县| 华安县| 古蔺县| 阳原县| 永新县| 红原县| 资源县| 广汉市| 韶关市| 彰武县| 教育| 荃湾区| 三明市| 白水县| 蓬溪县| 运城市| 文登市| 同德县| 襄垣县| 南和县| 鄄城县| 昌乐县| 密云县| 杭锦后旗| 南漳县| 政和县| 娄烦县| 黄梅县| 巍山| 工布江达县| 陇川县| 崇礼县| 无为县| 文山县| 尼木县| 湟中县| 竹北市| 山阴县| 闻喜县| 台南县| 遵义县| 怀远县| 应用必备| 故城县| 肥东县| 哈巴河县| 长泰县| 宾阳县| 册亨县| 冷水江市| 青阳县| 吴桥县| 新营市| 南澳县| 郑州市| 石台县| 加查县| 大港区| 建德市| 灵宝市| 泸西县| 迭部县| 禄劝| 滨州市| 衡阳市| 庆城县| 阿拉善左旗| 青田县| 日土县| 桐庐县| 惠水县| 安徽省| 巴南区| 扶余县| 新和县| 利辛县| 尤溪县| 长乐市| 和龙市| 怀化市| 南昌县| 福清市| 柯坪县| 遵义县| 宜兴市| 阿克陶县| 安平县| 福清市| 南木林县| 桂林市| 淅川县| 萍乡市| 肃北| 始兴县| 上饶市| 灵丘县| 遵义县| 连平县| 台南县| 内江市| 隆化县| 抚州市| 民勤县| 阿拉善盟| 吉木萨尔县| 界首市| 当阳市| 临澧县| 桦川县| 翼城县| 米林县| 中山市| 句容市| 景宁| 和硕县| 商都县| 上虞市| 江西省| 遂川县| 确山县| 确山县| 汶上县| 绍兴县| 巨鹿县| 化德县| 青海省| 博白县| 南平市| 博乐市| 灌云县| 禄丰县| 牙克石市| 梨树县| 阳江市| 新丰县| 页游| 乐至县| 衡南县| 义马市| 玉山县| 桐乡市| 聂荣县| 上饶市| 深泽县| 开平市| 阿拉善盟| 固镇县| 华坪县| 温泉县| 房山区| 辉南县| 开封县| 德昌县| 涟水县| 房产| 连平县| 德兴市| 关岭| 进贤县| 涞源县| 揭西县| 丹东市| 无棣县| 砚山县| 霍林郭勒市| 博白县| 蕲春县| 海口市| 商河县| 广丰县| 灵寿县| 白河县| 城口县| 东乡县| 朝阳区| 砀山县| 广西| 水城县| 油尖旺区| 津南区| 塔城市| 蚌埠市| 应城市| 兴安县| 临颍县| 海伦市| 边坝县| 南雄市| 图木舒克市| 融水| 雷山县| 平泉县| 马鞍山市| 安阳市| 繁昌县| 方城县| 元谋县| 工布江达县| 依兰县| 花莲县| 龙川县| 繁昌县| 满洲里市| 兴安县| 安徽省| 龙山县| 密云县| 松溪县| 马龙县| 苗栗市| 沽源县| 湖州市| 无棣县| 双城市| 铁岭县| 禄丰县| 重庆市| 色达县| 呼玛县| 青河县| 九江县| 梓潼县| 拜泉县| 深圳市| 盐亭县| 石嘴山市| 西乌珠穆沁旗| 赣榆县| 泰州市| 泗阳县| 和林格尔县| 霍州市| 天津市| 南江县| 镇江市| 永寿县| 枞阳县| 临猗县| 华容县| 宜宾市| 七台河市| 临泉县| 永和县| 大安市| 太和县| 大连市| 西贡区| 崇阳县| 津南区| 乐业县| 宝丰县| 涿州市| 昌邑市| 乌拉特中旗| 泸水县| 凌海市| 德惠市| 成武县| 扶绥县| 重庆市| 贵德县| 镇远县| 萍乡市| 双鸭山市| 申扎县| 浦北县| 丹阳市| 桃源县| 治多县| 镇江市| 巫山县| 榆林市| 泽州县| 安国市| 锦州市| 嘉兴市| 安泽县| 秦安县| 吉首市| 拜泉县| 鄱阳县| 江华| 卢氏县| 乌鲁木齐县| 阳西县| 富蕴县| 新乐市| 辉南县| 灵宝市| 武冈市| 玉林市| 新蔡县| 绥化市| 抚宁县| 礼泉县| 阳山县| 桦川县| 华坪县| 霸州市| 许昌市| 灌阳县| 吴旗县| 兴隆县| 万安县| 东山县| 广东省| 蓬安县| 惠安县| 基隆市| 伊川县| 抚松县| 深圳市| 科技| 太仓市| 堆龙德庆县| 常山县| 墨玉县| 涿州市| 松江区| 德安县| 东乌珠穆沁旗| 修水县| 海口市| 忻城县| 依安县| 天祝| 颍上县| 铜川市| 黑龙江省| 肇庆市| 都匀市| 清苑县| 蒙城县| 淮滨县| 莱西市| 礼泉县| 河西区| 彭阳县| 青神县| 甘洛县| 上饶县| 阿合奇县| 怀远县| 竹北市| 四会市| 游戏| 新平| 霍林郭勒市| 镇巴县| 凤山市| 肇州县| 休宁县| 义马市| 鱼台县| 玉溪市| 蕉岭县| 镇平县| 辽阳市| 青河县| 夏邑县| 运城市| 广州市| 苏尼特左旗| 景泰县| 长沙市| 孟州市| 大埔县| 中山市| 台前县| 泰来县| 历史| 汕头市| 富裕县| 基隆市| 烟台市| 林口县| 雷州市| 汾阳市| 潍坊市| 海晏县| 岢岚县| 伊川县| 海阳市| 宁陵县| 桂东县| 阜南县| 乌拉特中旗| 永和县| 阳东县| 依兰县| 西吉县| 吴忠市| 云和县| 乐都县| 娱乐| 萝北县| 遂溪县| 宁南县| 和静县| 巩留县| 错那县| 江北区| 镇雄县| 宝清县| 板桥市| 临夏县| 涟源市| 永安市| 阿克苏市| 南平市| 中西区| 鸡西市| 广安市| 囊谦县| 安康市| 葫芦岛市| 徐汇区| 时尚| 临夏市| 晴隆县| 勃利县| 仪征市| 永寿县| 上杭县| 昂仁县| 阿城市| 遂平县| 长沙市| 南雄市| 贵州省| 江孜县| 麦盖提县| 长阳| 三都| 高雄市| 抚州市| 石楼县| 曲水县| 淮南市| 定日县| 巢湖市| 仁寿县| 广丰县| 柳江县| 盐池县| 台中市| 北宁市| 宿松县| 泰州市| 鄂伦春自治旗| 英山县| 吉林省| 陇南市| 上饶市| 马边| 临江市| 沙湾县| 明光市| 奉节县| 和田县| 巩留县| 平利县| 两当县| 潞西市| 松潘县| 星子县| 岳西县| 西丰县| 岫岩| 莒南县| 辽宁省| 乌鲁木齐县| http://wap.bo2020staffs.fun http://m.gz1980tagc.fun http://wap.bo2020trusts.fun http://m.jvz1j4r6o.fun http://wap.gz1980cozpactc.fun http://wap.bo2020interests.fun http://wap.yqo7j5rl4v.fun http://m.gz1980izagec.fun http://www.bo2020counts.fun http://wap.bo2020zeshs.fun http://m.yqo9j1rl2v.fun http://www.gz1980forzc.fun http://wap.gz1980conductc.fun http://m.bo2020lacks.fun http://www.yqo3j8rl7v.fun