Apple基础(Xcode④-Flutter-Platform Channels)

✅ 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
相关推荐
liulian09168 小时前
Flutter for OpenHarmony 跨平台开发:颜色选择器功能实战指南
flutter
liulian091612 小时前
Flutter for OpenHarmony 跨平台开发:BMI计算器功能实战指南
flutter·华为
xmdy586615 小时前
Flutter+开源鸿蒙实战|智安盾电商溯源平台Day1 项目搭建与整体方案拆解
flutter·开源·harmonyos
生而为虫19 小时前
Claude Code 最新版安装教程(Windows/Mac/Linux 全平台) 面向普通用户的 Claude Code 安装与模型接入指南
linux·windows·macos
小白640221 小时前
AI辅助设计Flutter蓝牙自动连接系统
人工智能·flutter
xmdy586621 小时前
Flutter+开源鸿蒙实战|智联邻里Day6 引入GetX全局架构+升级版下拉刷新+Toast弹窗+网络状态监听
flutter·开源·harmonyos
李老师的Java笔记1 天前
如何解决Mac升级完nodejs没有生效的问题?
macos
xmdy58661 天前
Flutter+开源鸿蒙实战|智联邻里Day5 闲置详情页+删除功能+下拉刷新+交互优化
flutter·开源·harmonyos
开开心心_Every1 天前
轻量级PDF阅读器,仅几M大小打开秒开
linux·运维·服务器·安全·macos·pdf·phpstorm
Chengbei111 天前
轻量化 Web 安全日志分析神器 星川智盾日志威胁检测、地理溯源、MITRE ATT&CK 映射,支持 Windows/macOS/Linux
前端·人工智能·安全·web安全·macos·系统安全·安全架构