Flutter 与 iOS 混编

2020-12-04  本文已影响0人  你好哈喽哈喽

官方文档

开始

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

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

如下图所示

image

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
  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

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
  5. 收到引入对应文件夹中的App.framework并且同Plan B中的第4、5步,做好确保

    image

end

上一篇 下一篇

猜你喜欢

热点阅读