FLUTTERFlutter for iOSios

超简单, iOS原有项目快速集成flutter

2019-02-25  本文已影响185人  鸿伟x

iOS原有项目集成flutter


目前官方已经提供了flutter module的集成到iOS项目的文档;
适用:flutter create -t module my_flutter创建的项目
优点:
1.这种方式可以热重载UI调试
2.可以iOS原生和flutter一起开发
缺点:
1.每个人都需要配置Flutter环境;
2.每个人都要拉取Flutter项目代码;
3暂时只能集成flutter module的项目,无法集成flutter app项目
参考文档:https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps#experiment-integrate-flutterviewcontroller


本文介绍另一种iOS项目集成Flutter的方式

优点:

01可以把Flutter和ios项目完全隔离开来,
02.iOS小组不再需要 搭建Flutter环境;

缺点:

是只能flutter开发调试完成,然后发给iOS原生项目使用

适用:

flutter create my_flutter_app创建的项目

1 flutter小组导出.framework和资源文件;

build_for_ios.sh文件在这里获取https://www.jianshu.com/p/700bd7d2122b
01把build_for_ios.sh复制到flutter项目根目录,
02在终端cd到flutter根目录,输入"./build_for_ios.sh"回车
03稍等片刻,所有产物都copy到build_for_ios文件夹

WX20190227-140331.png

2.ios小组导入.framework和资源文件;

01,直接把build_for_ios文件夹下所有项目拉到ios项目


WX20190227-140656.png

02其中flutter_assets一定要选择create folder references模式
并且flutter_assets只能放iOS项目根目录, 其他文件可以放任意目录


WX20190225-125532.png

03ios项目的targets选择当前target ->Build Phases ->加号 ->Copy Files ->把从build_for_ios文件夹拉进项目的framework都添加上
同时: 检查Copy Bundle Resources里是否包含了flutter_assets


WX20190225-134409.png

至此集成完毕

虽然这样也是可以的, 但感觉还是有些麻烦,
最好是把build_for_ios文件夹所有的文件pod到远端,
这样iOS项目通过pod的方式集成flutter, 更简洁些~
参考:
https://www.jianshu.com/p/700bd7d2122b (flutter一键打包)
https://www.jianshu.com/p/b319b373e82b (上传至git仓库,iOS可以pod引入)


ios原生如何跳转Flutter

在控制器中添加以下代码 跳转flutter模块
    //先导入 GeneratedPluginRegistrant
    //#import <DATKFlutterSDK/GeneratedPluginRegistrant.h>
    //然后就可以创建FlutterViewController 直接跳转
    FlutterViewController* flutterViewController = [[FlutterViewController alloc] init];
    [GeneratedPluginRegistrant registerWithRegistry:flutterViewController];
    [self.navigationController pushViewController:flutterViewController animated:YES];


关于集成flutter后如何给app瘦身,请看这里https://www.jianshu.com/p/b16ff23363c0

关于flutter如何与iOS交互:这类帖子网上已经很多了, 哈哈我就不写了,直接看官方demo吧https://github.com/flutter/flutter/tree/master/examples/platform_channel

上一篇 下一篇

猜你喜欢

热点阅读