Flutter-module嵌入iOS原生老項(xiàng)目中

今天將flutter作為模塊嵌入我們老的iOS項(xiàng)目中,編譯沒有報(bào)錯(cuò),但是運(yùn)行時(shí)一直出現(xiàn) "unable to install "的錯(cuò)誤,無法安裝的手機(jī)。之前在Demo中是可以運(yùn)行的,查閱一番資料后,找到了解決辦法,記錄一下。

前提是你已經(jīng)配置好了flutter開發(fā)環(huán)境,沒有配的小伙伴可以去flutter中文網(wǎng),按照教程配置就可以了!

  1. 創(chuàng)建 flutter module:
    cd 到項(xiàng)目文件的同級目錄下;
    執(zhí)行命令:(my_flutter: 文件名稱,可修改)
 flutter create -t module my_flutter
  1. 通過cocoapods添加依賴
    在項(xiàng)目的Podfile文件中添加如下代碼:
  #其中flutter_application_path為flutter模塊相對于podfile文件的位置。
  flutter_application_path = '/Users/admin/Desktop/flutter項(xiàng)目/my_flutter'
  load File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')

  target 'yiguan' do
      use_frameworks!
      #  Flutter 本地開發(fā)調(diào)試
      install_all_flutter_pods(flutter_application_path)

      target 'yiguanTests' do
             inherit! :search_paths
       end
    end
3.png

更新pods

   pod install
  1. 添加腳本
    在iOS項(xiàng)目中找到Xcode -> Target -> Build Phase 位置,點(diǎn)擊?好,選擇New Run Script Phase;然后把以下兩行命令放進(jìn)去。

     "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" build    
     "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" embed
    
2.png
  1. 編譯項(xiàng)目
    如果報(bào)如下錯(cuò)誤:

         /bin/sh: /packages/flutter_tools/bin/xcode_backend.sh: No such file or directory
    

需指定FLUTTER_ROOT路徑,在 my_flutter/.ios(隱藏文件)/Flutter/Generated.xcconfig 路徑下找到Generated.xcconfig 文件,打開可以看到如下圖:

4.png

找到如下兩行,添加到xcode -> target -> build setting - User-Defined 中:

    // This is a generated file; do not edit or check into version control.
    FLUTTER_ROOT=/Users/admin/development/flutter
    FLUTTER_APPLICATION_PATH=/Users/admin/Desktop/flutter項(xiàng)目/my_flutter

如圖:

5.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容