1
1
#import < React/RCTXRModule.h>
2
2
3
+ #if RCT_NEW_ARCH_ENABLED
3
4
#import < FBReactNativeSpec_visionOS/FBReactNativeSpec_visionOS.h>
5
+ #endif
4
6
5
7
#import < React/RCTBridge.h>
6
8
#import < React/RCTConvert.h>
7
9
#import < React/RCTUtils.h>
8
10
#import " RCTXR-Swift.h"
9
11
12
+ #if RCT_NEW_ARCH_ENABLED
10
13
@interface RCTXRModule () <NativeXRModuleSpec>
11
14
@end
15
+ #endif
12
16
13
17
@implementation RCTXRModule {
14
18
UIViewController *_immersiveBridgeView;
@@ -56,6 +60,19 @@ @implementation RCTXRModule {
56
60
});
57
61
}
58
62
63
+ - (void ) removeImmersiveBridge
64
+ {
65
+ RCTExecuteOnMainQueue (^{
66
+ [self ->_immersiveBridgeView willMoveToParentViewController: nil ];
67
+ [self ->_immersiveBridgeView.view removeFromSuperview ];
68
+ [self ->_immersiveBridgeView removeFromParentViewController ];
69
+ self->_immersiveBridgeView = nil ;
70
+ });
71
+ }
72
+
73
+ #pragma mark New Architecture
74
+
75
+ #if RCT_NEW_ARCH_ENABLED
59
76
- (facebook::react::ModuleConstants<JS::NativeXRModule::Constants::Builder>)constantsToExport {
60
77
return [self getConstants ];
61
78
}
@@ -70,20 +87,13 @@ @implementation RCTXRModule {
70
87
71
88
return constants;
72
89
}
90
+ #endif
73
91
74
- - (void ) removeImmersiveBridge
75
- {
76
- RCTExecuteOnMainQueue (^{
77
- [self ->_immersiveBridgeView willMoveToParentViewController: nil ];
78
- [self ->_immersiveBridgeView.view removeFromSuperview ];
79
- [self ->_immersiveBridgeView removeFromParentViewController ];
80
- self->_immersiveBridgeView = nil ;
81
- });
82
- }
83
-
92
+ #if RCT_NEW_ARCH_ENABLED
84
93
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule : (const facebook::react::ObjCTurboModule::InitParams &)params {
85
94
return std::make_shared<facebook::react::NativeXRModuleSpecJSI>(params);
86
95
}
96
+ #endif
87
97
88
98
+ (BOOL )requiresMainQueueSetup
89
99
{
0 commit comments