Flutter 混编

前言:有iOS原生项目YJSchool(OC),想混编flutter项目(此项目是用as事先编好,功能都完善了)

1、新建文件夹W,将YJSchool拷贝至W文件夹下,并创建一个flutter_module的module

flutter create -t module flutter_module

Flutter 混编_第1张图片

2、cd进YJSchool的podfile中写入:

source 'https://github.com/CocoaPods/Specs.git'
source 'https://github.com/aliyun/aliyun-specs.git'
platform :ios, '9.0'
# Uncomment this line if you're using Swift
use_frameworks!

target 'YJSchool' do

flutter_application_path = '../flutter_module/'
eval(File.read(File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')), binding)

end

并pod install

 

3、打开flutter_module中的.ios文件夹(看不到的时候用Shift+Command+.)下面的Runner.workspace,并build,此时可以看到

Flutter 混编_第2张图片

 

4、将上述Flutter文件夹下的App.framework和engine中的Flutter.framework加入到YJSchool中

 

5、将之前as中flutter项目中的需要使用的代码拷贝到flutter_module中,并执行flutter packages get ,并将重新生成的App.framework再次加入到YJSchool中

6、也许有人需要在Build Phase 中 new run script phase :

"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" build
"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" embed

 

你可能感兴趣的:(Flutter)