Flutter 與 iOS 混編的三種方式

最近單位項目涉及到了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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。