美文网首页
iOS通过cocoapods集成flutter

iOS通过cocoapods集成flutter

作者: 傲骨天成科技 | 来源:发表于2021-05-27 09:02 被阅读0次

    参考:
    iOS和flutter交互
    当某天我们的公司需要在原生项目的基础上集成flutter,那么这时候我们需要怎么办呢?
    下面我给大家介绍通过cocoapods集成的方式,前提是安装了flutter的运行环境哦
    iOS通过pod的方式接入Flutter项目

    一、首先进入项目的根目录创建flutter模块

    image.png
    // 进入根目录
    cd /Users/fly/Desktop/sf_swift_flutter 
    
    // 创建flutter模块 其中flutter_lib是flutter模块的名称,可以自己定义
    flutter create -t module flutter_lib
    
    

    二、创建完毕之后,通过cocoapods,在你的podfile中添加如下代码

    # flutter相关的设置
    
    #flutter模块的路径
    flutter_application_path = '../flutter_lib'
    
    load File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')
    
    # 引入三方
    
    target 'iOS集成flutter' do
    
      use_frameworks!
    
      # oc 手写布局三方库
      pod 'Masonry', '~> 1.1.0'
    
      # 引入flutter
      install_flutter_engine_pod
      install_all_flutter_pods(flutter_application_path)
    
    end
    

    三、创建配置文件debug.xcconfig, release.xcconfig, flutter.xcconfig

    image.png
    在配置文件中,内容如下:

    flutter.xcconfig内容如下:

    // 具体路径根据自己项目所存放的位置而定
    #include "../flutter_lib/.ios/Flutter/Generated.xcconfig"
    ENABLE_BITCODE=NO
    

    debug.xcconfig内容如下:

    #include "Flutter.xcconfig"
    
    // 如果使用了cocoapods,那么需要引入cocoapods的config文件,因为如果自定义了config,那么cocoapods的config就不会自动指定
    // 为什么我下面注释掉了,因为下一步我在项目里指定了文件
    //#include "Pods/Target Support Files/Pods-iOS集成flutter/Pods-iOS集成flutter.debug.xcconfig"
    

    release.xcconfig内容如下:

    #include "Flutter.xcconfig"
    FLUTTER_BUILD_MODE=release
    
    // 如果使用了cocoapods,那么需要引入cocoapods的config文件,因为如果自定义了config,那么cocoapods的config就不会自动指定
    // 为什么我下面注释掉了,因为下一步我在项目里指定了文件
    //#include "Pods/Target Support Files/Pods-iOS集成flutter/Pods-iOS集成flutter.release.xcconfig"
    
    

    四、在项目中配置xcconfig文件

    image.png

    五、在原生项目中引入flutter的头文件就可以使用了

    import Flutter
    

    结语

    下面我说一说我在使用原生加flutter的混合开发中总结的经验

    1.使用xcode直接运行在模拟器上的项目当断开xcode的时候,模拟器上的项目依然可以跑flutter的内容

    由于我们的电脑中安装了flutter的环境,所以断开了xcode之后,模拟器还可以从电脑上找到flutter的运行环境所以可以运行。

    2.使用xcode直接运行在真机上的项目不断开xcode的时候,真机上的项目依然可以跑flutter的内容

    由于没有断开xcode开发工具,它运行在电脑端,会去在电脑上找到flutter的运行环境,所以可以运行

    3.使用xcode直接运行在真机上的项目断开xcode的时候,真机上的项目不可以跑flutter的内容

    由于直接运行xcode打包在真机上的项目没有打包flutter的运行环境,所以不行

    4.使用xcode打包成ipa文件,上传到fir.im上下载后的项目可以跑flutter的内容

    由于打包成ipa文件的时候已经打包了flutter的运行环境,所以可以跑

    相关文章

      网友评论

          本文标题:iOS通过cocoapods集成flutter

          本文链接:https://www.haomeiwen.com/subject/utaksltx.html