1616
1717@class RCTSurfacePresenter;
1818
19+ #ifdef USE_REACT_NATIVE_CONFIG
1920using ReactNativeConfig = facebook::react::EmptyReactNativeConfig const ;
21+ #endif // USE_REACT_NATIVE_CONFIG
2022
2123#if USE_BRIDGELESS
2224@interface ReactNativeHost () <RCTContextContainerHandling>
@@ -34,7 +36,9 @@ @implementation ReactNativeHost {
3436 RCTHost *_reactHost;
3537 NSLock *_isShuttingDown;
3638 RNXHostReleaser *_hostReleaser;
39+ #ifdef USE_REACT_NATIVE_CONFIG
3740 std::shared_ptr<ReactNativeConfig> _reactNativeConfig;
41+ #endif // USE_REACT_NATIVE_CONFIG
3842}
3943
4044- (instancetype )initWithConfig : (id <RNXHostConfig>)config
@@ -197,7 +201,9 @@ - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
197201- (void )didCreateContextContainer :
198202 (std::shared_ptr<facebook::react::ContextContainer>)contextContainer
199203{
204+ #ifdef USE_REACT_NATIVE_CONFIG
200205 contextContainer->insert (" ReactNativeConfig" , _reactNativeConfig);
206+ #endif // USE_REACT_NATIVE_CONFIG
201207}
202208
203209#else // USE_BRIDGELESS
@@ -254,15 +260,21 @@ - (void)initializeReactHost
254260 RCTEnableTurboModuleInterop (YES );
255261 RCTEnableTurboModuleInteropBridgeProxy (YES );
256262
263+ #ifdef USE_REACT_NATIVE_CONFIG
257264 _reactNativeConfig = std::make_shared<ReactNativeConfig>();
258265 std::weak_ptr<ReactNativeConfig> reactNativeConfig{_reactNativeConfig};
266+ #endif // USE_REACT_NATIVE_CONFIG
259267
260268 SharedJSRuntimeFactory (^jsEngineProvider)() = ^SharedJSRuntimeFactory {
261269#if USE_HERMES
270+ #ifdef USE_REACT_NATIVE_CONFIG
262271 auto config = reactNativeConfig.lock ();
263272 NSAssert (config, @" Expected nonnull ReactNativeConfig instance" );
264273 return std::make_shared<facebook::react::RCTHermesInstance>(config, nullptr );
265274#else
275+ return std::make_shared<facebook::react::RCTHermesInstance>(nullptr , false );
276+ #endif // USE_REACT_NATIVE_CONFIG
277+ #else // USE_HERMES
266278 return std::make_shared<facebook::react::RCTJscInstance>();
267279#endif // USE_HERMES
268280 };
0 commit comments