从未从未从Captuvo SL22调用该数据

时间:2019-02-21 16:31:30

标签: ios swift barcode-scanner ipod honeywell

我正在SL22 Captuvo底座中为iPod建立销售点系统。我已经成功安装了iOS SDK,并且有一个正常运行的React Native桥(我可以从React Native的swift类中调用方法,而swift可以通过回调和事件发射器/侦听器将数据发送到React Native。但是,从未调用decoderDataReceived委托方法(以及其他方法)。其他委托方法(decoderReadyscanKeyAction)正在被调用。

物理扫描仪似乎正常工作。加载应用后,将调用decoderReady委托方法。我可以按设备侧面的硬件按钮打开激光,激光在读取条形码时会发出蜂鸣声并关闭。但是,没有调用用于接收解码器数据的委托方法。下面是相关代码。

import Foundation

@objc(CaptuvoBridge)
class CaptuvoBridge: RCTEventEmitter, CaptuvoEventsProtocol {
override func supportedEvents() -> [String]! {
return ["scanDetected","started"]
}

@objc func turnOn() {
print("Scanner is turning ON")
Captuvo.sharedCaptuvoDevice().addDelegate(self)
Captuvo.sharedCaptuvoDevice().startDecoderHardware()
Captuvo.sharedCaptuvoDevice().startPMHardware()
}
@objc func turnOff() {
print("Turning scanner off")
Captuvo.sharedCaptuvoDevice().stopDecoderHardware()
}
@objc func scan() {
print("Scanning...")
Captuvo.sharedCaptuvoDevice().startDecoderScanning()
}
@objc func stopScan() {
Captuvo.sharedCaptuvoDevice().stopDecoderScanning()
}

// DELEGATE METHODS
func decoderDataReceived(_ data: String!) {
// NOT CALLED
self.sendEvent(withName: "scanDetected", body: data)
}
func decoderRawDataReceived(_ data: Data!) {
// NOT CALLED
self.sendEvent(withName: "scanDetected", body: "Raw Data Received")
}
func decoderPassThroughReturn(_ data: Data!) {
// NOT CALLED
self.sendEvent(withName: "scanDetected", body: "decoder Pass Through Return Data")
}
func decoderReady() {
// IS CALLED
self.sendEvent(withName: "started", body: "Decoder ready")
}
func scanKeyAction(_ status: ScanKeyStatus) {
// IS CALLED
self.sendEvent(withName: "started", body: "Hardware scan button pressed")
}
func decoderBeeper(forGoodReadStatus isEnabled: Bool) {
// NOT CALLED
self.sendEvent(withName: "started", body: "Decoder Beeper Called")
}

// TESTING
@objc func getName(_ callback: RCTResponseSenderBlock) {
let name = Captuvo.sharedCaptuvoDevice().getName() ?? "No Name Found"
print("NAME OF CAPTUVO IS: ", name)
callback([name])
}
@objc func fakeScan() {
self.sendEvent(withName: "scanDetected", body: "12345678")
}
}

感谢您的帮助或建议。

0 个答案:

没有答案