likes
comments
collection
share

Flutter 和iOS 混合开发(一)

作者站长头像
站长
· 阅读数 3

一.创建工程 1.创建flutter_module,创建flutter_module,创建flutter_module,不要创建flutter_Application 工程名字你自己定

如图

Flutter 和iOS 混合开发(一) 创建完运行下flutter工程,记住这个画面,一会我们要在原生的显示这个页面

Flutter 和iOS 混合开发(一) 2.创建一个xcode工程,这个xcode工程的创建位置最好(官方建议)放在flutter工程的同级目录下(后面你会感谢我告诉你这做的)

Flutter 和iOS 混合开发(一) 3.xcode 工程创建一个podfile文件,这是iOSer必备技能 在podfile输入:

flutter_application_path = '../flutter_module/'

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

引入flutter 然后pod install

4.配置xcode的相关东西了,因为flutter 不支持bitcode,所以需要把xcode的enablebitcode 设为NO

5.xcode 默认不会执行flutter文件的,那么需要一个运行脚本 我们需要在xcode创建一个脚本文件

Flutter 和iOS 混合开发(一)

这个脚本文件 flutter 官方已经提供给我们了, 位置在:你下载的flutterSDK 里(配置Flutter环境时下的) packages->flutter_tools->bin->xcode_backend.sh

Flutter 和iOS 混合开发(一)

6.在xcode脚本处我们填入

Flutter 和iOS 混合开发(一) "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" build

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

注意:因为脚本执行是有顺序的,我们需要拖到第二位,只需拖到第二位

Flutter 和iOS 混合开发(一)

7.编译工程,正常不会出错的

二 混合显示

在xcode工程引入#import <Flutter/Flutter.h>

//

// ViewController.m

// Native

//

// Created by 孙文策 on 2019/8/8.

// Copyright © 2019 孙文策. All rights reserved.

//

#import "ViewController.h" #import <Flutter/Flutter.h>

@interface ViewController ()

@end

@implementation ViewController

  • (void)viewDidLoad {

  • [super viewDidLoad];

    // Do any additional setup after loading the view.

    UIButton * button = [UIButton buttonWithType:UIButtonTypeCustom];

    [button setTitle:@"显示flutter" forState:UIControlStateNormal];

    button.frame = CGRectMake(50, 100, 100, 20);

    button.backgroundColor = [UIColor redColor];

    [self.view addSubview:button];

    [button addTarget:self action:@selector(testAction:) forControlEvents:UIControlEventTouchUpInside];

}

  • (void)testAction:(UIButton *)sender { FlutterViewController * flutterVc = [[FlutterViewController alloc] init]; [self presentViewController:flutterVc animated:YES completion:^{

    }]; }

@end

以上是我的测试代码。

点击按钮,我们就可以显示flutter 页面了!

可能有说的不详细的,因为本来写好了,结果发布的时候发现不了,还提示我已经保存到了草稿,然后意外退出来,之前写的全没了,心态崩了。。。 有问题可以联系评论,我回复很快

我得去恢复恢复心态,明天更新flutter和原生通讯,难受

转载自:https://juejin.cn/post/6844903908670701575
评论
请登录