gpt4 book ai didi

swift - 使用iOS13无法读取电子护照的NFC芯片

转载 作者:搜寻专家 更新时间:2023-10-31 22:04:05 27 4
gpt4 key购买 nike

import UIKit
import CoreNFC

class ViewController: UIViewController, NFCTagReaderSessionDelegate {

var nfcTagReaderSession: NFCTagReaderSession?

func tagReaderSessionDidBecomeActive(_ session: NFCTagReaderSession) {
print("Tag reader did become active")
print("isReady: \(nfcTagReaderSession?.isReady)")
}

func tagReaderSession(_ session: NFCTagReaderSession, didInvalidateWithError error: Error) {
print("\(error)")
}

func tagReaderSession(_ session: NFCTagReaderSession, didDetect tags: [NFCTag]) {
// this part is never called!
print("got a Tag!")
print("\(tags)")
}

@IBAction func clickedNFC(_ sender: Any) {
nfcTagReaderSession = NFCTagReaderSession(pollingOption: [.iso14443], delegate: self)

nfcTagReaderSession?.alertMessage = "Place the device on the innercover of the passport"
nfcTagReaderSession?.begin()
print("isReady: \(nfcTagReaderSession?.isReady)")

}

}

我的权利文件中也有

<key>com.apple.developer.nfc.readersession.formats</key>
<array>
<string>NDEF</string>
<string>TAG</string>
</array>

在我的 Info.plist 中

<key>NFCReaderUsageDescription</key>
<string>Read the NFC chip of ePassports</string>
<key>com.apple.developer.nfc.readersession.iso7816.select-identifiers</key>
<array>
<string>A0000002471001</string>
</array>

我的问题是 tagReaderSession(_ session: NFCTagReaderSession, didDetect tags: [NFCTag]) 从未被调用。我错过了什么?

最佳答案

我找到了我将 00000000000000 添加到 Info.plist 中的 com.apple.developer.nfc.readersession.iso7816.select-identifiers 条目的解决方案现在看起来像这样:

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

关于swift - 使用iOS13无法读取电子护照的NFC芯片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56515747/

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