iOS 集成Flutter

1、第一步:

在iOS项目的同级目录下创建flutter工程

flutter create -t module flutter_library

2、第二步:

cd  flutter_library

flutter build ios --debug --no-codesign

flutter build ios --release --no-codesign

等待编译完成

3、第三步:

在iOS项目中添加(加粗部分

platform :ios,'9.0'

flutter_application_path ='../flutter_library/'  #相对目录

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

target 'FlutteriOS' do

  use_frameworks!

  install_all_flutter_pods(flutter_application_path)

  # Pods for FlutteriOS

end

然后pod install

这时候基本完成了配置,具体就是iOS怎么调用flutter的项目

4、第四步:

#import 

@interface AppDelegate : FlutterAppDelegate <UIApplicationDelegate>

@property (nonatomic,strong) FlutterEngine *flutterEngine;

@end

2、

#import<FlutterPluginRegistrant/GeneratedPluginRegistrant.h>// 如果你需要用到Flutter插件时

- (BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions {

    self.flutterEngine = [[FlutterEngine alloc] initWithName:@"io.flutter" project:nil];

       [self.flutterEngine runWithEntrypoint:nil];

       [GeneratedPluginRegistrant registerWithRegistry:self.flutterEngine]; //如果你需要用到Flutter插件时

    return YES;

}

5、第五步:

FlutterViewController* flutterViewController = [[FlutterViewController alloc] initWithProject:nil nibName:nil bundle:nil];

        flutterViewController.navigationItem.title=@"Flutter Demo";

        [self presentViewController:flutterViewController animated:YES completion:nil];

具体图如下:

备注:

如果报错:

dyld: Library not loaded: @rpath/App.framework/App.....

解决方案:

1、卸载cocoapods

sudo gem uninstall -n /usr/local/bin cocoapods cocoapods-core cocoapods-deintegrate cocoapods-downloader cocoapods-plugins cocoapods-search cocoapods-stats cocoapods-trunk cocoapods-try

2、卸载 ruby-macho

sudo gem uninstall ruby-macho

3、重新安装pod

sudo gem install -n /usr/local/bin cocoapods

4、cd到iOS项目目录下删除原有的pods、Podfile.lock、.xcworkspace,重新pod install

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值