AppDelegate.m 2.3 KB

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