gpt4 book ai didi

ios - 如何在 iOS 13 的 NFCTagReaderSession 中读取不同类型的 NFC 标签?

转载 作者:行者123 更新时间:2023-12-04 17:30:47 24 4
gpt4 key购买 nike

为了读取 NFC 标签 UID,我在 iOS 13 中使用 NFCTagReaderSession。它正在成功读取 Mifare Ultralight 标签。我可以使用此代码获取标识符:

 func tagReaderSession(_ session: NFCTagReaderSession, didDetect tags: [NFCTag]) {
if case let NFCTag.miFare(tag) = tags.first! {

session.connect(to: tags.first!) { (error: Error?) in
let apdu = NFCISO7816APDU(instructionClass: 0, instructionCode: 0xB0, p1Parameter: 0, p2Parameter: 0, data: Data(), expectedResponseLength: 16)
tag.sendMiFareISO7816Command(apdu) { (apduData, sw1, sw2, error) in
let tagUIDData = tag.identifier
} } } }

为此,我将 session 初始化设置为:

if #available(iOS 13.0, *) {
guard NFCNDEFReaderSession.readingAvailable else {
return
}

readerSession1 = NFCTagReaderSession(pollingOption: [.iso14443, .iso15693, .iso18092], delegate: self, queue: nil)
readerSession1?.alertMessage = NSLocalizedString("Hold your iPhone near an NFC.", comment: "")
readerSession1?.begin()
} else {
print("should do some fallback code")
}

它在 Mifare Ultralight 上运行良好。现在我希望我的应用程序能够读取 Apple 开发者网站中提供的所有类型的 NFC 标签。说:

1. NFCNDEFTag
2. NFCISO7816Tag
3. NFCMiFareTag
4. NFCISO15693Tag
5. NFCFeliCaTag

好吧,我的问题是……我需要在 info.plist 中为这些标签添加任何新键吗?info.plist 中已经添加了这个键:

<key>com.apple.developer.nfc.readersession.iso7816.select-identifiers</key>
<array>
<string>com.apple.developer.nfc.readersession.iso7816.select-identifiers</string>
<string>D2760000850101</string>
</array>

所有标签都需要什么设置??

最佳答案

是的。

<key>com.apple.developer.nfc.readersession.felica.systemcodes</key>
<array>
<string>12FC</string>
</array>

我不记得 12FC 值的含义,但如果你尝试阅读 ,你应该知道它。 iso18092.

我还有以下 7816 的值取自 https://www.eftlab.com/knowledge-base/211-emv-aid-rid-pix/ :

<key>com.apple.developer.nfc.readersession.iso7816.select-identifiers</key>
<array>
<string>A0000002471001</string>
<string>A000000003101001</string>
<string>A000000003101002</string>
<string>A0000000041010</string>
<string>A0000000042010</string>
<string>A0000000044010</string>
<string>44464D46412E44466172653234313031</string>
<string>D2760000850100</string>
<string>D2760000850101</string>
<string>00000000000000</string>
</array>

关于ios - 如何在 iOS 13 的 NFCTagReaderSession 中读取不同类型的 NFC 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59947960/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com