iOS整合 Flutter 混合工程開發一

GG-beyond發表於2020-04-24

###混合開發整合兩種方式:

1、官網方式 github.com/flutter/flu…
2、抽取Flutter,第三方庫的方式

#####本文主要介紹第二種方式,如下:

借鑑鹹魚《Flutter混合工程改造實踐》的實踐,抽取Flutter依賴到遠端的一些實現細節。 本文先介紹如何混合開發 Native工程對Flutter 工程的依賴主要如下: 1、Flutter.framework (庫和引擎) 2、App.framework(lib下的dart檔案) 3、自己實現的Flutter Plugin(我目前沒做外掛開發,先忽略) 4、Flutter工程產物:isolate_snapshot_data、isolate_snapshot_instr、vm_snapshot_data、vm_snapshot_instr、flutter_assets

以iOS 為例整合老專案中:首先執行flutter build ios --release 1、在Native建立Flutter資料夾,在你的Flutter專案找到以下路徑檔案 XXX/ios/Flutter 如圖:

5B252264-047C-4821-85B3-FC24A00C8FB7.png
2、複製以上所有檔案,貼上到Native建立的Flutter資料夾下 3、在Xcode中,通過 Add File to "Flutter" 方式,將檔案引用到目錄。注意:
7382DAA2-8380-4AE7-9A10-E99DF824C8C3.png
4、新增打包資源

  • Build Phases->Copy Bundle Resources下新增flutter_assets,這個目錄保護所有的flutter指令碼和資源
  • Build Phases下點”+”建立一個New Copy Files Phase,Destination選擇Frameworks, name下新增app.framework和flutter.framework, 這步不成功提示找不到flutter image

問題1:無法模擬器上執行的問題 答:將kernel_blob.bin放入flutter_assets下。kernel_blob.bin位置如下:XXX/ios/Runner.xcworkspace ,用Xcode開啟Runner.xcworkspace,在開啟專案的flutter_assets下。 (目前沒有找到好的方法,歡迎提供)

問題2:不成功提示 flutter image 答:上邊第4步。 問題3:Bitcode 答: 關閉Bitcode, build Settings->enable Bitcode Yes改為no

####參考文獻及出處 blog.csdn.net/langouster/… blog.csdn.net/u010960265/… yq.aliyun.com/articles/61…

相關文章