I have code that starts iOS SDK, launches new screen and returns result in delegate.
This is how I start SDK that launches its screen
let myChannel = FlutterMethodChannel(name: "samples.flutter.dev/channel", binaryMessenger: controller.binaryMessenger)
myChannel.setMethodCallHandler { (call, result) in
if call.method == "myChannel" {
let router = ViewRouter()
router.delegate = controller
self.navigationController?.pushViewController(UIHostingController(rootView: ContentViewQID().environmentObject(router)), animated: false)
// Need to recieve result here and send it to flutter
// result("here need to be result")
}
}
And this is where I get the result
extension FlutterViewController : FinalResultDelegate {
public func result(opticalResult: OpticalResult?,
electronicResult: ElectronicResult?,
finalResult: FinalResult?) {
guard let opticalResult = opticalResult,
let electronicResult = electronicResult,
let finalResult = finalResult else {
return
}
// Currently recieving the result here
}
}
And I don't understand how can I send result from FlutterViewController extension
to Flutter