安裝Flutter環(huán)境并在iOS項目中接入

配置Flutter - 使用鏡像

不解釋了,簡單粗暴,在命令行依次運行這些命令:

export PUB_HOSTED_URL=https://pub.flutter-io.cn

export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

git clone-bdev https://github.com/flutter/flutter.git

export PATH="$PWD/flutter/bin:$PATH"

flutter doctor

進行到這一步之后,可能會報錯。根據(jù)提示錯誤運行下面推薦的命令就可以了,可能會有brew install --HEAD libimobiledevice , brew install ideviceinstaller等。

配置Android Studio的Flutter插件

打開插件選擇項 Preferences > Plugins,選擇下方Browse repositories,搜索Flutter插件并安裝,安裝完成之后重啟Android Studio,插件生效。

在ios項目中接入Flutter

1、cd到ios項目的上一層目錄中

2、flutter create -t module my_flutter? (創(chuàng)建一個跟ios項目同級的Flutter模塊)

3、添加cocoapods依賴。在podfile文件中加上以下兩句代碼,因為我們是以xcodeproj文件的上一級創(chuàng)建的,所以my_flutter的路徑需要加“../”。

????flutter_application_path='../my_flutter/'

????eval(File.read(File.join(flutter_application_path,'.ios','Flutter','podhelper.rb')), binding)

保存后運行pod update。如果報錯:

[!] InvalidPodfilefile: No such file or directory @ rb_sysopen - ./my_flutter/.ios/Flutter/podhelper.rb.

在my_flutter文件夾下執(zhí)行以下flutter run,把.ios和.android等flutter配置生成出來。

4、禁用bitcode,設(shè)置環(huán)境變量。找到你的target,Build Settings->Build Options->Enable Bitcode設(shè)置為NO,另外在Preprocessor Macros 添加FLUTTER_BUILD_MODE=Debug和FLUTTER_BUILD_MODE=Release。

5、找到Build Phases? 添加一個新的Run Script,并在shell下方添加以下兩句代碼

"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" build

"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" embed

6、修改AppDelegate.h ,如下

AppDelegate.m如下

Flutter與IOS交互

假定場景:在App界面A跳轉(zhuǎn)至Flutter頁面,點擊Flutter界面跳轉(zhuǎn)至App的界面B。

IOS : 界面A跳轉(zhuǎn)方法:

Flutter : main.dart

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

相關(guān)閱讀更多精彩內(nèi)容

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