// Copyright 2017, the Flutter project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. #include "AppDelegate.h" #include "GeneratedPluginRegistrant.h" #include "PlatformViewController.h" @implementation AppDelegate { FlutterResult _flutterResult; } - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [GeneratedPluginRegistrant registerWithRegistry:self]; FlutterViewController* controller = (FlutterViewController*)self.window.rootViewController; FlutterMethodChannel* channel = [FlutterMethodChannel methodChannelWithName:@"samples.flutter.io/platform_view" binaryMessenger:controller]; [channel setMethodCallHandler:^(FlutterMethodCall* call, FlutterResult result) { if ([@"switchView" isEqualToString:call.method]) { _flutterResult = result; PlatformViewController* platformViewController = [controller.storyboard instantiateViewControllerWithIdentifier:@"PlatformView"]; platformViewController.counter = ((NSNumber*)call.arguments).intValue; platformViewController.delegate = self; UINavigationController* navigationController = [[UINavigationController alloc] initWithRootViewController:platformViewController]; navigationController.navigationBar.topItem.title = @"Platform View"; [controller presentViewController:navigationController animated:NO completion:nil]; } else { result(FlutterMethodNotImplemented); } }]; return [super application:application didFinishLaunchingWithOptions:launchOptions]; } - (void)didUpdateCounter:(int)counter { _flutterResult([NSNumber numberWithInt:counter]); } @end