在已有的iOS项目中集成Flutter, 可以使我们的iOS项目中的部分界面/功能可以通过Flutter来实现
-
Xcode创建iOS项目(这里项目的名称是iOSFlutter, 使用cocoapods)
-
通过终端命令在指定目录(iOS项目同级的目录)创建 flutter module. (这里的 flutter module 名字为myfluttermodule)
flutter create -t module myfluttermodule
-
Xcode配置
- 将项目 BitCode 选项设置为 NO , Flutter 目前还不支持

- 创建配置衔接文件
在iOS项目中新建Config文件夹, 在该文件夹下创建
Configuration Settings File文件, 名为Flutter.xcconfig.Debug.xcconfig.Release.xcconfig三个配置文件

Flutter.xcconfig 文件内容
//Flutter.xcconfig, 这里填写前面建立的myfluttermodule 的Generated.xcconfig的路径
#include "../../myfluttermodule/.ios/Flutter/Generated.xcconfig"
ENABLE_BITCODE=NO
Debug.xcconfig 文件内容
//pod路径
#include "Flutter.xcconfig"
#include "Pods/Target Support Files/Pods-iOSFlutter/Pods-iOSFlutter.debug.xcconfig"
Release.xcconfig
#include "Flutter.xcconfig"
#include "Pods/Target Support Files/Pods-iOSFlutter/Pods-iOSFlutter.debug.xcconfig"
FLUTTER_BUILD_MODE=release
-
修改Xcode Project的环境配置

-
添加要执行的脚本内容
"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" build
"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" embed

-
运行Xcode, 正常情况下会在iOS项目目录下生成一个Flutter文件夹(如果没有生成, 那我们就手动建一个文件夹,把 myfluttermodule/.ios/Flutter下的
App.framework.egine复制到该文件夹下 )
-
到这里, 就可以直接执行已集成Flutter的Xcode的项目了