前言
要想知道怎么去高级的进行混编,那么久需要你首先对官网的混编方式进行分析。所以,下面我们先对官网的混编方式进行分析,然后在进行正式的高级混编。
一、官网的混编方式分析
1、Podfile
1 | #Flutter项目路径 |
2、podhelper.rb
2.1、podhelper.rb的位置
podhelper.rb在flutter SDK中的路径为:/Applications/flutter/packages/flutter_tools/templates/module/ios/library/Flutter.tmpl


在项目中的路径为:

2.2、podhelper.rb处理的事情

事情①:获取Flutter.podspec和FlutterPluginRegistrant.podspec,然后pod
获取Flutter.podspec

获取FlutterPluginRegistrant.podspec

情况1问题:如果engine文件夹不存在,即不存在我们需要的Flutter.podspec和Flutter.framework
如果engine文件夹不存在,即不存在我们需要的Flutter.podspec和Flutter.framework,则我们需要从flutter sdk中的如下目录拷贝Flutter.podspec和Flutter.framework,那么Flutter SDK的根目录从哪里找呢?
/Applications/flutter/bin/cache/artifacts/engine/ios/

情况1解决:获取flutter sdk的根目录flutter_root_dir
而这个flutter sdk目录flutter_root_dir的获取,我们只需要从根据flutter_application_path路径下的Generated.xcconfig文件中的FLUTTER_ROOT获取即可。

获取的方法为:
1 | flutter_root_dir = flutter_root(flutter_application_path) |
该flutter_root函数的方法为:

Generated.xcconfig数组的获取方法为:

3、xcode_backend.sh
3.1、xcode_backend.sh的位置
xcode_backend.sh的目录为/Applications/flutter/packages/flutter_tools/bin/
