原生項目,需要嵌入Flutter頁面。
?創(chuàng)建flutter module

使用xcode創(chuàng)建原生工程,和flutter module放到同一目錄中
使用cocoapods引入flutter相關(guān)依賴,注意flutter_application_path是一個相對路徑

- 原生工程加載flutter頁面
#import <Flutter/Flutter.h>
FlutterViewController *flutterVC = [[FlutterViewController alloc] init];
[self presentViewController:flutterVC animated:YES completion:nil];
- 原生工程加載指定的flutter頁面


以上方法原生工程添加flutter頁面,每次打開flutter頁面,內(nèi)存都會暴增,頁面會有卡頓現(xiàn)象;所以,每次都初始化新的FlutterViewController并不穩(wěn)妥,因此我們采用了FlutterEngine


native

native
flutter_module配置

flutter_module

flutter_module
Flutter原生通訊
FlutterMethodChannel? //調(diào)用方法(method invocation) 一次通訊的
以下兩種都是持續(xù)通訊的!!
?? FlutterBasicMessageChannel //傳遞字符&半結(jié)構(gòu)化的信息(struct string等)
?? FlutterEventChannel? ? ? ? //用于數(shù)據(jù)鏈(stream)的通訊

原生工程

flutter_module

flutter_module