flutter ios打包_【Flutter】如何写一个Flutter自动打包成iOS代码模块的脚本

本文详细记录了如何为iOS项目创建一个Flutter自动打包脚本,将Flutter编译产物整合到独立的iOS代码模块中,包括清理、打包、拷贝文件和处理插件的步骤。该过程涉及对App.framework、Flutter.framework、FlutterPluginRegistrant以及第三方插件的处理,最终形成适用于混合开发的iOS模块。
摘要由CSDN通过智能技术生成

相信很多使用原生+Flutter的iOS项目都会遇到混合开发的集成问题,也有大神写了一些解决方案,下面就记录一下我的心路历程:

前期准备

开始之前,我先拜读了一些大神的文章(这里只挑出对我帮助最大的):

方案筛选

经过探索,结合项目的实际情况(我司的项目采用模块化开发,pods方式集成),有下面的两个方案:

使用google的集成方案

将flutter编译后的产物打包到一个新的子模块中,并在其中实现对应的接口和交互逻辑。

无论是从使用方便的角度还是对代码的侵入程度来看,采用方案2都是顺理成章的。

实现方式

写脚本之前,先来看看打包步骤(其实就是收集编译产物)

打包步骤

打包的步骤如下:

1、flutter build ios。

2、进入对应flutter项目的../ios(或者.ios)/Flutter/文件夹,找到App.framwork和Flutter.framework以及FlutterPluginRegistrant文件夹,拷贝到子模块中。

3、进入对应flutter项目的build/ios/Debug-iphoneos(或者Release-iphoneos),拷贝各个依赖库的.a文件到子模块中。

4、如果项目有依赖到第三方的插件(一般来说都会有),需要根据.flutter-plugins文件中的路径到对应模块的源代码的ios/Classes中拷贝各个依赖库的.h文件(这一步可以说是相当繁琐了)。

使用自动化脚本执行上面的操作

以下代码均在flutter工程的目录下操作:

首先是打包:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值