NFCTagReaderSession не запускать сеанс чтения IOS 13 - PullRequest
0 голосов
/ 24 января 2020

В моем проекте мне нужно прочитать серийный номер тега NF C. По словам разработчика сайта Apple, это возможно в iOS 13 с использованием NFCTagReaderSession. Вот мой код для настройки NF C Тег:

@available(iOS 13.0, *)
var readerSession1: NFCTagReaderSession?
////////
//inside view will appear
if #available(iOS 13.0, *) {
                guard NFCTagReaderSession.readingAvailable else{
                    print("no nfc reading available")
                    showAlert(AlertTitle: MAppName, AlertMessage: NSLocalizedString("Your device is not compatible with NFC", comment: ""))
                    return
                }

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

///// delegate methods
@available(iOS 13.0, *)
extension myVC: NFCTagReaderSessionDelegate{
    func tagReaderSessionDidBecomeActive(_ session: NFCTagReaderSession) {

    }

    func tagReaderSession(_ session: NFCTagReaderSession, didInvalidateWithError error: Error) {

    }

    func tagReaderSession(_ session: NFCTagReaderSession, didDetect tags: [NFCTag]) {
        print("\(tags.count) new RFID-Tags detected:")
                let rfidTagObj = tags.first as! NFCISO15693Tag
                for tag in tags {
                    let rfidTag = tag as! NFCISO15693Tag
                    print("- Is available: \(rfidTag.isAvailable)")
                    print("- Type: \(rfidTag.type)")
                    print("- IC Manufacturer Code: \(rfidTag.icManufacturerCode)")
                    print("- IC Serial Number: \(rfidTag.icSerialNumber)")
                    print("- Identifier: \(rfidTag.identifier)")
                }
    }

    func readerSessionDidBecomeActive(_ session: NFCReaderSession) {

    }

    func readerSession(_ session: NFCReaderSession, didDetect tags: [NFCTag]) {
    }

    func readerSession(_ session: NFCReaderSession, didInvalidateWithError error: Error) {

    }

}

Ну, проблема в том, что мое устройство (iPhone XR iOS 13.1.3) не читает ни одного тега. Ошибка не отображается в коде. Сеанс чтения тегов не отображает какой-либо тип всплывающего окна чтения nf c, как он должен показывать. Метод делегата не запущен. Любой ответ будет оценен. Используя Xcode 11

...