diff options
Diffstat (limited to 'ios/Frontend/AppDelegate.m')
-rw-r--r-- | ios/Frontend/AppDelegate.m | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/ios/Frontend/AppDelegate.m b/ios/Frontend/AppDelegate.m new file mode 100644 index 00000000..0b7cba69 --- /dev/null +++ b/ios/Frontend/AppDelegate.m @@ -0,0 +1,58 @@ +#import "AppDelegate.h" + +#import <React/RCTBridge.h> +#import <React/RCTBundleURLProvider.h> +#import <React/RCTRootView.h> + +#if DEBUG +#import <FlipperKit/FlipperClient.h> +#import <FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h> +#import <FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h> +#import <FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h> +#import <SKIOSNetworkPlugin/SKIOSNetworkAdapter.h> +#import <FlipperKitReactPlugin/FlipperKitReactPlugin.h> + +static void InitializeFlipper(UIApplication *application) { + 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 + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ +#if DEBUG + InitializeFlipper(application); +#endif + + RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions]; + RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge + moduleName:@"Frontend" + initialProperties:nil]; + + rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1]; + + self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; + UIViewController *rootViewController = [UIViewController new]; + rootViewController.view = rootView; + self.window.rootViewController = rootViewController; + [self.window makeKeyAndVisible]; + return YES; +} + +- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge +{ +#if DEBUG + return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil]; +#else + return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; +#endif +} + +@end |