В моем проекте мне нужно прочитать серийный номер тега 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