You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

72 lines
2.6 KiB

3 years ago
  1. #import "AppDelegate.h"
  2. #import <React/RCTBridge.h>
  3. #import <React/RCTBundleURLProvider.h>
  4. #import <React/RCTRootView.h>
  5. #import "RNBootSplash.h"
  6. #import <AppCenterReactNative.h>
  7. #import <AppCenterReactNativeAnalytics.h>
  8. #import <AppCenterReactNativeCrashes.h>
  9. #import <AppCenterReactNative.h>
  10. #import <AppCenterReactNativeAnalytics.h>
  11. #import <AppCenterReactNativeCrashes.h>
  12. #if DEBUG
  13. #import <FlipperKit/FlipperClient.h>
  14. #import <FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h>
  15. #import <FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h>
  16. #import <FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h>
  17. #import <SKIOSNetworkPlugin/SKIOSNetworkAdapter.h>
  18. #import <FlipperKitReactPlugin/FlipperKitReactPlugin.h>
  19. static void InitializeFlipper(UIApplication *application) {
  20. FlipperClient *client = [FlipperClient sharedClient];
  21. SKDescriptorMapper *layoutDescriptorMapper = [[SKDescriptorMapper alloc] initWithDefaults];
  22. [client addPlugin:[[FlipperKitLayoutPlugin alloc] initWithRootNode:application withDescriptorMapper:layoutDescriptorMapper]];
  23. [client addPlugin:[[FKUserDefaultsPlugin alloc] initWithSuiteName:nil]];
  24. [client addPlugin:[FlipperKitReactPlugin new]];
  25. [client addPlugin:[[FlipperKitNetworkPlugin alloc] initWithNetworkAdapter:[SKIOSNetworkAdapter new]]];
  26. [client start];
  27. }
  28. #endif
  29. @implementation AppDelegate
  30. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
  31. {
  32. #if DEBUG
  33. InitializeFlipper(application);
  34. #endif
  35. [AppCenterReactNative register];
  36. [AppCenterReactNativeAnalytics registerWithInitiallyEnabled:true];
  37. [AppCenterReactNativeCrashes registerWithAutomaticProcessing];
  38. RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions];
  39. RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge
  40. moduleName:@"rntemplate"
  41. initialProperties:nil];
  42. rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];
  43. self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
  44. UIViewController *rootViewController = [UIViewController new];
  45. rootViewController.view = rootView;
  46. self.window.rootViewController = rootViewController;
  47. [self.window makeKeyAndVisible];
  48. [RNBootSplash initWithStoryboard:@"BootSplash" rootView:rootView];
  49. return YES;
  50. }
  51. - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
  52. {
  53. #if DEBUG
  54. return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
  55. #else
  56. return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
  57. #endif
  58. }
  59. @end