美文网首页
Flutter 与 iOS 混编的三种方式

Flutter 与 iOS 混编的三种方式

作者: 尤先森 | 来源:发表于2020-09-15 23:39 被阅读0次

    最近单位项目涉及到了flutter混编,就去官方文档学习了一下,这里做一下简单记录,顺便翻译翻译。方便大家互相学习。

    开始

    首先必须有的条件
    一个文件夹里包含iOS项目、Flutter项目
    没有Flutter项目,请自行执行以下命令行

    cd 项目路径
    flutter create --template module my_flutter
    

    如下图所示


    image.png

    Plan A

    1. 在iOS工程Podfile头部中添加
    flutter_application_path = '../my_flutter'
    load File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')
    
    1. 然后在添加
    target 'MyApp' do
      install_all_flutter_pods(flutter_application_path)
    end
    
    1. 如图所示


      image.png
    2. pod install

    Plan B 生成Framework 手动导入

    1. cd 路径/my_flutter
    2. flutter build ios-framework --output=这里拼接你想要输出framework的路径
    3. 此时在这个路径下会生成三个文件夹,分别是DebugProfileRelease
    4. 手动引入其中一个文件夹的App.frameworkFlutter.framework,并且BuildSetting -> Framework Search Paths中,要有刚刚输出framework的路径,比如:"$(SRCROOT)/../Debug"其实把文件夹拖进去也行,但是你要确定后续不会出现路径问题。
      image.png

    Plan C 类似 Plan B,用cocoapods

    1. cd 路径/my_flutter

    2. flutter build ios-framework --cocoapods --output=这里拼接你想要输出framework的路径

    3. 这时候也会生成三个文件夹,分别是DebugProfileRelease,但是内容跟Plan B 不太一样

    4. 然后在PodFile中添加这么一行,`pod 'Flutter', :podspec => 'some/path/MyApp/Flutter/[build mode]/Flutter.podspec'。如图所示,当然这里只是做演示,暂时没有考虑相对路径的问题!!请注意。

      image.png
    5. 收到引入对应文件夹中的App.framework并且同Plan B中的第4、5步,做好确保

      image.png

    end

    相关文章

      网友评论

          本文标题:Flutter 与 iOS 混编的三种方式

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