Ошибка кода 202 при использовании считывателя NF C со Swift - PullRequest
0 голосов
/ 03 февраля 2020

Я пытаюсь создать читатель NF C с SwiftUI на IoS 13.1.3, но все еще с NFCError Code = 202 «Сеанс неожиданно аннулирован» Конечно, NF C Чтение тегов было включено, а также описание в файле конфиденциальности. Упомянутый вопрос имеет ту же проблему, но не решена ни одним из предложенных ответов. Вот код:

import Foundation
import Combine
import CoreNFC

final class CardReader: NSObject, NFCNDEFReaderSessionDelegate {
 var readerSession: NFCNDEFReaderSession?

 func readerSession(_ session: NFCNDEFReaderSession, didInvalidateWithError error: Error) {
     print("Invalidate \(error)")
 }

 func readerSession(_ session: NFCNDEFReaderSession, didDetectNDEFs messages: [NFCNDEFMessage]) {
     print("reader session")
 }
 func startScan(){
    readerSession = NFCNDEFReaderSession(delegate: self,
                                         queue: DispatchQueue(label:"queueName", attributes: .concurrent), invalidateAfterFirstRead: true)
    readerSession?.alertMessage = "Hold your iPhone near an NFC card."
    readerSession?.begin()
 }
}

и это называется так:

   struct DefaultView: View {
     var baseTag: CardReader = CardReader()

     var body: some View {
        VStack {
           Button(action: {
            self.baseTag.startScan()

          }) {
            Text("NFC Scan")
        }
       }
     }
  }

Ошибка следующая

Invalidate Error Domain=NFCError Code=202 "Session invalidated unexpectedly" UserInfo={NSLocalizedDescription=Session invalidated unexpectedly}
...