Improve NFC history readers and prepare production build
This commit is contained in:
@ -25,14 +25,14 @@ class ApduResponse {
|
||||
}
|
||||
|
||||
func getSw1() -> UInt8{
|
||||
return sw1!
|
||||
return sw1 ?? 0
|
||||
}
|
||||
|
||||
func getSw2() -> UInt8{
|
||||
return sw2!
|
||||
return sw2 ?? 0
|
||||
}
|
||||
|
||||
func getData() -> Data{
|
||||
return data!
|
||||
return data ?? Data()
|
||||
}
|
||||
}
|
||||
|
||||
@ -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()
|
||||
|
||||
@ -20,15 +20,15 @@ class Emoney {
|
||||
}
|
||||
|
||||
func getCardNumber() -> String {
|
||||
return self.cardNumber!
|
||||
return self.cardNumber ?? ""
|
||||
}
|
||||
|
||||
func getCardType() -> String {
|
||||
return self.cardType!
|
||||
return self.cardType ?? ""
|
||||
}
|
||||
|
||||
func getRiwayatList() -> [RiwayatCard] {
|
||||
return self.riwayatList!
|
||||
return self.riwayatList ?? []
|
||||
}
|
||||
|
||||
func isTampilRiwayat() -> Bool {
|
||||
@ -60,7 +60,7 @@ class Emoney {
|
||||
}
|
||||
|
||||
func getCardLabel() -> String {
|
||||
return self.cardLabel!
|
||||
return self.cardLabel ?? ""
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user