Программируем под IOS
Anonymous
Как вызвать метод в родном IOS для отправки данных во Flutter?
Сообщение
Anonymous » 22 сен 2024, 11:52
Мне нужно отправить некоторые данные со стороны IOS на сторону dart. Я использую метод канала для вызова метода со стороны IOS, но получаю замечание:
Сторона Flutter:
Код: Выделить всё
static const platform = const MethodChannel('samples.flutter.dev/battery');
platform.setMethodCallHandler(myUtilsHandler); // I am calling it in initState
Future myUtilsHandler(MethodCall methodCall) async {
print("myUtilsHandler");
switch (methodCall.method) {
case "someMethod":
print(json.decode(methodCall.arguments));
break;
case 'someMethod2':
print("someMethod2");
break;
default:
print("default");
}
}
Встроенная сторона IOS:
Код: Выделить всё
let controller: FlutterViewController = window?.rootViewController as! FlutterViewController
let batteryChannel = FlutterMethodChannel(name: "samples.flutter.dev/battery",binaryMessenger: controller.binaryMessenger)
batteryChannel.invokeMethod("someMethod", arguments: "someValue")
Примечание: наоборот работает нормально!
Подробнее здесь:
https://stackoverflow.com/questions/618 ... to-flutter
1726995157
Anonymous
Мне нужно отправить некоторые данные со стороны IOS на сторону dart. Я использую метод канала для вызова метода со стороны IOS, но получаю замечание: Сторона Flutter: [code] static const platform = const MethodChannel('samples.flutter.dev/battery'); platform.setMethodCallHandler(myUtilsHandler); // I am calling it in initState Future myUtilsHandler(MethodCall methodCall) async { print("myUtilsHandler"); switch (methodCall.method) { case "someMethod": print(json.decode(methodCall.arguments)); break; case 'someMethod2': print("someMethod2"); break; default: print("default"); } } [/code] Встроенная сторона IOS: [code]let controller: FlutterViewController = window?.rootViewController as! FlutterViewController let batteryChannel = FlutterMethodChannel(name: "samples.flutter.dev/battery",binaryMessenger: controller.binaryMessenger) batteryChannel.invokeMethod("someMethod", arguments: "someValue") [/code] Примечание: наоборот работает нормально! Подробнее здесь: [url]https://stackoverflow.com/questions/61893722/how-to-invoke-method-in-native-ios-to-send-data-to-flutter[/url]