發表日期:2018-11 文章編輯:小燈 瀏覽次數:1691
1 創建iOS項目(做測試使用)
2 cocoapods走起
project 'XX.xcodeproj' #source 'https://github.com/CocoaPods/Specs.git' #platform :ios, '9.0' #inhibit_all_warnings! # Uncomment the next line to define a global platform for your project # platform :ios, '9.0'target 'XX' do # Uncomment the next line if you're using Swift or would like to use dynamic frameworks # use_frameworks!# Pods for XXtarget 'XXTests' do inherit! :search_paths # Pods for testing endtarget 'XXUITests' do inherit! :search_paths # Pods for testing endend flutter_application_path = './flutter_module' eval(File.read(File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')), binding)
關鍵部鋒分就是末尾添加的
flutter_application_path = './flutter_module' eval(File.read(File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')), binding)
3 進入項目根目錄添加flutter_module
flutter create -t module flutter_module
4 Xcode 設置
Build Phases 添加 Run Scripts
"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" build
4 pod install
5 code設置
5.1 Appdelegate
#import <Flutter/Flutter.h> @interface AppDelegate : FlutterAppDelegate//@property (strong, nonatomic) UIWindow *window; @end
#import <FlutterPluginRegistrant/GeneratedPluginRegistrant.h> // Only if you have Flutter Plugins- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. [GeneratedPluginRegistrant registerWithRegistry:self]; return [super application:application didFinishLaunchingWithOptions:launchOptions]; }
5.2 Controller切換
- (IBAction)pushFlutterVC:(id)sender { FlutterViewController *flutterViewController = [[FlutterViewController alloc] init]; flutterViewController.view.backgroundColor = [UIColor cyanColor]; [flutterViewController setInitialRoute:@"route1"];[self presentViewController:flutterViewControlleranimated:YES completion:^{UIViewController * vc = [[NextViewController alloc] init]; // vc.view.backgroundColor = [UIColor whiteColor];AppDelegate *appDelegate = [UIApplication sharedApplication].delegate;UIViewController * rootVC = appDelegate.window.rootViewController;UIViewController * topVC = nil;if ([rootVC isKindOfClass:[UINavigationController class]]) { topVC =((UINavigationController *)rootVC).topViewController.presentedViewController;} else {topVC =rootVC.presentedViewController;}[topVC presentViewController:vc animated:YES completion:nil];}]; }
5.2中我們要考慮到首頁是Nav UIViewCOntrooler 或者是FlutterViewController
到此我們的就可以直接Xcode run運行項目啦
6 假如想實現hot reload
進入項目中的flutter_module,運行 flutter attach
熱更新 日期:2018-10 瀏覽次數:7357
日期:2018-12 瀏覽次數:4425
日期:2018-07 瀏覽次數:4960
日期:2018-12 瀏覽次數:4260
日期:2018-09 瀏覽次數:5597
日期:2018-12 瀏覽次數:10014
日期:2018-11 瀏覽次數:4899
日期:2018-07 瀏覽次數:4666
日期:2018-05 瀏覽次數:4952
日期:2018-12 瀏覽次數:4403
日期:2018-10 瀏覽次數:5226
日期:2018-12 瀏覽次數:6300
日期:2018-11 瀏覽次數:4556
日期:2018-08 瀏覽次數:4681
日期:2018-11 瀏覽次數:12747
日期:2018-09 瀏覽次數:5667
日期:2018-12 瀏覽次數:4934
日期:2018-10 瀏覽次數:4267
日期:2018-11 瀏覽次數:4616
日期:2018-12 瀏覽次數:6151
日期:2018-06 瀏覽次數:4096
日期:2018-08 瀏覽次數:5541
日期:2018-10 瀏覽次數:4538
日期:2018-12 瀏覽次數:4624
日期:2018-07 瀏覽次數:4451
日期:2018-12 瀏覽次數:4601
日期:2018-06 瀏覽次數:4483
日期:2018-11 瀏覽次數:4459
日期:2018-12 瀏覽次數:4340
日期:2018-12 瀏覽次數:5361
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.