本文只对 iOS 与 Flutter 的通信做一个简单的介绍, 因为每种方式的讲述篇幅比较长, 为了不让大家感到疲惫, 所以分为 3 篇进行讲述, 具体的使用还请移步到对应的文章中.
iOS 与 Flutter 的三种通信方式
-
MethodChannel
:Flutter
与iOS
端相互调用, 调用后可以传递参数, 可以返回结果,可以iOS
端主动调用, 也可以Flutter
主动调用, 属于双向通信。此方式为最常用的方式,iOS
端调用需要在主线程
中执行. -
BasicMessageChannel
: 发送消息的形式传递数据, 类似于 iOS 的通知, 消息监听持续性的, 可以随时收发, 属于双向通信, 可以iOS
端主动调用,也可以Flutter
主动调用. -
EventChannel
: 用于数据流(event streams
)的通信, 属于单向可持续性的通信, 只能是 iOS 端主动发送数据给Flutter
, 通常用于Flutter
对状态的监听,比如网络变化、传感器数据等.
1. MethodChannel (iOS: FlutterMethodChannel)
具体使用方法请移步我的这篇文章.
iOS 与 Flutter 通信之MethodChannel
2. BasicMessageChannel (iOS: FlutterBasicMessageChannel)
具体使用方法请移步我的这篇文章.
iOS 与 Flutter 通信之 BasicMessageChannel
3. EventChannel (iOS: FlutterEventChannel)
具体使用方法请移步我的这篇文章.