问题标签 [core-nfc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
46 浏览

ios - 如何从在 Android 设备上模拟的标签中读取 iOS 信息?

基本上,我需要 iOS 应用程序像这个视频中那样。

有没有这样做的例子或教程(没有 Flomio sdk)?

0 投票
0 回答
793 浏览

ios - 如何使用 CoreNFC 检测 Mifare Plus 芯片

我想检测 Mifare Plus 卡。但是每当我得到扫描视图时,什么都没有发生。也不会调用错误回调或成功块。有没有办法读取这张卡片?

卡转储:

** TagInfo 扫描(版本 4.23)2019-08-08 13:05:13 ** 报告类型:外部 -- IC INFO ---------- --------

IC制造商:恩智浦半导体

IC 类型:MIFARE Plus X (MF1PLUS60)

-- NDEF ------------------

不存在 NDEF 数据存储:格式化后的最大 NDEF 存储大小:716 字节

- 额外的 - - - - - - - - - - - - - - -

内存大小:2 kB

  • 32 个扇区,每个扇区 4 个块
  • 128 个块,每个块 16 个字节

    检测到安全级别:安全级别 1

ATS 历史字节详细信息:NXP IC 信息编码芯片类型:MIFARE Plus 内存大小:未指定芯片版本:已发布芯片

代:未指定的虚拟卡选择功能:* 支持 VCS、VCSL 和 SVC * 支持所有安全级别 -- FULL SCAN -------------------------- ----

支持的技术: MIFARE Classic 兼容 ISO/IEC 14443-3(A 型)兼容 ISO/IEC 14443-2(A 型)兼容

Android技术资料: 标签说明:

  • 标签:技术 [android.nfc.tech.NfcA、android.nfc.tech.MifareClassic、android.nfc.tech.NdefFormatable]
  • 最大收发长度:253 字节
  • 默认最大收发超时:618 ms

    详细协议信息: ID: 04:6D:19:8A:CE:49:80 ATQA: 0x4400 SAK: 0x08 ATS: 0x0C75778002C1052F2F01BCD600000816

  • 最大限度。接受的帧大小:64 字节(FSCI:5)

  • 支持的接收率:
    • 106、212、424、848 kbit/s(DR:1、2、4、8)
  • 支持的发送速率:
    • 106、212、424、848 kbit/s(DS:1、2、4、8)
  • 支持不同的发送和接收速率
  • SFGT:302.0 美元(SFGI:0)
  • FWT:77.33 毫秒(FWI:8)
  • 不支持 NAD
  • 支持 CID
  • 历史字节:0xC1052F2F01BCD6 |..//...|

    内存内容:Sector 0 (0x00) [00] r-- 04 6D 19 8A CE 49 80 08 44 00 12 01 11 00 08 16 |.m...I..D........| [01] rW- 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 |......| [02] rwi 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |......| [03] WXW A0:A1:A2:A3:A4:A5 7C:37:88 00 XX:XX:XX:XX:XX:XX MAD 访问密钥(未知密钥)扇区 1 (0x01) [04] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [05] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [06] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [07] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 2 (0x02) [08] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [09] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [0A] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [0B]???XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 3 (0x03) [0C] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [0D]???-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [0E] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [0F] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 4 (0x04) [10] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [11] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [12] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [13] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 5 (0x05) [14] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [15] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [16] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [17] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 6 (0x06) [18] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [19] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [1A] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [1B] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 7 (0x07) [1C] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [1D]???-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [1E] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [1F]???XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 8 (0x08) [20] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [21] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [22] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [23] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 9 (0x09) [24] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [25] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [26] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [27] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 10 (0x0A) [28] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [29] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [2A]???-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [2B] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 11 (0x0B) [2C] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [2D]???-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [2E] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [2F]???XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 12 (0x0C) [30] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [31] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [32] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [33] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 13 (0x0D) [34] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [35] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [36] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [37] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 14 (0x0E) [38] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [39] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [3A]???-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [3B] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 15 (0x0F) [3C] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [3D]???-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [3E] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [3F]???XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 16 (0x10) [40] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [41] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [42] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [43] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 17 (0x11) [44] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [45] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [46] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [47] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 18 (0x12) [48] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [49] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [4A]???-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [4B] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 19 (0x13) [4C] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [4D]???-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [4E]??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [4F]???XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 20 (0x14) [50] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [51] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [52] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [53] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 21 (0x15) [54] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [55] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [56] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [57] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 22 (0x16) [58] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [59] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [5A]???-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [5B] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 23 (0x17) [5C] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [5D]???-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [5E] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [5F]???XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 24 (0x18) [60] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [61] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [62] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [63] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 25 (0x19) [64] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [65] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [66] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [67] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 26 (0x1A) [68] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [69] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [6A]???-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [6B] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 27 (0x1B) [6C] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [6D]???-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [6E]???-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [6F]???XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 28 (0x1C) [70] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [71] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [72] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [73] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 29 (0x1D) [74] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [75] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [76] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [77] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 30 (0x1E) [78] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [79] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [7A]???-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [7B] ??? XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

扇区 31 (0x1F) [7C] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [7D]???-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [7E] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [7F]???XX:XX:XX:XX:XX:XX --:--:-- -- XX:XX:XX:XX:XX:XX (未知密钥) (未知密钥)

r/R=read, w/W=write, i/I=increment, d=decr/transfer/restore, x=r+w, X=R+W 数据块:r/w/i/d:key A |B, R/W/I:key B only, I/i 暗示 d, *=value 块尾(顺序: key A, AC, key B): r/w:key A, W:key B, R:密钥 A|B, (r)=可读密钥 AC:W 表示 R+r,R 表示 r

0 投票
1 回答
421 浏览

core-nfc - IOS Beta 13 CoreNFC NDEF Lock NFC 标签与 writeLock()

我们已经使用 Beta 13 成功写入 NFC 标签,但尝试使用 writeLock() 函数锁定它们却没有运气。执行后,我们返回 nil 的结果,但它肯定没有锁定。有任何线索或有人设法完成这项工作吗?

代码非常简单(但可能做了一些愚蠢的事情!) - 尝试不同的 NXP NTAG213 标签变体:

0 投票
3 回答
789 浏览

ios - 在 Swift 中使用 application/vnd.wfa.wsc 创建 NDEF WiFi 记录

我正在尝试在 Swift 中创建 application/vnd.wfa.wsc 有效负载。我在这里为 Android 找到了这篇文章: Creating an NDEF WiFi record using application/vnd.wfa.wsc in Android

我坚持创建我想在 NFC 标签上写入的有效负载。我试图将 java 代码转换为 swift 并将有效负载写入 NFC 标签,但我无法使用 android 手机读取数据。

有人可以指出我做错了什么吗?

0 投票
3 回答
8078 浏览

ios - 在 iOS 13 中读取 NFC 卡的 UID

我想检索 MiFare 卡的 UID。我使用的是 iPhone X、Xcode 11 和 iOS 13。

根据本网站,我知道在 iOS 13 之前这是不可能的(特别是读取 UID):https ://gototags.com/blog/apple-expands-nfc-on-iphone-in-ios-13/和这家伙:https ://www.reddit.com/r/apple/comments/c0gzf0/clearing_up_misunderstandings_and/

手机 NFC 读取器正确检测卡,但唯一标识符始终返回为空或 nil。但是我可以读取有效负载并且与 iOS 无关,但我可以在 Android 中执行此操作(确认卡没有故障或只是奇怪)

苹果示例项目:https ://developer.apple.com/documentation/corenfc/building_an_nfc_tag-reader_app

我知道这些类型的黑客:CoreNFC not reading UID in iOS

但它们已关闭,过去仅在短时间内适用于 iOS 11。

0 投票
1 回答
787 浏览

ios - 在 CoreNFC 中使用 sendMiFareCommand 编写 NDEF 消息

我们正在使用 iOS 13 的新 NFC 写入功能将数据写入 MiFare Ultralight NFC 标签,并且使用writeNDEF方法可以完美运行

但是当我们使用 NFC 标签的密码保护功能时,我们需要通过低级方法sendMiFareCommand发送发送 NDEF 消息

我们还没有找到任何关于如何将 NDEF 格式转换为 sendMiFareCommand 方法所需的低级数据的文档

任何有关 Swift 的示例或文档将不胜感激。

0 投票
1 回答
1470 浏览

ios - NFC NDEF 写入 IOS 编码

我正在开发一个可以读取和写入 NFC 标签的颤振应用程序。在 Android 上它工作得很好。现在我正在努力在 IOS 上实现 NFC 写入,因为它现在可用。

我确实让应用程序将文本记录写入标签。但不知何故,它是用 UTF16 编写的,这让事情变得支离破碎。

如何使用 UTF-8 编码的字符串创建 NFCNDEFPayload.wellKnownTypeTextPayload?

0 投票
0 回答
1554 浏览

ios - NFC iOS:无通知读取 NFC 标签

当我在应用程序处于后台时读取 NFC 标签时,会出现一条通知。我已将 URL 方案数据myurl://...写入 NFC 标签。因此,当我点击通知时,我的应用程序会打开并根据有效负载采取必要的操作。

但是,当我的应用程序在前台时,仍然会出现通知。而且,我必须点击通知,以便可以对应用程序执行操作。

我可以在没有默认 NFC 读取面板和通知的情况下直接读取 NFC 标签吗?

在此处输入图像描述

0 投票
0 回答
235 浏览

ios13 - CoreNFC-IOS13:连接iso15693标签后,iso15693Tag.isAvailable总是返回false

连接到ios15693NFC 标签后,当我检查时iso15693Tag.isAvailable,它总是返回 false,但我能够获取系统信息详细信息。

我正在尝试连接ios15693NFC-V 类型并尝试读取数据,但无法获得结果。

我能够

  • 检测标签
  • 连接到标签
  • 获取系统信息(dsfid, afi, blockSize, blockNumber, icReference

我无法 - 从NFC-V类型中读取数据:(

session.connectNFC 标签之后,当我们尝试时iso15693Tag.isAvailable,它应该返回 true 但返回 false。

0 投票
1 回答
1298 浏览

swiftui - 如何在 SwiftUI 中使用 Core NFC?

我无法在 SwiftUI 中实现 NFCNDEFReaderSessionDelegate

在此处输入图像描述

所以我创建了一个类来实现它

NFC.swift

我可以成功扫描 NFC 标签,但它没有触发任何回调,只显示这个错误

但我实际上实现了这个方法。

如果我添加此方法,我将无法扫描标签。