Tag: Corenfc

在Swift中使用CoreNFC构建NFC扫描仪应用

近场通信(NFC)是一种技术,它可以在一定距离(通常约4厘米)内的两个设备之间实现非接触式通信。 如今,NFC已用于非接触式支付系统,电子身份证,电子票证中,并用于共享信息,例如联系人,照片,视频或URL。 可以用于使用NFC读取信息的此类标签或卡称为NFC标签。 根据维基百科,在完整的NFC设备中可以执行3种通信模式: NFC卡仿真 使支持NFC的设备(例如智能手机)像智能卡一样工作,允许用户执行交易(例如付款或票务)。 NFC读/写器 使启用NFC的设备能够读取存储在标签或智能海报中嵌入的廉价NFC标签上的信息。 NFC对等 使两个启用NFC的设备相互通信,以特定方式交换信息。 iOS中NFC的当前状态 iOS中的NFC始于2014年的Apple Pay发行。iPhone7和iPhone 7 Plus是第一批内置NFC硬件的设备,可用于使用Apple Pay执行非接触式支付。 但是,除了Apple Pay功能之外,Apple没有提供任何API供第三方开发人员使用NFC功能。 苹果最终在iOS 11中引入了CoreNFC框架,该框架使第三方开发人员能够在其应用程序中读取NFC标签。 当应用程序在前台运行时,该API仅支持读取NFC标签。 在iOS 12中,随着Apple新款iPhone的发布:Xr,Xs,Xs Max,Apple终于引入了扫描NFC标签的功能,而无需使用这些设备运行应用程序。 它还使用Apple Universal Link机制处理将扫描重定向到关联的应用程序。 截至目前,CoreNFC还无法写入NFC标签。 我真的希望iOS 13将为第三方应用程序提供写入标签的功能,因为执行写入所需的硬件已经存在。 我们将建立什么 在本教程中,我们将构建一个充当产品扫描程序的简单应用程序。 这是该应用程序的主要功能: 该应用程序将扫描NFC标签并获取关联的URL,以检索产品SKU ID; 然后,该应用会使用特定的SKU ID搜索其本地数据存储; 如果找到,该应用程序将显示产品的详细信息,例如名称,图像,描述,价格和可用性; 使用Apple Universal Link和Firebase托管无需运行应用程序即可扫描NFC标签。 开始项目 您可以从下面的GitHub存储库中克隆入门项目源代码: alfianlosari / NFCScanneriOSStarter NFC产品扫描仪iOS演示应用程序的入门项目– alfianlosari / NFCScanneriOSStarter github.com 入门项目包含所有自定义表格视图单元格,将在应用程序UI中使用的资产以及Product模型。 产品型号和本地数据存储 我们使用具有几个属性的Product模型来表示产品。 请记住,产品ID是每个产品的唯一标识符,商店将使用它来查找产品。 […]