✅ Swift 端(iOS)
在 ios/Runner/AppDelegate.swift
里加几行:
Swift
let channel = FlutterMethodChannel(name: "myapp/channel", binaryMessenger: controller.binaryMessenger)
channel.setMethodCallHandler { (call, result) in
if call.method == "getX" {
result(1) // 直接返回 x = 1
} else if call.method == "getAnswer" {
result(self.getAnswer()) // 调用方法
} else {
result(FlutterMethodNotImplemented)
}
}
✅ Flutter 端(Dart)
Dart
const channel = MethodChannel('myapp/channel');
// 获取 x
final int x = await channel.invokeMethod('getX');
print(x); // 输出 1
// 调用方法
final String msg = await channel.invokeMethod('getAnswer');
print(msg); // 输出 Hello from Swift