Improve NFC history readers and prepare production build
This commit is contained in:
@ -28,9 +28,9 @@ public class ApduRunner: NSObject, NFCTagReaderSessionDelegate {
|
||||
}
|
||||
|
||||
func startScan() {
|
||||
let langCode = Locale.current.languageCode
|
||||
let langCode = Locale.current.languageCode ?? "en"
|
||||
self.sessionEx = NFCTagReaderSession(pollingOption: [.iso14443, .iso18092], delegate: self)
|
||||
self.sessionEx?.alertMessage = "scanMessage".localizeString(string: langCode!)
|
||||
self.sessionEx?.alertMessage = "scanMessage".localizeString(string: langCode)
|
||||
self.sessionEx?.begin()
|
||||
}
|
||||
|
||||
@ -47,28 +47,31 @@ public class ApduRunner: NSObject, NFCTagReaderSessionDelegate {
|
||||
debugLog("Nfc Tag???.")
|
||||
return
|
||||
}
|
||||
if case NFCTag.iso7816(_) = tags.first! {
|
||||
sessionEx?.connect(to: tags.first!) { [self] (error: Error?) in
|
||||
guard let firstTag = tags.first else {
|
||||
return
|
||||
}
|
||||
if case NFCTag.iso7816(_) = firstTag {
|
||||
sessionEx?.connect(to: firstTag) { [self] (error: Error?) in
|
||||
if let err = error {
|
||||
debugLog("Error connecting to Nfc Tag" + err.localizedDescription)
|
||||
return
|
||||
}
|
||||
debugLog("Nfc Tag is connected.")
|
||||
if (self.callback != nil){
|
||||
self.callback!.connected(unifiedNfcApi: self.nfcApi!)
|
||||
if let callback = self.callback, let nfcApi = self.nfcApi {
|
||||
callback.connected(unifiedNfcApi: nfcApi)
|
||||
}
|
||||
}
|
||||
} else if case .feliCa(let feliCaTag) = tags.first! {
|
||||
sessionEx?.connect(to: tags.first!) { [self] (error: Error?) in
|
||||
} else if case .feliCa(let feliCaTag) = firstTag {
|
||||
sessionEx?.connect(to: firstTag) { [self] (error: Error?) in
|
||||
if let err = error {
|
||||
debugLog("Error connecting to Nfc Tag" + err.localizedDescription)
|
||||
return
|
||||
}
|
||||
// felicaTag = feliCaTag
|
||||
debugLog("Felica is connected.")
|
||||
if (self.callback != nil){
|
||||
if let callback = self.callback, let nfcApi = self.nfcApi {
|
||||
debugLog("Felica is connected 2.")
|
||||
self.callback!.felicaConnected(unifiedNfcApi: self.nfcApi!, tag: feliCaTag)
|
||||
callback.felicaConnected(unifiedNfcApi: nfcApi, tag: feliCaTag)
|
||||
}
|
||||
// self.sendFelicaCommand(tag: feliCaTag, session: sessionEx!)
|
||||
|
||||
@ -88,7 +91,11 @@ public class ApduRunner: NSObject, NFCTagReaderSessionDelegate {
|
||||
|
||||
|
||||
func exchangeApdu(apduCommand: NFCISO7816APDU, completionHandler: @escaping CompletionHandler) {
|
||||
if case let NFCTag.iso7816(nfcTag) = self.sessionEx!.connectedTag! {
|
||||
guard let connectedTag = self.sessionEx?.connectedTag else {
|
||||
debugLog("No connected NFC tag available")
|
||||
return
|
||||
}
|
||||
if case let NFCTag.iso7816(nfcTag) = connectedTag {
|
||||
nfcTag.sendCommand(apdu: apduCommand) { (response: Data, sw1: UInt8, sw2: UInt8, error: Error?)
|
||||
in
|
||||
let resp = ApduResponse()
|
||||
|
||||
Reference in New Issue
Block a user