Здесь я пытаюсь реализовать устройство считывания магнитных карт Linea-Pro с делегатами шифрования. Метод делегата был предоставлен самим SDK, и я подтверждаю его в своем классе, но он не вызывается. тогда как делегат func magneticCardData(_ track1: String!, track2: String!, track3: String!)
может быть вызван. Может кто-нибудь сказать мне, что я скучаю.
class ViewController: UIViewController {
private let cardReader = DTDevices.sharedDevice() as! DTDevices
var params : [AnyHashable: Any] = [:]
//var keyID: Int32 = -1
override func viewDidLoad() {
super.viewDidLoad()
cardReader.addDelegate(self)
cardReader.connect()
}
}
extension ViewController:DTDeviceDelegate {
func connectionState(_ state: Int32) {
if state == CONN_STATES.CONNECTED.rawValue {
DispatchQueue.main.async {
do {
try self.cardReader.emsrSetEncryption(ALG_EH_ECC,params: self.params)
}catch let error {
print(error.localizedDescription)
}
}
}
}
func magneticCardEncryptedData(_ encryption: Int32, tracks: Int32, data: Data!) {
print(data)
}
func magneticCardEncryptedData(_ encryption: Int32, tracks: Int32, data: Data!, track1masked: String!, track2masked: String!, track3: String!) {
print(data)
}
}