资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

flutter编译过程,flutter 交叉编译

ios flutter 混编

最近在集成flutter进项目

创新互联主营襄阳网站建设的网络公司,主营网站建设方案,成都app软件开发,襄阳h5小程序制作搭建,襄阳网站营销推广欢迎襄阳等地区企业咨询

以收集编译产物并以cocopods方式集成

产物大概放入两个pod库

这个暂且叫pod1,pod1放flutter.framework,第三方plugin.a,自己写的基础plugin,比如networking,hud等等(由于是混编,不可避免存在很多原生基础组件,所以能公用的基础组件都会弄一个flutter-plugin桥接)

第二个pod2放编译之后的app.framwork,注册文件GeneratedPluginRegistrant,以及各个业务模块.a(有可能没有)结构大概如下面

podspec大概如下

主工程引入这两个pod库即可

接下来从零开始搭建上文所说的

先创建一个flutter module

这个是主flutter工程,用来集成businessModule以及生成app.framework

结构如下图

再生成一个业务工程

注意此时还需要进入example生成ios和Android工程,不然无法单独编译运行

这样 这个单独的业务模块就可以单独跑起来了

此时主flutter工程和业务工程均搭建完毕

在主工程pubspec.ymal文件讲两个工程关联

好了 接下来就是编写脚本收集产物了

编译完成之后会在flutter主工程product生成如下文件

将上面文件分类收集做成文章开头的pod1,pod2 ,在native工程引入即可

在集成flutter的过程中 踩不少坑 也阅读很多前辈的文章,在此一并感谢

Flutter-02编译器选择

1.打开 VS Code。

2.打开 查看 命令面板…。

3.输入 “install”,然后选择 扩展: 安装扩展(就是点击选择第一行内容)。

4.在扩展搜索输入框中输入 “flutter”,然后在列表中选择 Flutter 并单击 安装。此过程中会自动安装必需的 Dart 插件。(选择第一行并安装)

5.退出然后重新启动 VS Code。

1.打开 查看 命令面板…。

2.输入 “doctor”,选择 Flutter: Run Flutter Doctor。

3.打开 输出 (OUTPUT) 面板查看是否有错误,确保在不同的输出选项 (Output Options) 的下拉列表中选择了 Flutter。

我们在上篇文章已经用命令行创建了一个 my_app 的flutter项目了,这里我们就可以使用 vscode 打开看看了

创建新项目 ,则是在命令面板输 flutter , 选择 Flutter: New Application Project

运行项目 ,找到 VS Code 的状态栏(窗口底部蓝色的条)

1.打开 Android Studio。

2.打开插件设置(在 v3.6.3.0 以上的系统打开 Configure Plugins)。

这里需要先改一下网络请求的设置

3.然后搜索Flutter 插件,选择并点击 安装。

4.当弹出安装 Dart 插件提示时,点击 Yes。

5.退出重新启动编译器,然后在编译器主页面就可以看到多了了 create new flutter project 可供选择,代表flutter插件安装成功,我们试着点击来创建一个新项目。

Flutter开发 解决iOS编译不兼容Swift

在进行Flutter开发过程中,很容易出现iOS原生端编译不成功的问题,比如出现Undefined symbol:__swift_FORCE_LOAD_$_swfitCoreLocation

出现这种情况的时候,为没有导入swift头文件导致编译不成功,解决办法为:

1、新建选中Runner右键New File  选择Swift File

2、点击create的时候会出现选择Xcode  - Create Bridging Header 

3、随后会创建一个Runner-Bridging-Heading.h的文件

4、正常运行项目即可

一般此情况多出现在第一次运行iOS的情况,为导入过支持Swift后XCode没有进行兼容导致的问题。


新闻名称:flutter编译过程,flutter 交叉编译
本文链接:http://www.cdkjz.cn/article/dsigohe.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220