ios Hybrid工程搭建
1、和flutter_odule平级目录创建iosNative目录
2、初始化Podfile文件:native工程跟目录执行
pod init
3、配置PodFile
flutter_application_path = '../flutter_module/'
eval(File.read(File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')), binding)
4、安装依赖
pod install
5、更新依赖
如果在flutter_module的pubspec.yaml中添加一个Flutter插件时,需要在flutter_module目录下运行:
flutter packages get
来运行podhelp.rb脚本中的插件列表,然后在ios native 根目录运行
pod install
这样podhelp.rb才能确保你的插件和Flutter.framework能够添加到iOS项目中
6、禁用Bitcode
目前flutter项目不支持Bitcode,所有需要在集成了flutter的ios项目中禁用 Bitcode
Build settings -> Build options -> Enable Bitcode -> No
7、添加Build phase构建Dart代码
添加一个Build phase,然后在Run Script中添加如下代码
然后需要将Run Script 拖动到 Target dependencies phase下面
"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" buiObject-cld
"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" embed
8、 Object-c中调用flutter_module
oc中调用flutter_module有两种方式
- 直接使用FlutterViewController
- 使用FlutterEngine