今天將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),按照教程配置就可以了!
- 創(chuàng)建 flutter module:
cd 到項(xiàng)目文件的同級目錄下;
執(zhí)行命令:(my_flutter: 文件名稱,可修改)
flutter create -t module my_flutter
- 通過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
-
添加腳本
在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
-
編譯項(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