前言
要想知道怎么去高级的进行混编,那么久需要你首先对官网的混编方式进行分析。所以,下面我们先对官网的混编方式进行分析,然后在进行正式的高级混编。
一、官网的混编方式分析
1、Podfile
#Flutter项目路径
flutter_application_path = "../../cj_nativeflutter_fluttermodule"
eval(File.read(File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')), binding)
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
获取即可。
获取的方法为:
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/