diff --git a/packages/react-native/Libraries/XR/RCTXRModule.mm b/packages/react-native/Libraries/XR/RCTXRModule.mm index f2cae7ac901efc..43a063d9dbfd92 100644 --- a/packages/react-native/Libraries/XR/RCTXRModule.mm +++ b/packages/react-native/Libraries/XR/RCTXRModule.mm @@ -1,14 +1,18 @@ #import +#if RCT_NEW_ARCH_ENABLED #import +#endif #import #import #import #import "RCTXR-Swift.h" +#if RCT_NEW_ARCH_ENABLED @interface RCTXRModule () @end +#endif @implementation RCTXRModule { UIViewController *_immersiveBridgeView; @@ -56,6 +60,19 @@ @implementation RCTXRModule { }); } +- (void) removeImmersiveBridge +{ + RCTExecuteOnMainQueue(^{ + [self->_immersiveBridgeView willMoveToParentViewController:nil]; + [self->_immersiveBridgeView.view removeFromSuperview]; + [self->_immersiveBridgeView removeFromParentViewController]; + self->_immersiveBridgeView = nil; + }); +} + +#pragma mark New Architecture + +#if RCT_NEW_ARCH_ENABLED - (facebook::react::ModuleConstants)constantsToExport { return [self getConstants]; } @@ -70,20 +87,13 @@ @implementation RCTXRModule { return constants; } +#endif -- (void) removeImmersiveBridge -{ - RCTExecuteOnMainQueue(^{ - [self->_immersiveBridgeView willMoveToParentViewController:nil]; - [self->_immersiveBridgeView.view removeFromSuperview]; - [self->_immersiveBridgeView removeFromParentViewController]; - self->_immersiveBridgeView = nil; - }); -} - +#if RCT_NEW_ARCH_ENABLED - (std::shared_ptr)getTurboModule:(const facebook::react::ObjCTurboModule::InitParams &)params { return std::make_shared(params); } +#endif + (BOOL)requiresMainQueueSetup { diff --git a/packages/react-native/Libraries/XR/React-RCTXR.podspec b/packages/react-native/Libraries/XR/React-RCTXR.podspec index 3851160fd5fe6a..fc94dfa265b66c 100644 --- a/packages/react-native/Libraries/XR/React-RCTXR.podspec +++ b/packages/react-native/Libraries/XR/React-RCTXR.podspec @@ -11,8 +11,12 @@ else source[:tag] = "v#{version}" end +is_new_arch_enabled = ENV["RCT_NEW_ARCH_ENABLED"] == "1" +new_arch_enabled_flag = (is_new_arch_enabled ? " -DRCT_NEW_ARCH_ENABLED" : "") + folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_CFG_NO_COROUTINES=1 -Wno-comma -Wno-shorten-64-to-32' folly_version = '2022.05.16.00' +compiler_flags = folly_compiler_flags + + new_arch_enabled_flag + ' -Wno-nullability-completeness' header_search_paths = [ "\"$(PODS_ROOT)/RCT-Folly\"", @@ -28,7 +32,7 @@ Pod::Spec.new do |s| s.license = package["license"] s.author = "Callstack" s.platforms = min_supported_versions - s.compiler_flags = folly_compiler_flags + ' -Wno-nullability-completeness' + s.compiler_flags = compiler_flags s.source = source s.source_files = "*.{m,mm,swift}" s.preserve_paths = "package.json", "LICENSE", "LICENSE-docs"