????????????????????????????????????????ios 原生項(xiàng)目嵌入 Flutter模塊項(xiàng)目
本文章和網(wǎng)上不同声畏,需要一定ios? Flutter開發(fā)經(jīng)驗(yàn)? ? 網(wǎng)上說的創(chuàng)建什么Flutter_module 其實(shí)就是已有的flutter項(xiàng)目
準(zhǔn)備資源:可運(yùn)行的flutter項(xiàng)目赡麦,ios原生項(xiàng)目 各一份
第一步: 刪除Flutter項(xiàng)目中的 ios、android和編譯過的build文件夾(就是運(yùn)行時(shí)產(chǎn)生的,再嵌入時(shí)是不需要的,只需要隱藏文件:.ios/就可以)如果找不到.ios文件? 執(zhí)行快捷鍵command+shift+.顯示隱藏文件夾,如果還找不到在項(xiàng)目的在pubspec.yaml?中加入以下代碼勺卢,保存后在看:
module:
androidX:true
androidPackage:com.example.flutter_base_component
iosBundleIdentifier:com.example.flutterBaseComponent
第二步:然后在flutter項(xiàng)目中執(zhí)行:flutter clean? ? ?和? ? ? ?flutterpubupgrade
第三步:接下來轉(zhuǎn)到ios項(xiàng)目中在Profile文件中添加如下代碼,然后執(zhí)行pod install:有版本報(bào)錯(cuò)可以修改第一行 11改成12? ?我是從9改上來的区端,10也不行 11運(yùn)行正常
platform :ios,'11.0'
flutter_application_path ='../xiyou_flutter_sdk'
load File.join(flutter_application_path,'.ios','Flutter','podhelper.rb')
target 'XiYouGames' do
?install_all_flutter_pods(flutter_application_path)
?post_installdo|installer|
?? flutter_post_install(installer)ifdefined?(flutter_post_install)
?end
? use_frameworks!
? inhibit_all_warnings!
?end
第四步:運(yùn)行完成后就可以在原生ios項(xiàng)目中寫跳轉(zhuǎn)方法了? 我的跳轉(zhuǎn)方法如下
引入頭文件#import? ? ??<Flutter/Flutter.h>(如果找不到值漫、再去執(zhí)行一遍第二步和pod install)
? ? FlutterViewController *flutterViewController =[FlutterViewController new];
? ? //設(shè)置路由參數(shù)
? ? [flutterViewControllersetInitialRoute:@"teamDetail"];
? ? [self presentViewController:flutterViewController animated:YES completion:nil];