在iOS工程中集成Flutter工程的Demo
- flutter环境等安装好
- 设置FLUTTER_ROOT环境变量,将其指向flutter的工具目录
-
进入工程目录后,执行install.sh脚本:
./install.sh
-
打开工程,即可编译运行
-
进入原有工程目录(其它外部目录也ok),创建flutter工作目录:
flutter create -t module flutter_module
-
iOS主工程设置,关掉bitcode (不关的话,模拟器里跑不影响,但真机不行)
-
iOS主工程,添加Debug.xcconfig,指向flutter工作目录下面的编译配置文件:
#include "../fluter_module/.ios/Config/Debug.xcconfig"
-
iOS主工程,Configurations中指定好上一步的Debug.xcconfig
-
工程配置,添加RunScript,里面包含了编译,以及将相关iOS工程所需的库拷贝到目标目录(目标目录自己指定)
"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" build cp -r ./fluter_module/.ios/Flutter/App.framework ./iOSFlutterDemo/Flutter/ cp -r ./fluter_module/.ios/Flutter/engine/Flutter.framework ./iOSFlutterDemo/Flutter/ cp -r ./fluter_module/.ios/Flutter/flutter_assets ./iOSFlutterDemo/Flutter/
-
编译iOS主工程,此时将会生成目标framework,并拷贝至相应目录
-
将目标目录的framework添加至主工程(引用的方式来添加)
-
主工程设置中的Embeded binaries,添加上App.framework和Flutter.framework (不添加的话,可能会无法启动)
-
编译运行,剩余的就是代码的配置。