正如闲鱼团队说的那样,不可能把全部工程都使用Flutter来做,也不大可能把Flutter的APP直接集成到主工程上,我们的工程里大部分的集成方式都是通过cocoapods来管理的,希望也能像AFNetworking一样直接 pod 下来就好了,不影响其它同学的开发。
简介:我这里使用了三个工程目录
DevFlutterAppLib:用于开发Flutter 程序以及生成lib,包含一个测试APP
FlutterDemoApp:主工程,通过Pod来引入Flutter
FlutterAppPod:抽取出来的Pod库
开工吧
第一步:制作Flutter的lib
1)参考我的前一篇《在存在的iOS工程中使用Flutter》生成一个Flutter的模块
此时目录如下:
Flutter 的开发同学只要关心这个目录flutter_library 就可以了
DevFlutterAppLib
--flutter_library
--lib
--main.dart
2)生成一个lib
打开XCode,New一个 CocoaTouch Static Library 这个不用多说吧 (名:FlutterAPPLib)
同样参考我的前一篇《在存在的iOS工程中使用Flutter》,配置这个Lib,编译
这里可以再制作一个测试工程,来试一下这个lib,也可以不用。
这里看一下代码吧,如果出错的话,就对照一下吧。
第二步 制作Pod库
抽取出有用的东西吧
主要工作就是把上一步生成的Flutter.framework,还有libFlutterAPPLib.a 、flutter_assets拷过来,再生成一个Podspec文件
(我没有使用到APP.framework 闲鱼那边用到了,不是很明白。)
第三步 主工程中使用Pod
使用Podfile调用 没有什么不同的,和其它都一样了
就像闲鱼团队说的,这里需要一个Jenkins来同步每次Flutter开发,并生成新的Pod库
到这里最简单的调用 打完收工。
感谢:
参考: