iOS集成Flutter
2020-12-08 本文已影响0人
傲骨天成科技
当我们在公司中,在现有的原生项目中如何在部分页面使用Flutter呢,下来具体说说怎么做
一、创建Flutter项目
#打开与iOS根目录并列的目录
cd xxx/path
#创建Flutter项目
flutter create -t module FlutterModul
1607321169866.jpg
二、原生项目(DaQin)使用Cocoapods为工程导入第三方库
- 1.为主工程生成Podfile文件
在DaQin的根目录中执行
pod init
命令生成podfile文件
- 2.编辑Podfile文件
#注意路径和文件夹名字正确无误
flutter_application_path = '../FlutterModul/'
load File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')
target 'DaQin' do
use_frameworks!
install_all_flutter_pods(flutter_application_path)
end
- 安装三方库
pod install
当安装完成之后,基本上快集成完成了,下面我们配置Xcode
三、Xcode配置
flutter和iOS的混合开发是不支持BitCode的,所以我们需要把它设置为NO
1607321629482.jpg
此时已经把Flutter集成到了原生项目中了,这时我们需要跳转到Flutter的页面
import UIKit
import Flutter
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.title = "我的app"
}
@IBAction func nextAction(_ sender: UIButton) {
let flutterVC = FlutterViewController.init()
flutterVC.setInitialRoute("myApp")
flutterVC.modalPresentationStyle = .fullScreen
self.navigationController?.pushViewController(flutterVC, animated: true)
// self.present(flutterVC, animated: true, completion: nil)
}
}
截屏2020-12-07 下午2.15.52.png
参考:https://www.jianshu.com/p/2756f8ead891
参考:https://zhuanlan.zhihu.com/p/60676966
参考:https://blog.csdn.net/c10WTiybQ1Ye3/article/details/88415077