ios10nfc开发,ios11nfc

iOS NFC开发(OC、swift双语实现)

Core NFC在iOS 11中引入,用于处理NFC阅读Tag。由于目前只开放了读的权限,所以Core NFC是非常轻量级的一个框架。

创新互联专注于灵山企业网站建设,自适应网站建设,商城建设。灵山网站建设公司,为灵山等地区提供建站服务。全流程按需网站建设,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

NFC最低支持硬件iPhone 7或者iPhone 7 Plus,最低支持系统为iOS 11.

下面我来跟大家分享一下NFC的使用步骤。使用NFC前需要注意以下几点:

1、需要开启一个session,与其他session类似,同时只能开启一个。

2、需要App完全在前台模式。

3、每个session最多扫描60s,超时需再次开启新session。

4、配置读取单个或多个Tag,配置为单个时,会在读取到第一个Tag时自动结束session。

5、隐私描述(后文会写到如何配置)会在扫描页面显示。

需要配置Capabilitles。使用NFC需要配置Capabilitles,这会自动为你生成entitlements文件中的必要配置。

打开隐私相关设置。向info.plist中添加Privacy - NFC Scan Usage Description。

第三步激活App ID的相关功能。如下图所示

在项目中引入Core NFC。引入Core NFC和相关代理delegate.

OC:

swift:

在viewDidLoad中开启Session

OC:

swift:

实现委托方法

OC:

swift:

除此之外,最好做个系统版本大于iOS 11的判断

OC:

swift:

iOS NFC开发(读标签与写标签)

1-苹果手机从iPhone6开始装有NFC硬件,但并未对第三方应用开放。因此iPhone6及iPhone6s不能识别NFC标签,但是可以使用系统NFC功能如:刷地铁。

2-苹果从iOS11系统开始开放NFC读取功能,同时要求iPhone7及以上机型。不满足要求则无法读取NFC标签

3-苹果在iOS13系统开放了标签写入功能,想要向标签内写入数据,需要升级系统到iOS13,同样只能写入DNEF格式数据

4-另外苹果只开放DNEF数据格式的NFC标签读取,如果数据格式不满足则无法读取。身份证、地铁卡、银行卡、大部分的工卡都不是DNEF格式,因此无法读取。(空标签只能在iOS13系统下才可以读取到)(NFC标签可以去淘宝购买,价格很便宜 9.9六个还包邮)

5-身份证、地铁卡虽然无法读取到数据,但是可以用苹果官方APP“快捷指令”进行标记,来实现一些新颖玩法(需要iPhoneXS以上机型)

6-关于后台读取,iPhoneXS以上机型支持,屏幕点亮状态下(无需解锁),手机可以读取一些特定数据格式的NFC标签。识别到标签后,可以实现拨打电话,发送邮件等功能(需解锁)

我自己写的一个关于NFC读写的APP,可以直接用来调试NFC标签

1.需要配置Capabilitles。使用NFC需要配置Capabilitles,这会自动为你生成entitlements文件中的必要配置。

2.打开隐私相关设置。向info.plist中添加Privacy - NFC Scan Usage Description。

1.NFCManager.h

1.NFCManager.m

苹果的nfc功能怎么用?

楼上几位都不是XT5吧?XT5的nfc只有一个功能,就是快速链接蓝牙,没有配对过的手机打开nfc和蓝牙碰一下车上的nfc就自动帮你配置了

苹果ios10系统有nfc功能吗?

苹果手机没有这个功能。但是小米手机和华为还有其它品牌手机部分机型有nfc功能。

nfc相关介绍:

这个技术由非接触式射频识别(RFID)演变而来,由飞利浦半导体(现恩智浦半导体公司)、诺基亚和索尼共同研制开发,其基础是RFID及互连技术。近场通信(Near Field Communication,NFC)是一种短距高频的无线电技术,在13.56MHz频率运行于20厘米距离内。其传输速度有106 Kbit/秒、212 Kbit/秒或者424 Kbit/秒三种。目前近场通信已通过成为ISO/IEC IS 18092国际标准、ECMA-340标准与ETSI TS 102 190标准。NFC采用主动和被动两种读取模式。

NFC近场通信技术是由非接触式射频识别(RFID)及互联互通技术整合演变而来,在单一芯片上结合感应式读卡器、感应式卡片和点对点的功能,能在短距离内与兼容设备进行识别和数据交换。工作频率为13.56MHz.但是使用这种手机支付方案的用户必须更换特制的手机。目前这项技术在日韩被广泛应用。手机用户凭着配置了支付功能的手机就可以行遍全国:他们的手机可以用作机场登机验证、大厦的门禁钥匙、交通一卡通、信用卡、支付卡等等。

Iphone7 PLUS IOS10.2怎样打开NFC功能

NFC功能是打开不了的。

1、在苹果手机中,苹果iPhone 7 Plus是有nfc功能。

2、该功能就是借助NFC来实现的,是设置不了的。因为据苹果官方说,iphone 6和iPhone 6 Plus的NFC功能仅仅局限于Apple Pay,NFC的其他功能已经被苹果屏蔽掉了,根本就设置不了。

3、近场通信,英语:Near Field Communication,简称NFC , 又称近距离无线通信,是一种短距离的高频无线通信技术,允许电子设备之间进行非接触式点对点数据传输,在十厘米、3.9英寸内交换数据。

一、基本概念

NFC英文全称Near Field Communication,近距离无线通信。是由飞利浦公司发起,由诺基亚、索尼等著名厂商联合主推的一项无线技术。

二、技术

1、 安全的链接

加密无线链接需要一个公钥,而且在带内通道必须是不可见的。链接密钥通过手动PIN(比如在蓝牙中)或Diffie-Hellman自动交换(比如在无线USB中)"实时"生成。建立链接密钥后,便可启用对称加密(基于3DES和AES等)。

2、设备身份验证

即确保链接密钥以预期的验证设备而不是伪装的被动/主动中间人生成。此设置的常规方法要求连接一根线缆,以便关联和交换链接密钥和/或要求用户在两台设备上输入PIN码。

用户只需确认交易,而且只需查看相关的信息。此过程将减少设备关联所需的步骤,并最大限度地减少用户交互操作。用户无需增加任何开销即可改善安全功能。

ios NFC API

前言:

Apple developers 上阅读,以及自己对NFC的理解。

IOS11 开放了 读取EDEF标准格式的NFC,只限制iPhone 7 以上的机型。

1.iPhone NFC与Android NFC

android 一直有这个NFC功能,而且还支持各种自定义格式的NFC,IOS只支持标准的NFC换句话来说,IOS扫不出公交卡,以及以前自定义格式的NFC,这个局限性很大。Android 还可以写入,IOS根本没有开放这个功能,系统也不提供像Android那样,系统直接给你开发NFC功能,(这里指的是,Android有NFC打开按钮就可以识别NFC),Apple pay 也是得打开NFC出现图标,才能使用根本不会像Android那样,所以说NFC开发是很局限的。

2.开发NFC core 这个框架 难易

NFC core 是一个轻量级的框架,相对比IOS新推出的任何框架都简单!标准的Apple API,一个基类 使用子类模式。

Reader Sessions 基类

NFCNDEFReaderSession NDEF格式的子类

具体操作如下:

使用sessions, 先实例化出来,sessions 实例化,直接带代理和在那个 线程读取NFC,一般都是写主线程,然后使用 begin 方法开启,这样就可以开启NFC识别了!数据在代理回调方法里获取数据,然后取值。

3.IOS NFC在我们生活中有什么作用呢

Apple pay 这个在中国根本是行不通,微信支付,支付宝支付,目前普遍流行使用。

NFC在Android 手机已经存在很长时间了,但是这项技术功能一直是不温不火。

这项技术没有什么突破性,没有什么实质性的作用,但是他有很实在的传输功能,类似蓝牙都是鸡肋。

Core NFC包含以下内容

Reader Sessions 这个是基类!

NFCNDEFReaderSession 子类,只能读取NDEF的NFC,什么公交卡 什么自定义格式的想都别想了,要标准的NDEF!目前我测试 除了标准的,其他的不可以。我们开发就是用这个类。

1.下面我来说下NFCReaderSession.h文件。

@protocol NFCReaderSession NSObject

这个就是用来判读是否读取,成功!

这个用来提示文字用的,在nuf上方的提示字体!

开始读取数据

关闭NFC读取功能。

@end

判读是否已经激活NFC,用session isready判读

扫描到数据。Tags是数据源

扫描错误的代理,回调

@end

@interface NFCReaderSession : NSObjectNFCReaderSession

//属性设置代理

@property (nonatomic, weak, readonly) id delegate;

设置NFC回调在哪里线程

@property (nonatomic, readonly) dispatch_queue_t sessionQueue;

//实例方法

@end

以上就是NFC基类的AIP

@class NFCReaderSession;

@class NFCNDEFReaderSession;

@property (nonatomic, assign) NFCTypeNameFormat typeNameFormat; 是对应这个的 ,那个枚举对应,你可以在获取数据的时候打印,对应着每个枚举,具体枚举是什么意思,我不知道apple developers,也没找到。用的话

NFCTypeNameFormat typeName = NFCNDEFPayload.typeNameFormat;

};

这个是NFC的读取出来的属性!

API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, macos, tvos)

@interface NFCNDEFPayload : NSObjectNSSecureCoding

@property (nonatomic, assign) NFCTypeNameFormat typeNameFormat;

@property (nonatomic, copy) NSData *type;

@property (nonatomic, copy) NSData *identifier;

@property (nonatomic, copy) NSData *payload;

//实例化

@end

*@class NFCNDEFMessage

*消息类,这个里面有一个属性,就是NFC的属性。

@interface NFCNDEFMessage : NSObjectNSSecureCoding

//这个是每次读取后的NFC,可以打印的

@property (nonatomic, copy) NSArrayNFCNDEFPayload records;

// 实例化

@end

API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, macos, tvos)

@protocol NFCNDEFReaderSessionDelegate NSObject

@required

是否错误的,如果错误自行打印判断

读取成功时候返回的FNC,都在这个messages 里面,读取消息类

@end

@interface NFCNDEFReaderSession : NFCReaderSession

*是否支持NFC

@property (class, nonatomic, readonly) BOOL readingAvailable;

//实例化

实例化方法跟父类,的几个属性基本上一致!

@end


分享文章:ios10nfc开发,ios11nfc
网页地址:http://azwzsj.com/article/dsijjci.html