问题描述
我需要找到连接到我手机相同 WiFi 的可用打印机。为此,我使用了 brother SDK。
我正在使用 React Native 开发一个 Native 模块。在这个 SDK 中,我们有方法 startSearchWifi
开始搜索,当它完成操作时,方法 didFinishSearch
被调用。
这是 SWIFT 中的代码:
@objc(brotherPrinterTm)
class brotherPrinterTm: NSObject,BRPtouchNetworkDelegate {
@objc private var networkManager: BRPtouchNetworkManager?
func startSearchWiFiPrinter() {
let manager = BRPtouchNetworkManager()
manager.delegate = self
manager.startSearch(5)
self.networkManager = manager
}
// BRPtouchNetworkDelegate
func didFinishSearch(_ sender: Any!) {
guard let manager = sender as? BRPtouchNetworkManager else {
return
}
guard let devices = manager.getPrinterNetInfo() else {
return
}
for deviceInfo in devices {
if let deviceInfo = deviceInfo as? BRPtouchDeviceInfo {
print("Model: \(deviceInfo.strModelName),IP Address: \(deviceInfo.strIPAddress)")
}
}
}
@objc static func requiresMainQueueSetup() -> Bool {
return true
}
}
我想向我的 Javascript 应用公开一个名为 discoverWiFi
的方法,该方法管理所有进程并返回一个承诺。
像这样:
@objc(discoverWiFi:withResolver:withRejecter:)
func discoverWiFi(resolve:RCTPromiseResolveBlock,reject:RCTPromiseRejectBlock) {
startSearchWiFiPrinter();
...
}
问题是我不知道如何使用在调用 didFinishSearch 时在 findWiFi 中传递的 resolve
和 reject
函数。
谢谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)