发表日期:2018-09 文章编辑:小灯 浏览次数:3637
参考:https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps
本文代码:https://github.com/yonglinwang002/TestFlutter
假设已有工程 TestFlutter
$ cd TestFlutter/
$ flutter create -t module flutter_library
执行后会生成
flutter_library 目录
结构如下
在主工程中增加一个 Group 如名为Flutter
生成后结构
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相应配置
在Run Script中增加
"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" build
Cmd+B,Build工程,编译后,Flutter目录中生成如下
把其中的flutter_assets 目录以及Flutter.framework加入到工程的Flutter Group中
注意添加flutter_assets目录时,选择 Create forlder references !!!! (我就是这里没注意,后面始终出错)
这里就没有什么好说的了,
#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"];//如果设置了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 执行,待进入到FlutterView页面时,
终端变成如下
这时如果修改了dart文件 ,再按r就可以重新载入
q 退出
日期:2018-10 浏览次数:7551
日期:2018-12 浏览次数:4636
日期:2018-07 浏览次数:5150
日期:2018-12 浏览次数:4425
日期:2018-09 浏览次数:5791
日期:2018-12 浏览次数:10210
日期:2018-11 浏览次数:5119
日期:2018-07 浏览次数:4866
日期:2018-05 浏览次数:5125
日期:2018-12 浏览次数:4596
日期:2018-10 浏览次数:5402
日期:2018-12 浏览次数:6470
日期:2018-11 浏览次数:4724
日期:2018-08 浏览次数:4879
日期:2018-11 浏览次数:13028
日期:2018-09 浏览次数:5891
日期:2018-12 浏览次数:5106
日期:2018-10 浏览次数:4452
日期:2018-11 浏览次数:4810
日期:2018-12 浏览次数:6329
日期:2018-06 浏览次数:4273
日期:2018-08 浏览次数:5718
日期:2018-10 浏览次数:4709
日期:2018-12 浏览次数:4828
日期:2018-07 浏览次数:4639
日期:2018-12 浏览次数:4812
日期:2018-06 浏览次数:4643
日期:2018-11 浏览次数:4628
日期:2018-12 浏览次数:4564
日期:2018-12 浏览次数:5541
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.