苹果手机NFC防伪溯源: 随时随地查验带有rfid芯片标签的茅台酒的真伪

1,572 阅读4分钟

#概述

近场通信(Near Field Communication,简称NFC),是一种新兴的技术,使用了NFC技术的设备(例如移动电话)可以在彼此靠近的情况下进行数据交换,是由非接触式射频识别(RFID)及互连互通技术整合演变而来的,通过在单一芯片上集成感应式读卡器、感应式卡片和点对点通信的功能,利用移动终端实现移动支付、电子票务、门禁、移动身份识别、防伪等应用。

最近在电商平台抢了一瓶茅台53,去自提点提货,要验酒,那边说不提供验酒器官,官方说可以在官网下载app ,去官网www.china-moutai.com 找了一遍发现只有这个 (www.china-moutai.com/maotaijitua…

image.png

www.moutaichina.com/maotaigf/fw…

image.png

发现只有android版本的app,然后去appstore下载了几个安装后都是要付款的,年费居然要100多, 想着那我自己开发一个好了。

然后就查资料,发现并不是很难。

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

blog.csdn.net/songkuipeng…

github.com/purkylin/NF…

Core NFC

image.png

检测NFC标签,读取包含NDEF数据的消息,并将数据保存到可写标签。

您的应用程序可以读取标签,为用户提供有关其物理环境和其中现实世界对象的更多信息。使用Core NFC,您可以阅读1到5类型的近场通信(NFC)标签,这些标签包含NFC数据交换格式(NDEF)中的数据。例如,您的应用程序可能会向用户提供有关他们在商店中找到的产品或他们在博物馆参观的展品的信息。

您的应用程序还可以将数据写入标签,并与ISO 7816、ISO 15693、FeliCaTM和MIFARE®标签等协议特定的标签进行交互。

Core NFC不适用于应用程序扩展,它需要支持近场通信的设备。要确定是否提供支持,请在开始阅读器会话之前检查readingAvailable类属性。

基础会话

Building an NFC Tag-Reader App

在您的应用程序中阅读带有NDEF消息的NFC标签。

Adding Support for Background Tag Reading

允许用户在没有应用程序的情况下使用背景标签读取扫描NFC标签。

property list key NFCReaderUsageDescription

一条消息,告诉用户为什么应用程序请求访问设备的NFC硬件。

Name:  Privacy - NFC Scan Usage Description

Reader Sessions

创建阅读器会话来扫描和检测NFC标签。

class NFCNDEFReaderSession

用于检测NFC数据交换格式(NDEF)标签的阅读器会话。

class NFCTagReaderSession

用于检测ISO7816、ISO15693、FeliCa和MIFARE标签的阅读器会话。

class NFCVASReaderSession

用于处理增值服务(VAS)标签的阅读器会话。

class NFCReaderSession

表示用于检测NFC标签的读取器会话的抽象基类。

protocol NFCReaderSessionProtocol

用于与读者会话交互的通用界面。

Near Field Communication Tag Reader Session Formats Entitlement

应用程序可以读取的近场通信数据格式。

Key:  com.apple.developer.nfc.readersession.formats

Tag Types

使用适当的标签类型界面读取标签数据,并将数据保存到可写标签。

Creating NFC Tags from Your i​Phone

将数据保存到标签中,并使用本机标签协议与他们交互。

protocol NFCISO7816Tag

与ISO 7816标签交互的界面。

protocol NFCISO15693Tag

与ISO 15693标签交互的界面。

protocol NFCFeliCaTag

与FeliCaTM标签交互的界面。

protocol NFCMiFareTag

与MIFARE®标签交互的界面。

protocol NFCNDEFTag

与NDEF标签交互的界面。

enum NFCTag

表示NFC标签对象的对象。

class NFCTagCommandConfiguration

用于定义NFC标签命令配置的一组参数。

NDEF Messages and Payloads

class NFCNDEFMessage

由有效负载记录数组组成的NFC NDEF消息。

class NFCNDEFPayload

NFC NDEF消息中的有效负载记录。

Errors

struct NFCReaderError

一种错误类型,指示阅读器会话或标签的问题。

let NFCTagResponseUnexpectedLengthErrorKey: String

用户信息字典密钥,指示收到的响应包长度无效。

Structures

struct NFCFeliCaPollingResponse

struct NFCFeliCaRequestSpecificationVersionResponse

struct NFCFeliCaRequsetServiceV2Response

struct NFCFeliCaStatusFlag

struct NFCISO15693MultipleBlockSecurityStatus

struct NFCISO15693RequestFlag

struct NFCISO15693ResponseFlag

struct NFCISO15693SystemInfo

实现大概跟之前的参考链接差不多,demo写完了下班回家试一试 能不能读取茅台的信息 😂