• iOS 集成flutter module 不使用cocoapods


    一、创建的flutter项目和iOS项目同级,同一个文件夹内,可以使用命令创建flutter项目,也可以用Android studio或 VS code创建flutter项目

    命令创建(要和iOS项目同级)
    flutter create -t module xxx(flutter项目名)

    Android studio或 VS code创建 官网https://flutter.cn/docs/get-started/editor?tab=androidstudio

    Enable Bitcode设置为NO

    二、Xcode打开现有的iOS项目,新建一个文件夹Config,在文件夹里面创建三个配置文件Flutter.xcconfigDebug.xcconfigRelease.xcconfig,如下图

    文件内容如下图

    三、创建完成xcconfig文件之后,在PROJECT的info->Configurations中设置Debug和Release配置文件,如下图

    四、配置完成之后添加Flutter.framework,在flutter项目中可以看到.ios项目,把.ios/Flutter/engine引入iOS项目,仅仅是路径引用,没有复制进iOS项目,如下图

    添加的时候会出现flutter项目中.ios不显示,这个时候执行command+shift+G,输入路径即可显示添加,如下图

    五、引入Flutter.framework之后,Flutter.framework是动态库,所以要在相应的TARGET Build Phases->Emded Frameworks添加Flutter.framework,Destination类型是Frameworks类型,如下图

    六、在TARGET Build Phases添加脚本,如下图

    "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" build
    "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" embed

    七、创建一个ViewController 继承FlutterViewController,运行项目加载ViewController即加载flutter

    如下图:

    八、补充

    上面仅仅只能满足基本的flutter项目,flutter使用插件的时候,例如本地存储shared_preferences,网络检查connectivity等,在flutter项目中有效, 运行iOS项目无效,这时候需要iOS引入flutter使用的第三方库

    下一篇 会写不使用cocoapods,引入flutter使用的第三方及GeneratedPluginRegistrant注。

  • 相关阅读:
    之前的博客
    用struts2 s2-045漏洞拿站记录
    修改BlackLowKey皮肤样式,增加占屏比
    SpringBoot自动配置原理
    CAS无锁技术
    CAS单点登录原理解析
    死锁与活锁的区别,死锁与饥饿的区别
    jvm问题
    jdk动态代理的实现原理
    抽象工厂
  • 原文地址:https://www.cnblogs.com/lulushen/p/11976577.html
Copyright © 2020-2023  润新知