I'm trying to use NFC. I followed those steps:
After this I imported CoreNFC and implemented those code:
@available(iOS 11.0, *)
extension EventPreviewViewController: NFCNDEFReaderSessionDelegate {
func readerSession(_ session: NFCNDEFReaderSession, didInvalidateWithError error: Error) {
let alert = UIAlertController.withOkButton(andTitle: NSLocalizedString("TitleWarning"), andText: NSLocalizedString("ErrorNFCInvalidate"), okHandler: nil)
self.present(alert, animated: true, completion: nil)
}
func readerSession(_ session: NFCNDEFReaderSession, didDetectNDEFs messages: [NFCNDEFMessage]) {
// TODO
}
}
class EventPreviewViewController: UITableViewController {
@available(iOS 11.0, *)
var nfcSession: NFCNDEFReaderSession {
return NFCNDEFReaderSession(delegate: self, queue: nil, invalidateAfterFirstRead: true)
}
@IBAction func startAccess(_ sender: UIButton) {
if #available(iOS 11.0, *) {
nfcSession.begin()
} else {
let alert = UIAlertController.withOkButton(andTitle: NSLocalizedString("TitleWarning"), andText: NSLocalizedString("ErrorNFCUnsupported"), okHandler: nil)
self.present(alert, animated: true, completion: nil)
}
}
}
Why I keep getting "Error Domain=NFCError Code=202 "Session is invalidated unexpectedly" UserInfo={NSLocalizedDescription=Session is invalidated unexpectedly}"?




