国产亚洲欧美人成在线,免费视频爱爱太爽了无码,日本免费一区二区三区高清视频 ,国产真实伦对白精彩视频

歡迎您光臨深圳塔燈網(wǎng)絡(luò)科技有限公司!
電話圖標 余先生:13699882642

網(wǎng)站百科

為您解碼網(wǎng)站建設(shè)的點點滴滴

在存在的iOS工程中使用Flutter

發(fā)表日期:2018-09 文章編輯:小燈 瀏覽次數(shù):3673

參考:https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps

本文代碼:https://github.com/yonglinwang002/TestFlutter

一、生成Flutter 模塊

假設(shè)已有工程 TestFlutter

$ cd TestFlutter/

$ flutter create -t module flutter_library

執(zhí)行后會生成

flutter_library 目錄

結(jié)構(gòu)如下

Flutter模塊

二、使用宿主工程依賴Flutter模塊

在主工程中增加一個 Group 如名為Flutter

生成后結(jié)構(gòu)

TestFlutter/

? ? Flutter/

? ? ? Flutter.xcconfig

? ? TestFlutter/

? ? ? AppDelegate.h

? ? ? AppDelegate.m

? ? ? :

? ? ? Debug.xcconfig

? ? ? Release.xcconfig

編輯Flutter.xcconfig 文件

#include "../flutter_library/.ios/Flutter/Generated.xcconfig"

ENABLE_BITCODE=NO

Debug.xcconfig文件

#include "../Flutter/Flutter.xcconfig"

Release.xcconfig文件

#include "../Flutter/Flutter.xcconfig"

FLUTTER_BUILD_MODE=release


使用xcconfig相應(yīng)配置


三、設(shè)置執(zhí)行Flutter的腳本

在Run Script中增加

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


Run Script

四、執(zhí)行腳本并把Framework加入工程

Cmd+B,Build工程,編譯后,F(xiàn)lutter目錄中生成如下

編譯后生成目錄

把其中的flutter_assets 目錄以及Flutter.framework加入到工程的Flutter Group中

注意添加flutter_assets目錄時,選擇 Create forlder references !!!! (我就是這里沒注意,后面始終出錯)

添加Flutter相關(guān)文件

五、添加調(diào)用Flutter語句

這里就沒有什么好說的了,

#import "Flutter/Flutter.h"


- (void)viewDidLoad {
??? [super viewDidLoad];
??? [self.view setBackgroundColor:[UIColor orangeColor]];
???
??? UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
??? [button addTarget:self
?????????????? action:@selector(handleButtonAction)
???? forControlEvents:UIControlEventTouchUpInside];
??? [button setTitle:@"Press me" forState:UIControlStateNormal];
??? [button setBackgroundColor:[UIColor blueColor]];
??? button.frame = CGRectMake(80.0, 210.0, 160.0, 40.0);
??? [self.view addSubview:button];
???
??? // Do any additional setup after loading the view, typically from a nib.
}


- (void)handleButtonAction {
??? FlutterViewController* flutterViewController = [[FlutterViewController alloc] init];
??? flutterViewController.view.frame = [UIScreen mainScreen].bounds;
//??? [flutterViewController setInitialRoute:@"route1"];//如果設(shè)置了router,可以到不同的頁面
??? [self presentViewController:flutterViewController animated:NO completion:nil];
}


Cmd+R吧,就出來了

這里說一個熱重載的方法 (Hot Reload) 在終端上

$ cd flutter_library

$ flutter attach

Waiting for a connection from Flutter on iPhone X...

然后,在XCode中 Cmd+R 執(zhí)行,待進入到FlutterView頁面時,

終端變成如下

這時如果修改了dart文件 ,再按r就可以重新載入

q 退出


本頁內(nèi)容由塔燈網(wǎng)絡(luò)科技有限公司通過網(wǎng)絡(luò)收集編輯所得,所有資料僅供用戶學(xué)習(xí)參考,本站不擁有所有權(quán),如您認為本網(wǎng)頁中由涉嫌抄襲的內(nèi)容,請及時與我們聯(lián)系,并提供相關(guān)證據(jù),工作人員會在5工作日內(nèi)聯(lián)系您,一經(jīng)查實,本站立刻刪除侵權(quán)內(nèi)容。本文鏈接:http://jstctz.cn/18193.html
相關(guān)APP開發(fā)