最近單位項目涉及到了flutter混編,就去官方文檔學習了一下,這里做一下簡單記錄,順便翻譯翻譯。方便大家互相學習。
開始
首先必須有的條件
一個文件夾里包含iOS項目、Flutter項目
沒有Flutter項目,請自行執行以下命令行
cd 項目路徑
flutter create --template module my_flutter
如下圖所示
image.png
Plan A
- 在iOS工程
Podfile
頭部中添加
flutter_application_path = '../my_flutter'
load File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')
- 然后在添加
target 'MyApp' do
install_all_flutter_pods(flutter_application_path)
end
-
如圖所示
image.png pod install
Plan B 生成Framework 手動導入
cd 路徑/my_flutter
flutter build ios-framework --output=這里拼接你想要輸出framework的路徑
- 此時在這個路徑下會生成三個文件夾,分別是
Debug
、Profile
、Release
- 手動引入其中一個文件夾的
App.framework
及Flutter.framework
,并且BuildSetting -> Framework Search Paths
中,要有剛剛輸出framework的路徑,比如:"$(SRCROOT)/../Debug"
其實把文件夾拖進去也行,但是你要確定后續不會出現路徑問題。
image.png
Plan C 類似 Plan B,用cocoapods
cd 路徑/my_flutter
flutter build ios-framework --cocoapods --output=這里拼接你想要輸出framework的路徑
這時候也會生成三個文件夾,分別是
Debug
、Profile
、Release
,但是內容跟Plan B 不太一樣-
然后在
PodFile
中添加這么一行,`pod 'Flutter', :podspec => 'some/path/MyApp/Flutter/[build mode]/Flutter.podspec'。如圖所示,當然這里只是做演示,暫時沒有考慮相對路徑的問題!!請注意。image.png -
收到引入對應文件夾中的
App.framework
并且同Plan B中的第4、5步,做好確保image.png