Created
July 15, 2020 13:30
-
-
Save henrymoulton/480ee303c862aca882af164770b9534d to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#import "AppDelegate.h" | |
#import <CodePush/CodePush.h> | |
#import <React/RCTBridge.h> | |
#import <React/RCTBundleURLProvider.h> | |
#import <React/RCTRootView.h> | |
#import "Firebase.h" | |
#import <RNCPushNotificationIOS.h> | |
#import "RNBootSplash.h" | |
#import "RNNotifications.h" | |
#if DEBUG | |
#ifdef FB_SONARKIT_ENABLED | |
#import <FlipperKit/FlipperClient.h> | |
#import <FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h> | |
#import <FlipperKitLayoutPlugin/SKDescriptorMapper.h> | |
#import <FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h> | |
#import <FlipperKitReactPlugin/FlipperKitReactPlugin.h> | |
#import <FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h> | |
#import <SKIOSNetworkPlugin/SKIOSNetworkAdapter.h> | |
#endif | |
#endif | |
@implementation AppDelegate | |
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions | |
{ | |
[self initializeFlipper:application]; | |
[FIRApp configure]; | |
RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions]; | |
RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge | |
moduleName:@"OvoEnergyApp" | |
initialProperties:nil]; | |
rootView.backgroundColor = [UIColor whiteColor]; | |
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; | |
UIViewController *rootViewController = [UIViewController new]; | |
rootViewController.view = rootView; | |
self.window.rootViewController = rootViewController; | |
[self.window makeKeyAndVisible]; | |
[RNBootSplash show:@"LaunchScreen" inView:rootView]; | |
[RNNotifications startMonitorNotifications]; | |
return YES; | |
} | |
- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge | |
{ | |
#if DEBUG | |
return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil]; | |
#else | |
return [CodePush bundleURL]; | |
#endif | |
} | |
// Required for the register event. | |
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken | |
{ | |
[RNCPushNotificationIOS didRegisterForRemoteNotificationsWithDeviceToken:deviceToken]; | |
[RNNotifications didRegisterForRemoteNotificationsWithDeviceToken:deviceToken]; | |
} | |
// Required for the registrationError event. | |
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error | |
{ | |
[RNCPushNotificationIOS didFailToRegisterForRemoteNotificationsWithError:error]; | |
[RNNotifications didFailToRegisterForRemoteNotificationsWithError:error]; | |
} | |
// Required for the localNotification event. | |
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification | |
{ | |
[RNCPushNotificationIOS didReceiveLocalNotification:notification]; | |
} | |
- (void) initializeFlipper:(UIApplication *)application { | |
#if DEBUG | |
#ifdef FB_SONARKIT_ENABLED | |
FlipperClient *client = [FlipperClient sharedClient]; | |
SKDescriptorMapper *layoutDescriptorMapper = [[SKDescriptorMapper alloc] initWithDefaults]; | |
[client addPlugin: [[FlipperKitLayoutPlugin alloc] initWithRootNode: application withDescriptorMapper: layoutDescriptorMapper]]; | |
[client addPlugin: [[FKUserDefaultsPlugin alloc] initWithSuiteName:nil]]; | |
[client addPlugin: [FlipperKitReactPlugin new]]; | |
[client addPlugin: [[FlipperKitNetworkPlugin alloc] initWithNetworkAdapter:[SKIOSNetworkAdapter new]]]; | |
[client start]; | |
#endif | |
#endif | |
} | |
@end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment