Skip to content

Commit 63a18ff

Browse files
committed
hide behind RCT_DEV_MENU
1 parent c7ab60d commit 63a18ff

File tree

7 files changed

+107
-78
lines changed

7 files changed

+107
-78
lines changed

packages/react-native/React/Base/RCTBundleURLProvider.mm

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
const NSUInteger kRCTBundleURLProviderDefaultPort = RCT_METRO_PORT;
2020

21-
#if RCT_DEV_MENU | RCT_PACKAGER_LOADING_FUNCTIONALITY
21+
#if RCT_DEV | RCT_PACKAGER_LOADING_FUNCTIONALITY
2222
static BOOL kRCTAllowPackagerAccess = YES;
2323
void RCTBundleURLProviderAllowPackagerServerAccess(BOOL allowed)
2424
{
@@ -78,7 +78,7 @@ - (void)resetToDefaults
7878
(unsigned long)kRCTBundleURLProviderDefaultPort]];
7979
}
8080

81-
#if RCT_DEV_MENU | RCT_PACKAGER_LOADING_FUNCTIONALITY
81+
#if RCT_DEV | RCT_PACKAGER_LOADING_FUNCTIONALITY
8282
+ (BOOL)isPackagerRunning:(NSString *)hostPort
8383
{
8484
return [RCTBundleURLProvider isPackagerRunning:hostPort scheme:nil];
@@ -155,14 +155,14 @@ - (NSString *)packagerServerHost
155155

156156
- (NSString *)packagerServerHostPort
157157
{
158-
#if RCT_DEV_MENU | RCT_PACKAGER_LOADING_FUNCTIONALITY
158+
#if RCT_DEV | RCT_PACKAGER_LOADING_FUNCTIONALITY
159159
if (!kRCTAllowPackagerAccess) {
160160
RCTLogInfo(@"Packager server access is disabled in this environment");
161161
return nil;
162162
}
163163
#endif
164164
NSString *location = [self jsLocation];
165-
#if RCT_DEV_MENU
165+
#if RCT_DEV
166166
NSString *scheme = [self packagerScheme];
167167
if ([location length] && ![RCTBundleURLProvider isPackagerRunning:location scheme:scheme]) {
168168
location = nil;

packages/react-native/React/Base/RCTDevMenuConfigurationDecorator.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,14 @@
88
#import <React/RCTDevMenu.h>
99

1010
@interface RCTDevMenuConfigurationDecorator : NSObject
11+
12+
#if RCT_DEV_MENU
13+
1114
@property (nonatomic, strong, readonly) RCTDevMenuConfiguration *devMenuConfiguration;
1215

13-
- (instancetype)initWithDevMenuConfiguration:(RCTDevMenuConfiguration *)devMenuConfiguration;
16+
- (instancetype)initWithDevMenuConfiguration:(RCTDevMenuConfiguration *__nullable)devMenuConfiguration;
1417
- (void)decorate:(RCTDevMenu *)devMenuModule;
18+
19+
#endif
20+
1521
@end

packages/react-native/React/Base/RCTDevMenuConfigurationDecorator.mm

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66
*/
77

88
#import <RCTDevMenuConfigurationDecorator.h>
9+
10+
#if RCT_DEV_MENU
11+
912
#import <React/RCTDevSettings.h>
1013

1114
@implementation RCTDevMenuConfigurationDecorator
@@ -41,3 +44,13 @@ - (void)decorate:(id<RCTBridgeModule>)bridgeModule
4144
}
4245

4346
@end
47+
48+
#else
49+
50+
@implementation RCTDevMenuConfigurationDecorator : NSObject
51+
52+
@end
53+
54+
#endif
55+
56+

packages/react-native/React/CoreModules/RCTDevMenu.h

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,24 +12,26 @@
1212
#import <React/RCTBridgeProxy.h>
1313
#import <React/RCTDefines.h>
1414

15-
#if RCT_DEV_MENU
16-
1715
RCT_EXTERN NSString *const RCTShowDevMenuNotification;
1816

19-
#endif
17+
@interface RCTDevMenuConfiguration : NSObject
2018

21-
@class RCTDevMenuItem;
19+
#if RCT_DEV_MENU
2220

23-
@interface RCTDevMenuConfiguration : NSObject
2421
@property (nonatomic, readonly) BOOL isDevMenuEnabled;
2522
@property (nonatomic, readonly) BOOL isShakeGestureEnabled;
2623
@property (nonatomic, readonly) BOOL areKeyboardShortcutsEnabled;
2724

2825
- (instancetype)initWithDevMenuEnabled:(BOOL)isDevMenuEnabled
2926
shakeGestureEnabled:(BOOL)isShakeGestureEnabled
3027
keyboardShortcutsEnabled:(BOOL)areKeyboardShortcutsEnabled;
28+
29+
#endif
30+
3131
@end
3232

33+
@class RCTDevMenuItem;
34+
3335
/**
3436
* Developer menu, useful for exposing extra functionality when debugging.
3537
*/

packages/react-native/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -775,9 +775,13 @@ - (BOOL)_shouldCreateObjCModule:(Class)moduleClass
775775
if ([module respondsToSelector:@selector(initialize)]) {
776776
[(id<RCTInitializing>)module initialize];
777777
}
778+
779+
#if RCT_DEV_MENU
778780

779781
[_devMenuConfigurationDecorator decorate:module];
780782

783+
#endif
784+
781785
/**
782786
* Attach method queue to id<RCTBridgeModule> object.
783787
* This is necessary because the id<RCTBridgeModule> object can be eagerly created/initialized before the method

packages/react-native/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,11 @@ - (instancetype)initWithDelegate:(id<RCTInstanceDelegate>)delegate
150150
bundleManager:bundleManager
151151
callableJSModules:[RCTCallableJSModules new]];
152152
_devMenuConfigurationDecorator =
153+
#if RCT_DEV_MENU
153154
[[RCTDevMenuConfigurationDecorator alloc] initWithDevMenuConfiguration:devMenuConfiguration];
155+
#else
156+
nil;
157+
#endif
154158

155159
_parentInspectorTarget = parentInspectorTarget;
156160
{
@@ -333,7 +337,7 @@ - (void)_start
333337
bridgeModuleDecorator:_bridgeModuleDecorator
334338
delegate:self
335339
jsInvoker:jsCallInvoker
336-
devMenuConfigurationDecorator:_devMenuConfigurationDecorator];
340+
devMenuConfigurationDecorator:_devMenuConfigurationDecorator];
337341

338342
#if RCT_DEV
339343
/**

packages/rn-tester/Podfile.lock

Lines changed: 67 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -2711,83 +2711,83 @@ SPEC CHECKSUMS:
27112711
boost: 7e761d76ca2ce687f7cc98e698152abd03a18f90
27122712
DoubleConversion: cb417026b2400c8f53ae97020b2be961b59470cb
27132713
fast_float: b32c788ed9c6a8c584d114d0047beda9664e7cc6
2714-
FBLazyVector: 6a267bebd9b180b5081e5729fa276d98bcc8f30e
2714+
FBLazyVector: 2d105abf51f88d8e8917ff79754d83caac0cecf2
27152715
fmt: a40bb5bd0294ea969aaaba240a927bd33d878cdd
27162716
glog: 5683914934d5b6e4240e497e0f4a3b42d1854183
2717-
hermes-engine: ce9fa290c24402d914bacc05a5825d13564bbba5
2717+
hermes-engine: 16f20c324118032dd4c670ac6281b0ba438346f5
27182718
MyNativeView: 26b517931cc8bfc7b602c410572b323348185461
27192719
NativeCxxModuleExample: 6a9788a749d522f8b6cc55a56f4760a670e4e2eb
27202720
OCMock: 589f2c84dacb1f5aaf6e4cec1f292551fe748e74
27212721
RCT-Folly: 846fda9475e61ec7bcbf8a3fe81edfcaeb090669
27222722
RCTDeprecation: 3808e36294137f9ee5668f4df2e73dc079cd1dcf
2723-
RCTRequired: 25f36254fda4b8c4bae9150e94a436d9539616bd
2724-
RCTTypeSafety: 6647ba3ae636c343bfe9c949884021522c080e8f
2725-
React: 7a9247e243cd3e3a7efbd0e89e167099081ce3ad
2726-
React-callinvoker: 56c8f17c0d3bee7ef30ea1ff529de4eafd0d5192
2727-
React-Core: d068f65ed510749a38b3fefdbed02e5a321eaa56
2728-
React-CoreModules: a3a331da7b7bb8864fd89ff517fe8c8db3784fd0
2729-
React-cxxreact: 16475fea3440ff06613345b1a5ac3971958f4e3f
2730-
React-debug: a9520e962d55285b3add02b615481d1b4be9c970
2731-
React-defaultsnativemodule: c172fed001657e1a21a55135a73b3f5f1c67c353
2732-
React-domnativemodule: dd2a5d10eec1bd424b154fe4a4dd1621036f83ba
2733-
React-Fabric: 3ec58c2997bc84f286c823cdf169d9a72a6c3b8f
2734-
React-FabricComponents: 85bf5526f6181f5592b654968b77ab7f4333c723
2735-
React-FabricImage: 5918e6188782c1ea9425a62986e61036d6ebd871
2736-
React-featureflags: f7cda0b11eee1be2e28344da0e3a3e80e3b6c1d1
2737-
React-featureflagsnativemodule: 0df4e2824c4f3f68b90ccdb137e79ca5d85bb702
2738-
React-graphics: a94947c1456c0cac7c65c6bde045d72369cfe62b
2739-
React-hermes: 7d8e9420cf7f468d16bae2dfd88967b8571d3161
2740-
React-idlecallbacksnativemodule: a442278daec791633e6b11465f18e51541fcaabc
2741-
React-ImageManager: e2adae0e6d15e4e87d6c0fe9a11faab6a1e7eef7
2742-
React-jserrorhandler: 1b270dd5881a518f40fcd7187b6a9b582a98ab0e
2743-
React-jsi: 40f9fd474433f6435f0e36c8fdc5a83a7e4d7b68
2744-
React-jsiexecutor: e449f20d90e4ed5e8504f71a3a39b77b41f6999b
2745-
React-jsinspector: 18218a060cfda107864a93430a2b24351e4afe8c
2746-
React-jsinspectorcdp: cead7b71bb780de5008e7d96fcafee068b3fd348
2747-
React-jsinspectornetwork: d843968bf116c79c568c9a7a73837e1d2ef7eb47
2748-
React-jsinspectortracing: 102ca0121a244830a259080e0372e8c3833622e5
2749-
React-jsitooling: 9be82221fa733e56dd56e97ac9bc8a7f3c2f5ca4
2750-
React-jsitracing: 10a7310f429e4075550634e9b8aa4dc9e59c1188
2751-
React-logger: 79f2690a555b612a129214e4ebe748ca9a70a13d
2752-
React-Mapbuffer: 5a4e1b741cd4c26ffb49944ac7ceeb1b649f0417
2753-
React-microtasksnativemodule: b7293239751b662b5e960769c263e04a46ec1956
2754-
React-NativeModulesApple: 6469ecb75ae9b0e07ca012d86c79697aefd6dd3f
2755-
React-oscompat: 7c5e21ee2a2ff315db78ecf6b8ff192bbfe8666b
2756-
React-perflogger: 3145fce8c71efc34b19db6fff8c299097592b20c
2757-
React-performancecdpmetrics: e393ce1b696c92b554c5588ab6e2c06f6fcd1e61
2758-
React-performancetimeline: 80453aee852d2cb49a5107900444b6e1af684188
2759-
React-RCTActionSheet: 8a26cb169cd50a6e7f4505c25ebcde4b765f5da3
2760-
React-RCTAnimation: 62c7bd807f1a7c0c0cc4661016e3c407010d60ca
2761-
React-RCTAppDelegate: 4fa49ba4c428c9695e1d57df0f3d89f8fc56eab7
2762-
React-RCTBlob: 797a94b668c7a27ae8a62fe9b698802ee6455783
2763-
React-RCTFabric: 9f839606dcb2439b48cd119e3e0f6bf867433382
2764-
React-RCTFBReactNativeSpec: b33ee2eb346f227fb7b9c64295c1b7f3d8e22085
2765-
React-RCTImage: f2c1da5758e94966ed16e337d5c89033e8d1dffb
2766-
React-RCTLinking: a4bba1ead6ddc5f6d7c64258729de12d2ca61b6a
2767-
React-RCTNetwork: f2734351a8cb42dfb3b6af7f1552625751b11647
2768-
React-RCTPushNotification: 43402603aa79b53b6a18a1e06bd13c29d62f582d
2769-
React-RCTRuntime: 5fa86323bf710f7ef6b939adb34b30be9f64880b
2770-
React-RCTSettings: eea79a596667f265fd3e9242c0b8235b04847a6e
2771-
React-RCTTest: 7342a5a223471d06cbd7c7dc6aacd5da273ff5e8
2772-
React-RCTText: d2adf2b79a23728cfcc5c8c8ddf76b4e8c50e911
2773-
React-RCTVibration: 89b754b3fd5f769b069e41e922343c02d6e12e7e
2774-
React-rendererconsistency: 7b3ed8131484973af6e08added4bb62511fddd66
2775-
React-renderercss: 84cc7009889ee9afe1791a705488dc225ab9d1a2
2776-
React-rendererdebug: 0060360a847f9a242aaccc22c515ebec371222a4
2777-
React-RuntimeApple: 5181619c7e83c0f4e63c6e4645ab332ff7047412
2778-
React-RuntimeCore: 4f4664b98969b84396799ba7c36443ec09c2d88b
2779-
React-runtimeexecutor: d4af7701d140cdda71654d5e2b85407fc4f24a30
2780-
React-RuntimeHermes: 10ab3c4eec51f5397d7baae48aa07b85c5df8603
2781-
React-runtimescheduler: eb87205c0410d33383603c8a4ffffdc73816d4f2
2782-
React-timing: 48686abe9648d83d03ea817a5b56b9b86151c6ca
2783-
React-utils: f38235dde9f55bda59699c8000403e4f21ed028f
2784-
ReactAppDependencyProvider: 1ec1a5c94f8cd596060e04c7340ccf6d4c8b41c7
2723+
RCTRequired: 0b98559c6d8d0e7fea7238731360843e2d8fa649
2724+
RCTTypeSafety: 3c661d128275407c85a9e852562986b0e16239bb
2725+
React: 414ff4a29e32a5ff84e437beb4747b0dd0faa1e9
2726+
React-callinvoker: 52c4f39441b1822efe685d3df77cd80b2cbce6be
2727+
React-Core: 46db2856c7b771261fd63e6f6c1c1cfe8e736372
2728+
React-CoreModules: 12250d540f179d9f369ef7d5e3a8c86d164c39d9
2729+
React-cxxreact: 395f1419b89831fbea52d2a36e6d3b2fb860a964
2730+
React-debug: 90d00df81936f49bfb9e6a44db52d8b7c9a40cf6
2731+
React-defaultsnativemodule: fb5267d0dab077f719d1b18cf8b7c49c58c1c35b
2732+
React-domnativemodule: 3d7cc2d7d00c81f75c23d3331d17b21fa6faeca0
2733+
React-Fabric: 9b3d05700948408d7a85e671f5bd91c8594f476b
2734+
React-FabricComponents: 9007703eacce007aaa1f0ba2cb58d4988ccf0b6a
2735+
React-FabricImage: 6a111877ddce3d1fdd61687f6ff71dee478187d3
2736+
React-featureflags: ed41e376ea39a50b01d8fe2c11d5482bffbef6b2
2737+
React-featureflagsnativemodule: 3834daf9ed3884ab3365d101b9d7c6fac087d4f7
2738+
React-graphics: 4fbee81fffc73081cb23e2c809646e913bf48515
2739+
React-hermes: 61173f509d7dcd78d1b3accf04b129753f46f5aa
2740+
React-idlecallbacksnativemodule: 1555a8160a9b83d69494b196c4898559b5819fa7
2741+
React-ImageManager: b9a9be45cbae631e9040a12830aa928a303e1553
2742+
React-jserrorhandler: fd7f615063616def86265d9cfb110bc3afb20ba0
2743+
React-jsi: 0c8532666a4a19d66182a4445d18ec0f0c24b38f
2744+
React-jsiexecutor: 5716536dd6f9b048828845d9d9a7106b62569cf3
2745+
React-jsinspector: d9de5de285133edafd0d416fd647f3dbbcb37c01
2746+
React-jsinspectorcdp: 4e1c669c9ae275293a7056311fa82d0200680be0
2747+
React-jsinspectornetwork: f2afdb0535af11fa40361be2d71a602381385123
2748+
React-jsinspectortracing: 76a8942c14bf53926b26f3d6ce7d8632c4207f33
2749+
React-jsitooling: 3db6c89cf1de6308fa9b00a3bb6174a1f36ed936
2750+
React-jsitracing: d1e537559cf9ca12a1db16dc9f937f6abe33d660
2751+
React-logger: 9a653c5addbdc26cff344aeae2609dcac18be2e1
2752+
React-Mapbuffer: b8317e64d87f91a9d5aefd763c56d64647b2d3af
2753+
React-microtasksnativemodule: 4b7ee46a4aea78c9d3a9860171a6afb068e58db4
2754+
React-NativeModulesApple: 113a286dcb74949aba50d703bb321fd5bad03883
2755+
React-oscompat: 1d2cec6dd16180f599c87e576909894bc9167cd5
2756+
React-perflogger: 46d045d9de38cec29e7fe5a48aba665cda877154
2757+
React-performancecdpmetrics: 483a43f957ec296de820622a1c920f9e2c34cbe4
2758+
React-performancetimeline: f4ec50e0be083145e86d975b8d92fe65a660058b
2759+
React-RCTActionSheet: 9f65b77d35d727e74165a6a9fa14dc8bdf1a54e1
2760+
React-RCTAnimation: 3647b33256b58c0d29a17ea4fefe6d287cf31f4e
2761+
React-RCTAppDelegate: 3273ead812ebaddda0ee364e94317901fc52343a
2762+
React-RCTBlob: 72b5e95e99c22dd713ffef2dc9778c3f4df9f9fa
2763+
React-RCTFabric: 2f421242ceb4c926bb1a38dff343ae253ce8d4c1
2764+
React-RCTFBReactNativeSpec: 9818f31466be15964fd4c0a536a71ef3cb8b9abe
2765+
React-RCTImage: a30a56f2f45f5d2e1123b465c510c36a2910a67c
2766+
React-RCTLinking: 0928900f0f9d84bcb30fc9e4eee415d288c08714
2767+
React-RCTNetwork: 7bbe4932019cf5530f7407e356f7d09c337923bb
2768+
React-RCTPushNotification: b2cde0d2962b7352fb2429e8b4ebf8e5a4c6761b
2769+
React-RCTRuntime: 6190f62d39e6794583d6b5e215061dc9171e60dd
2770+
React-RCTSettings: 178dfde7f40e437d3eef8abe980ee9967b1e2146
2771+
React-RCTTest: 344c9ea4c2dae1a3bf363ca978e18965250bec1e
2772+
React-RCTText: c21dff6c22c15afbaca95df9a0addcf447bbd2dc
2773+
React-RCTVibration: 39c2aaf4f76eb884fce0a0278ce4f72e3ce9b266
2774+
React-rendererconsistency: 51d6aba40184896668a61bda60f7e9599b414a02
2775+
React-renderercss: 216e3f37e364dfc879b689a4d4fc4c6c9a23d252
2776+
React-rendererdebug: e2b6133a69d35e2c582e50a3dae5ba311f1ad060
2777+
React-RuntimeApple: e7e716635b24e466b3cbba6f51cfc54cd20148b5
2778+
React-RuntimeCore: 65f6cad5d8b74ae1dbe8432ff155ab57dca3500e
2779+
React-runtimeexecutor: 6fb49a99b7939094990297eebbf054fbbbef611a
2780+
React-RuntimeHermes: 60cba0c0b5303389606b7211e9dc92a83363ef4e
2781+
React-runtimescheduler: 78435ccb92e7986ef77baa3fbacf03fd682d8c0a
2782+
React-timing: af6dbf22aa4e009cf193f21baa6ecc9400f1fd4b
2783+
React-utils: 6df0bded87e8dc5fc46e9ec4455dbb92c5a09a7e
2784+
ReactAppDependencyProvider: e70043af3b91778bda44281f8e3064846011640e
27852785
ReactCodegen: 5a2d9dbe44f2b16e06cbe68d2215d71776ae5c8b
2786-
ReactCommon: fdfb78bbe4fc6d22633e157584284c8cec3f3607
2787-
ReactCommon-Samples: 96816262c4196d20d061011da3534e7b9a4ada90
2786+
ReactCommon: 0719018d963dccecd0044dc98f5e17bbe7c09740
2787+
ReactCommon-Samples: 93117c38e925bd281cda322931f96348262e5af8
27882788
ScreenshotManager: 370045f403c555760ae26d85a01dda89d257fa7b
27892789
SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
2790-
Yoga: d88003b641719d7fa37c841e838af1efddb742dc
2790+
Yoga: 074be093e7680cf5122ad47abf6a9786a17c0545
27912791

27922792
PODFILE CHECKSUM: 995beda3236c2c76801e7a4efc7fedcd390220e6
27932793

0 commit comments

Comments
 (0)