Flutter 入門與 iOS原生集成-Mac篇

一获茬、獲取SDK港庄,搭建環(huán)境

1、直接下載文件解壓到目標(biāo)路徑恕曲,SDK下載地址
cd ~/Flutter
unzip ~/Downloads/flutter_macos_1.20.4-stable.zip
2鹏氧、cd到目標(biāo)路徑,然后從Github上repo分支源碼:
cd ~/Flutter
git clone https://github.com/flutter/flutter.git
3佩谣、配置 flutter 的 PATH 環(huán)境變量把还,并使之永久生效:

3.1 首先獲取 Flutter SDK 安裝目錄的路徑

3.2 打開 $HOME/.bashrc 文件,并且加入以下代碼,保存關(guān)閉

export PATH=/Users/apple/flutter/bin:$PATH //為3.1步驟獲取的路徑
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

3.3 修改 $HOME/.zshrc 文件笨篷,使每次啟動我們的Mac都自動執(zhí)行命令瞳秽,文件最后加入以下代碼

source ~/.bash_profile

3.4 運(yùn)行 source $HOME/.bash_profile 來刷新當(dāng)前命令行窗口

3.5 運(yùn)行 flutter doctor -v 命令查看環(huán)境是否需要安裝其他依賴


Flutter環(huán)境

二、原生集成 Flutter 方案對比

Flutter module

第一步要創(chuàng)建一個 Flutter module

cd some/path/
flutter create --template module my_flutter
1率翅、通過 Cocoapods 直接集成练俐,指向上述工程
1.1 在 Podfile 中添加下面代碼:
flutter_application_path = '../my_flutter'
load File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')
1.2 每個需要集成 Flutter 的 [Podfile target][],執(zhí)行 install_all_flutter_pods(flutter_application_path)
target 'MyApp' do
  install_all_flutter_pods(flutter_application_path)
end
1.3 運(yùn)行 pod install冕臭。
2腺晾、在 Xcode 中集成 frameworks
2.1 編譯 frameworks
flutter build ios-framework --output=some/path/MyApp/Flutter/

編譯后目錄如下:

some/path/MyApp/
└── Flutter/
    ├── Debug/
    │   ├── Flutter.framework
    │   ├── App.framework
    │   ├── FlutterPluginRegistrant.framework (only if you have plugins with iOS platform code)
    │   └── example_plugin.framework (each plugin is a separate framework)
    ├── Profile/
    │   ├── Flutter.framework
    │   ├── App.framework
    │   ├── FlutterPluginRegistrant.framework
    │   └── example_plugin.framework
    └── Release/
        ├── Flutter.framework
        ├── App.framework
        ├── FlutterPluginRegistrant.framework
        └── example_plugin.framework

2.2 拖動所需要 Framework 進(jìn)去工程
3、使用 CocoaPods 在 Xcode 和 Flutter 框架中內(nèi)嵌應(yīng)用和插件框架
3.1 除了將一個很大的 Flutter.framework 分發(fā)給其他開發(fā)者辜贵、機(jī)器或者持續(xù)集成 (CI) 系統(tǒng)之外悯蝉,你可以加入一個參數(shù) --cocoapods 將 Flutter 框架作為一個 CocoaPods 的 podspec 文件分發(fā)。這將會生成一個 Flutter.podspec 文件而不再生成 Flutter.framework 引擎文件
flutter build ios-framework --cocoapods --output=some/path/MyApp/Flutter/
3.2 上傳到我們私有庫
pod lib create KYFlutterPod
目錄結(jié)構(gòu)
3.3 打上標(biāo)簽推到遠(yuǎn)端
遠(yuǎn)程倉庫
3.4 pod集成
pod 'KYFlutterPod', :git => 'http://xxx.com/xxxx/xxx.git'

三托慨、實(shí)踐

通過對比以上方案鼻由,本項(xiàng)目采取不依賴 Flutter 環(huán)境集成:通過把 Flutter engine 、你的 dart 代碼和所有 Flutter plugin 編譯成 framework厚棵,并且配合 Cocoapods 管理蕉世,解決可持續(xù)集成與移植,并不需要原工程支持 Flutter 環(huán)境婆硬。
僅僅通過 Pod 即可以在iOS原有工程中開箱即用狠轻。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市彬犯,隨后出現(xiàn)的幾起案子忍啤,更是在濱河造成了極大的恐慌券盅,老刑警劉巖轻腺,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件空入,死亡現(xiàn)場離奇詭異孙蒙,居然都是意外死亡讽膏,警方通過查閱死者的電腦和手機(jī)房揭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進(jìn)店門栋豫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來箭阶,“玉大人虚茶,你說我怎么就攤上這事〕鸩危” “怎么了嘹叫?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長诈乒。 經(jīng)常有香客問我罩扇,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任喂饥,我火速辦了婚禮消约,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘员帮。我一直安慰自己或粮,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布捞高。 她就那樣靜靜地躺著氯材,像睡著了一般。 火紅的嫁衣襯著肌膚如雪硝岗。 梳的紋絲不亂的頭發(fā)上氢哮,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天,我揣著相機(jī)與錄音型檀,去河邊找鬼冗尤。 笑死,一個胖子當(dāng)著我的面吹牛胀溺,可吹牛的內(nèi)容都是我干的生闲。 我是一名探鬼主播,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼月幌,長吁一口氣:“原來是場噩夢啊……” “哼碍讯!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起扯躺,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤捉兴,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后录语,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體倍啥,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年澎埠,在試婚紗的時候發(fā)現(xiàn)自己被綠了虽缕。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡蒲稳,死狀恐怖氮趋,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情江耀,我是刑警寧澤剩胁,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站祥国,受9級特大地震影響昵观,放射性物質(zhì)發(fā)生泄漏晾腔。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一啊犬、第九天 我趴在偏房一處隱蔽的房頂上張望灼擂。 院中可真熱鬧,春花似錦觉至、人聲如沸缤至。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽领斥。三九已至,卻和暖如春沃暗,著一層夾襖步出監(jiān)牢的瞬間月洛,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工孽锥, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留嚼黔,地道東北人。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓惜辑,卻偏偏與公主長得像唬涧,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子盛撑,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評論 2 353