iOS集成 Flutter 混合工程开发一

1,826 阅读1分钟

###混合开发集成两种方式:

1、官网方式 github.com/flutter/flu…
2、抽取Flutter,第三方库的方式

#####本文主要介绍第二种方式,如下:

借鉴咸鱼《Flutter混合工程改造实践》的实践,抽取Flutter依赖到远程的一些实现细节。 本文先介绍如何混合开发 Native工程对Flutter 工程的依赖主要如下: 1、Flutter.framework (库和引擎) 2、App.framework(lib下的dart文件) 3、自己实现的Flutter Plugin(我目前没做插件开发,先忽略) 4、Flutter工程产物:isolate_snapshot_data、isolate_snapshot_instr、vm_snapshot_data、vm_snapshot_instr、flutter_assets

以iOS 为例集成老项目中:首先执行flutter build ios --release 1、在Native创建Flutter文件夹,在你的Flutter项目找到以下路径文件 XXX/ios/Flutter 如图:

5B252264-047C-4821-85B3-FC24A00C8FB7.png
2、复制以上所有文件,粘贴到Native创建的Flutter文件夹下 3、在Xcode中,通过 Add File to "Flutter" 方式,将文件引用到目录。注意:
7382DAA2-8380-4AE7-9A10-E99DF824C8C3.png
4、添加打包资源

  • Build Phases->Copy Bundle Resources下添加flutter_assets,这个目录保护所有的flutter脚本和资源
  • Build Phases下点”+”创建一个New Copy Files Phase,Destination选择Frameworks, name下添加app.framework和flutter.framework, 这步不成功提示找不到flutter image

问题1:无法模拟器上运行的问题 答:将kernel_blob.bin放入flutter_assets下。kernel_blob.bin位置如下:XXX/ios/Runner.xcworkspace ,用Xcode打开Runner.xcworkspace,在打开项目的flutter_assets下。 (目前没有找到好的方法,欢迎提供)

问题2:不成功提示 flutter image 答:上边第4步。 问题3:Bitcode 答: 关闭Bitcode, build Settings->enable Bitcode Yes改为no

####参考文献及出处 blog.csdn.net/langouster/… blog.csdn.net/u010960265/… yq.aliyun.com/articles/61…