Move init of _contextContainer to init function

Summary:
changelog: [internal]

Move initialisation to `init` function. This allows subclasses of `RCTAppDelegate` to use new architecture when overriding `didFinishLaunchingWithOptions`

Reviewed By: cipolleschi

Differential Revision: D43535602

fbshipit-source-id: 32adb5416e67a63ad168f0ed2480287bf178a6a6
This commit is contained in:
Samuel Susla 2023-02-23 09:04:25 -08:00 коммит произвёл Facebook GitHub Bot
Родитель 26b2bb5343
Коммит 4672b5844f
2 изменённых файлов: 24 добавлений и 11 удалений

Просмотреть файл

@ -33,17 +33,24 @@ static NSString *const kRNConcurrentRoot = @"concurrentRoot";
@implementation RCTAppDelegate
#if RCT_NEW_ARCH_ENABLED
- (instancetype)init
{
if (self = [super init]) {
_contextContainer = std::make_shared<facebook::react::ContextContainer const>();
_reactNativeConfig = std::make_shared<facebook::react::EmptyReactNativeConfig const>();
_contextContainer->insert("ReactNativeConfig", _reactNativeConfig);
}
return self;
}
#endif
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
BOOL enableTM = NO;
#if RCT_NEW_ARCH_ENABLED
enableTM = self.turboModuleEnabled;
_contextContainer = std::make_shared<facebook::react::ContextContainer const>();
_reactNativeConfig = std::make_shared<facebook::react::EmptyReactNativeConfig const>();
_contextContainer->insert("ReactNativeConfig", _reactNativeConfig);
#endif
RCTAppSetupPrepareApp(application, enableTM);
if (!self.bridge) {

Просмотреть файл

@ -88,16 +88,22 @@ static NSString *const kRNConcurrentRoot = @"concurrentRoot";
@implementation AppDelegate
- (BOOL)application:(__unused UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
#if RCT_NEW_ARCH_ENABLED
- (instancetype)init
{
RCTEnableTurboModule(YES);
#ifdef RN_FABRIC_ENABLED
if (self = [super init]) {
_contextContainer = std::make_shared<facebook::react::ContextContainer const>();
_reactNativeConfig = std::make_shared<facebook::react::EmptyReactNativeConfig const>();
_contextContainer->insert("ReactNativeConfig", _reactNativeConfig);
}
return self;
}
#endif
- (BOOL)application:(__unused UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
RCTEnableTurboModule(YES);
_bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions];
// Appetizer.io params check