android和ios混合开发工具,Flutter与已有iOS工程混合开发与脚本配置

本文详细介绍了如何进行Flutter与iOS的混合开发,包括项目搭建、目录结构、iOS工程配置、胶水文件的添加、引用Flutter页面、管理Flutter页面状态以及配置自动运行脚本。通过这些步骤,实现了在同一代码库下,Flutter和iOS工程的平级运行,并确保在开发过程中,只需关注各自平台的代码即可。
摘要由CSDN通过智能技术生成

运行一个原生的Flutter工程(也就是纯Flutter)非常简便,不过现在Flutter属于试水阶段,要是想在商业app中使用Flutter,目前基本上是将Flutter的页面嵌入到目前先有的iOS或者安卓工程,目前讲混合开发的文章有很多:

不过这些文章大多讲的是安卓和flutter混合开发的,没有iOS和Flutter混合开发的比较详细的步骤实操,上周试了一下iOS和Flutter混合,有一些坑,总结给大家

1.目的

既然用Flutter混合开发,那肯定是希望写一套代码,安卓iOS都能无负担运行,所以在开发的时候,需要满足如下需求:

Flutter、iOS、安卓工程的目录在同一级,互相之前平级、无嵌套

开发iOS的时候,不用操心Flutter部分,只用xcode点击运行就可以(即修改编译iOS项目时,使用编译好的Flutter产物)

开发Flutter的时候,不用操心iOS部分,只用android studio点击运行就可以

支持模拟器和真机

混合开发最权威的指南当然是flutter自己的wiki,但是缺陷是iOS部分,自动运行脚本的内容不够详细,项目结构也不利于混合开发,本文以其为基础,又对目录结构和脚本做了一些修改,使其便于维护

2.项目搭建

2.1 文件目录搭建

HybridFlutter

|-iOS

|-Android

|-Flutter

|-build

2.2 iOS项目搭建

建立完了上图文件目录,添加iOS工程(安卓工程暂时忽略)

c1034513be13

image

并且在第一页VC上增加一个Next按钮,集成好Flutter以后,点击Next可以进入Flutter页面

c1034513be13

image

因为我们要推入flutter页面,所以需要有navigation controller:

c1034513be13

image

目前Flutter混合开发还不支持bit code,所以在iOS工程里关闭

c1034513be13

image

2.3 Flutter Module搭建

这里有一个坑,按照flutter官方文档,下载的flutter工具对应其beta分支,是不支持生成Flutter module的,而混合开发的wiki里说,需要建立这么个module,通过咨询大牛,需要切换到master分支,而flutter有个channel命令,可以切换工具分支:

c1034513be13

image

如果你不在master分支,请执行flutter channel master

之后在Flutter目录下执行flutter create -t module flutter_module

c1034513be13

image

这样就创建好了flutter module

c1034513be13

目前为止的目录结构

2.4 添加胶水文件

混合开发最关键的是将两个项目衔接起来,所以需要一些配置

2.4.1 xcconfig文件

首先是xcode工程配置的衔接,打开ios工程,在xcode中点击File->New->File添加Configuration Settings File文件,命名为FlutterConfig.xcconfig,

c1034513be13

image

注意添加的路径是HybridFlutter/Flutter/flutter_module

c1034513be13

image

此时可能xcode会在ios工程里添加了一个FlutterConfig.xcconfig文件的引用,为了项目干净,可以删除这个引用(但是不要删除文件)

在FlutterConfig.xcconfig里添加

#include "./.ios/Flutter/Generated.xcconfig"

引用flutter_module下的ios插件里的Generated.xcconfig文件

上面是给flutter添加xcconfig文件,下载添加ios工程里的xccofig文件Debug.xcconfig,并引用FlutterConfig.xcconfig(如果iOS工程里已经有了xcconfig文件,那么直接在已有的xcconfig里添加)

c1034513be13

image

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值