Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
- @import Firebase;
- #import "AppDelegate.h"
- #import <React/RCTBundleURLProvider.h>
- #import <React/RCTRootView.h>
- #import <UMCore/UMModuleRegistry.h>
- #import <UMReactNativeAdapter/UMNativeModulesProxy.h>
- #import <UMReactNativeAdapter/UMModuleRegistryAdapter.h>
- @interface AppDelegate ()
- @property (nonatomic, strong) NSDictionary *launchOptions;
- @end
- @implementation AppDelegate
- @synthesize window = _window;
- - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
- {
- [FIRApp configure];
- self.moduleRegistryAdapter = [[UMModuleRegistryAdapter alloc] initWithModuleRegistryProvider:[[UMModuleRegistryProvider alloc] init]];
- self.launchOptions = launchOptions;
- self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
- #ifdef DEBUG
- [self initializeReactNativeApp];
- #else
- EXUpdatesAppController *controller = [EXUpdatesAppController sharedInstance];
- controller.delegate = self;
- [controller startAndShowLaunchScreen:self.window];
- #endif
- [super application:application didFinishLaunchingWithOptions:launchOptions];
- return YES;
- }
- - (RCTBridge *)initializeReactNativeApp
- {
- RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:self.launchOptions];
- RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge moduleName:@"main" initialProperties:nil];
- rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];
- UIViewController *rootViewController = [UIViewController new];
- rootViewController.view = rootView;
- self.window.rootViewController = rootViewController;
- [self.window makeKeyAndVisible];
- return bridge;
- }
- - (NSArray<id<RCTBridgeModule>> *)extraModulesForBridge:(RCTBridge *)bridge
- {
- NSArray<id<RCTBridgeModule>> *extraModules = [_moduleRegistryAdapter extraModulesForBridge:bridge];
- // You can inject any extra modules that you would like here, more information at:
- // https://facebook.github.io/react-native/docs/native-modules-ios.html#dependency-injection
- return extraModules;
- }
- - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge {
- #ifdef DEBUG
- return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
- #else
- return [[EXUpdatesAppController sharedInstance] launchAssetUrl];
- #endif
- }
- - (void)appController:(EXUpdatesAppController *)appController didStartWithSuccess:(BOOL)success
- {
- appController.bridge = [self initializeReactNativeApp];
- }
- @end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement