react-native 0.74.0-rc.6 → 0.74.0-rc.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Libraries/AppDelegate/RCTAppDelegate.mm +10 -5
- package/Libraries/AppDelegate/RCTRootViewFactory.h +13 -3
- package/Libraries/AppDelegate/RCTRootViewFactory.mm +25 -10
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/React/Base/RCTBridgeProxy.h +6 -1
- package/React/Base/RCTBridgeProxy.mm +4 -2
- package/React/Base/RCTVersion.m +1 -1
- package/React/CoreModules/RCTDeviceInfo.mm +10 -13
- package/React/Modules/RCTUIManager.m +10 -0
- package/ReactAndroid/api/ReactAndroid.api +1 -0
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +9 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +1 -7
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +6 -1
- package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
- package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +1 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +4 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +1 -1
- package/ReactCommon/react/runtime/React-RuntimeCore.podspec +1 -1
- package/ReactCommon/react/runtime/iostests/RCTHostTests.mm +2 -1
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost+Internal.h +0 -2
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +10 -1
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +32 -9
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.h +2 -1
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +5 -12
- package/ReactCommon/react/test_utils/ios/Shims/ShimRCTInstance.h +1 -1
- package/ReactCommon/react/test_utils/ios/Shims/ShimRCTInstance.mm +3 -2
- package/ReactCommon/yoga/Yoga.podspec +4 -1
- package/package.json +8 -8
- package/scripts/cocoapods/utils.rb +1 -1
- package/sdks/hermes-engine/utils/build-apple-framework.sh +0 -2
- package/sdks/hermes-engine/utils/build-ios-framework.sh +4 -1
- package/sdks/hermes-engine/utils/build-mac-framework.sh +4 -1
- package/sdks/hermesc/osx-bin/hermes +0 -0
- package/sdks/hermesc/osx-bin/hermesc +0 -0
- package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
- package/template/ios/HelloWorld/PrivacyInfo.xcprivacy +38 -0
- package/template/ios/HelloWorld.xcodeproj/project.pbxproj +2 -0
- package/template/package.json +5 -5
|
@@ -233,13 +233,18 @@
|
|
|
233
233
|
|
|
234
234
|
- (RCTRootViewFactory *)createRCTRootViewFactory
|
|
235
235
|
{
|
|
236
|
+
__weak __typeof(self) weakSelf = self;
|
|
237
|
+
RCTBundleURLBlock bundleUrlBlock = ^{
|
|
238
|
+
RCTAppDelegate *strongSelf = weakSelf;
|
|
239
|
+
return strongSelf.bundleURL;
|
|
240
|
+
};
|
|
241
|
+
|
|
236
242
|
RCTRootViewFactoryConfiguration *configuration =
|
|
237
|
-
[[RCTRootViewFactoryConfiguration alloc]
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
243
|
+
[[RCTRootViewFactoryConfiguration alloc] initWithBundleURLBlock:bundleUrlBlock
|
|
244
|
+
newArchEnabled:self.fabricEnabled
|
|
245
|
+
turboModuleEnabled:self.turboModuleEnabled
|
|
246
|
+
bridgelessEnabled:self.bridgelessEnabled];
|
|
241
247
|
|
|
242
|
-
__weak __typeof(self) weakSelf = self;
|
|
243
248
|
configuration.createRootViewWithBridge = ^UIView *(RCTBridge *bridge, NSString *moduleName, NSDictionary *initProps)
|
|
244
249
|
{
|
|
245
250
|
return [weakSelf createRootViewWithBridge:bridge moduleName:moduleName initProps:initProps];
|
|
@@ -23,6 +23,11 @@ typedef UIView *_Nonnull (
|
|
|
23
23
|
^RCTCreateRootViewWithBridgeBlock)(RCTBridge *bridge, NSString *moduleName, NSDictionary *initProps);
|
|
24
24
|
typedef RCTBridge *_Nonnull (
|
|
25
25
|
^RCTCreateBridgeWithDelegateBlock)(id<RCTBridgeDelegate> delegate, NSDictionary *launchOptions);
|
|
26
|
+
typedef NSURL *_Nullable (^RCTSourceURLForBridgeBlock)(RCTBridge *bridge);
|
|
27
|
+
typedef NSURL *_Nullable (^RCTBundleURLBlock)(void);
|
|
28
|
+
typedef NSArray<id<RCTBridgeModule>> *_Nonnull (^RCTExtraModulesForBridgeBlock)(RCTBridge *bridge);
|
|
29
|
+
typedef NSDictionary<NSString *, Class> *_Nonnull (^RCTExtraLazyModuleClassesForBridge)(RCTBridge *bridge);
|
|
30
|
+
typedef BOOL (^RCTBridgeDidNotFindModuleBlock)(RCTBridge *bridge, NSString *moduleName);
|
|
26
31
|
|
|
27
32
|
#pragma mark - RCTRootViewFactory Configuration
|
|
28
33
|
@interface RCTRootViewFactoryConfiguration : NSObject
|
|
@@ -37,7 +42,7 @@ typedef RCTBridge *_Nonnull (
|
|
|
37
42
|
@property (nonatomic, assign, readonly) BOOL turboModuleEnabled;
|
|
38
43
|
|
|
39
44
|
/// Return the bundle URL for the main bundle.
|
|
40
|
-
@property (nonatomic)
|
|
45
|
+
@property (nonatomic, nonnull) RCTBundleURLBlock bundleURLBlock;
|
|
41
46
|
|
|
42
47
|
/**
|
|
43
48
|
* Use this method to initialize a new instance of `RCTRootViewFactoryConfiguration` by passing a `bundleURL`
|
|
@@ -48,10 +53,15 @@ typedef RCTBridge *_Nonnull (
|
|
|
48
53
|
* pointing to a path inside the app resources, e.g. `file://.../main.jsbundle`.
|
|
49
54
|
*
|
|
50
55
|
*/
|
|
56
|
+
- (instancetype)initWithBundleURLBlock:(RCTBundleURLBlock)bundleURLBlock
|
|
57
|
+
newArchEnabled:(BOOL)newArchEnabled
|
|
58
|
+
turboModuleEnabled:(BOOL)turboModuleEnabled
|
|
59
|
+
bridgelessEnabled:(BOOL)bridgelessEnabled NS_DESIGNATED_INITIALIZER;
|
|
60
|
+
|
|
51
61
|
- (instancetype)initWithBundleURL:(NSURL *)bundleURL
|
|
52
62
|
newArchEnabled:(BOOL)newArchEnabled
|
|
53
63
|
turboModuleEnabled:(BOOL)turboModuleEnabled
|
|
54
|
-
bridgelessEnabled:(BOOL)bridgelessEnabled;
|
|
64
|
+
bridgelessEnabled:(BOOL)bridgelessEnabled __deprecated;
|
|
55
65
|
|
|
56
66
|
/**
|
|
57
67
|
* Block that allows to override logic of creating root view instance.
|
|
@@ -107,7 +117,7 @@ typedef RCTBridge *_Nonnull (
|
|
|
107
117
|
*
|
|
108
118
|
* @parameter: moduleName - the name of the app, used by Metro to resolve the module.
|
|
109
119
|
* @parameter: initialProperties - a set of initial properties.
|
|
110
|
-
* @parameter:
|
|
120
|
+
* @parameter: launchOptions - a dictionary with a set of options.
|
|
111
121
|
*/
|
|
112
122
|
- (UIView *_Nonnull)viewWithModuleName:(NSString *)moduleName
|
|
113
123
|
initialProperties:(NSDictionary *__nullable)initialProperties
|
|
@@ -57,9 +57,23 @@ static NSDictionary *updateInitialProps(NSDictionary *initialProps, BOOL isFabri
|
|
|
57
57
|
newArchEnabled:(BOOL)newArchEnabled
|
|
58
58
|
turboModuleEnabled:(BOOL)turboModuleEnabled
|
|
59
59
|
bridgelessEnabled:(BOOL)bridgelessEnabled
|
|
60
|
+
{
|
|
61
|
+
return [self
|
|
62
|
+
initWithBundleURLBlock:^{
|
|
63
|
+
return bundleURL;
|
|
64
|
+
}
|
|
65
|
+
newArchEnabled:newArchEnabled
|
|
66
|
+
turboModuleEnabled:turboModuleEnabled
|
|
67
|
+
bridgelessEnabled:bridgelessEnabled];
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
- (instancetype)initWithBundleURLBlock:(RCTBundleURLBlock)bundleURLBlock
|
|
71
|
+
newArchEnabled:(BOOL)newArchEnabled
|
|
72
|
+
turboModuleEnabled:(BOOL)turboModuleEnabled
|
|
73
|
+
bridgelessEnabled:(BOOL)bridgelessEnabled
|
|
60
74
|
{
|
|
61
75
|
if (self = [super init]) {
|
|
62
|
-
|
|
76
|
+
_bundleURLBlock = bundleURLBlock;
|
|
63
77
|
_fabricEnabled = newArchEnabled;
|
|
64
78
|
_turboModuleEnabled = turboModuleEnabled;
|
|
65
79
|
_bridgelessEnabled = bridgelessEnabled;
|
|
@@ -123,7 +137,7 @@ static NSDictionary *updateInitialProps(NSDictionary *initialProps, BOOL isFabri
|
|
|
123
137
|
RCTEnableTurboModuleInterop(YES);
|
|
124
138
|
RCTEnableTurboModuleInteropBridgeProxy(YES);
|
|
125
139
|
|
|
126
|
-
[self createReactHostIfNeeded];
|
|
140
|
+
[self createReactHostIfNeeded:launchOptions];
|
|
127
141
|
|
|
128
142
|
RCTFabricSurface *surface = [_reactHost createSurfaceWithModuleName:moduleName initialProperties:initProps];
|
|
129
143
|
|
|
@@ -206,19 +220,20 @@ static NSDictionary *updateInitialProps(NSDictionary *initialProps, BOOL isFabri
|
|
|
206
220
|
|
|
207
221
|
#pragma mark - New Arch Utilities
|
|
208
222
|
|
|
209
|
-
- (void)createReactHostIfNeeded
|
|
223
|
+
- (void)createReactHostIfNeeded:(NSDictionary *)launchOptions
|
|
210
224
|
{
|
|
211
225
|
if (_reactHost) {
|
|
212
226
|
return;
|
|
213
227
|
}
|
|
214
228
|
|
|
215
229
|
__weak __typeof(self) weakSelf = self;
|
|
216
|
-
_reactHost = [[RCTHost alloc]
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
230
|
+
_reactHost = [[RCTHost alloc] initWithBundleURLProvider:self->_configuration.bundleURLBlock
|
|
231
|
+
hostDelegate:nil
|
|
232
|
+
turboModuleManagerDelegate:_turboModuleManagerDelegate
|
|
233
|
+
jsEngineProvider:^std::shared_ptr<facebook::react::JSRuntimeFactory>() {
|
|
234
|
+
return [weakSelf createJSRuntimeFactory];
|
|
235
|
+
}
|
|
236
|
+
launchOptions:launchOptions];
|
|
222
237
|
[_reactHost setBundleURLProvider:^NSURL *() {
|
|
223
238
|
return [weakSelf bundleURL];
|
|
224
239
|
}];
|
|
@@ -247,7 +262,7 @@ static NSDictionary *updateInitialProps(NSDictionary *initialProps, BOOL isFabri
|
|
|
247
262
|
|
|
248
263
|
- (NSURL *)bundleURL
|
|
249
264
|
{
|
|
250
|
-
return self->_configuration.
|
|
265
|
+
return self->_configuration.bundleURLBlock();
|
|
251
266
|
}
|
|
252
267
|
|
|
253
268
|
@end
|
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
|
|
10
10
|
#import "RCTBridgeModule.h"
|
|
11
11
|
|
|
12
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
13
|
+
|
|
12
14
|
@class RCTBundleManager;
|
|
13
15
|
@class RCTCallableJSModules;
|
|
14
16
|
@class RCTModuleRegistry;
|
|
@@ -22,7 +24,8 @@
|
|
|
22
24
|
callableJSModules:(RCTCallableJSModules *)callableJSModules
|
|
23
25
|
dispatchToJSThread:(void (^)(dispatch_block_t))dispatchToJSThread
|
|
24
26
|
registerSegmentWithId:(void (^)(NSNumber *, NSString *))registerSegmentWithId
|
|
25
|
-
runtime:(void *)runtime
|
|
27
|
+
runtime:(void *)runtime
|
|
28
|
+
launchOptions:(nullable NSDictionary *)launchOptions NS_DESIGNATED_INITIALIZER;
|
|
26
29
|
|
|
27
30
|
- (NSMethodSignature *)methodSignatureForSelector:(SEL)sel;
|
|
28
31
|
- (void)forwardInvocation:(NSInvocation *)invocation;
|
|
@@ -37,3 +40,5 @@
|
|
|
37
40
|
- (id)moduleForName:(NSString *)moduleName lazilyLoadIfNecessary:(BOOL)lazilyLoad;
|
|
38
41
|
|
|
39
42
|
@end
|
|
43
|
+
|
|
44
|
+
NS_ASSUME_NONNULL_END
|
|
@@ -35,6 +35,7 @@ using namespace facebook;
|
|
|
35
35
|
RCTModuleRegistry *_moduleRegistry;
|
|
36
36
|
RCTBundleManager *_bundleManager;
|
|
37
37
|
RCTCallableJSModules *_callableJSModules;
|
|
38
|
+
NSDictionary *_launchOptions;
|
|
38
39
|
void (^_dispatchToJSThread)(dispatch_block_t);
|
|
39
40
|
void (^_registerSegmentWithId)(NSNumber *, NSString *);
|
|
40
41
|
void *_runtime;
|
|
@@ -47,6 +48,7 @@ using namespace facebook;
|
|
|
47
48
|
dispatchToJSThread:(void (^)(dispatch_block_t))dispatchToJSThread
|
|
48
49
|
registerSegmentWithId:(void (^)(NSNumber *, NSString *))registerSegmentWithId
|
|
49
50
|
runtime:(void *)runtime
|
|
51
|
+
launchOptions:(nullable NSDictionary *)launchOptions
|
|
50
52
|
{
|
|
51
53
|
self = [super self];
|
|
52
54
|
if (self) {
|
|
@@ -57,6 +59,7 @@ using namespace facebook;
|
|
|
57
59
|
_dispatchToJSThread = dispatchToJSThread;
|
|
58
60
|
_registerSegmentWithId = registerSegmentWithId;
|
|
59
61
|
_runtime = runtime;
|
|
62
|
+
_launchOptions = [launchOptions copy];
|
|
60
63
|
}
|
|
61
64
|
return self;
|
|
62
65
|
}
|
|
@@ -191,8 +194,7 @@ using namespace facebook;
|
|
|
191
194
|
|
|
192
195
|
- (NSDictionary *)launchOptions
|
|
193
196
|
{
|
|
194
|
-
|
|
195
|
-
return nil;
|
|
197
|
+
return _launchOptions;
|
|
196
198
|
}
|
|
197
199
|
|
|
198
200
|
- (BOOL)loading
|
package/React/Base/RCTVersion.m
CHANGED
|
@@ -54,11 +54,6 @@ RCT_EXPORT_MODULE()
|
|
|
54
54
|
|
|
55
55
|
_currentInterfaceOrientation = [RCTSharedApplication() statusBarOrientation];
|
|
56
56
|
|
|
57
|
-
[[NSNotificationCenter defaultCenter] addObserver:self
|
|
58
|
-
selector:@selector(interfaceOrientationDidChange)
|
|
59
|
-
name:UIApplicationDidChangeStatusBarOrientationNotification
|
|
60
|
-
object:nil];
|
|
61
|
-
|
|
62
57
|
_currentInterfaceDimensions = [self _exportedDimensions];
|
|
63
58
|
|
|
64
59
|
[[NSNotificationCenter defaultCenter] addObserver:self
|
|
@@ -75,6 +70,10 @@ RCT_EXPORT_MODULE()
|
|
|
75
70
|
selector:@selector(interfaceFrameDidChange)
|
|
76
71
|
name:RCTWindowFrameDidChangeNotification
|
|
77
72
|
object:nil];
|
|
73
|
+
[[NSNotificationCenter defaultCenter] addObserver:self
|
|
74
|
+
selector:@selector(interfaceFrameDidChange)
|
|
75
|
+
name:UIDeviceOrientationDidChangeNotification
|
|
76
|
+
object:nil];
|
|
78
77
|
|
|
79
78
|
// TODO T175901725 - Registering the RCTDeviceInfo module to the notification is a short-term fix to unblock 0.73
|
|
80
79
|
// The actual behavior should be that the module is properly registered in the TurboModule/Bridge infrastructure
|
|
@@ -89,6 +88,9 @@ RCT_EXPORT_MODULE()
|
|
|
89
88
|
|
|
90
89
|
- (void)invalidate
|
|
91
90
|
{
|
|
91
|
+
if (_invalidated) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
92
94
|
_invalidated = YES;
|
|
93
95
|
[self _cleanupObservers];
|
|
94
96
|
}
|
|
@@ -99,20 +101,15 @@ RCT_EXPORT_MODULE()
|
|
|
99
101
|
name:RCTAccessibilityManagerDidUpdateMultiplierNotification
|
|
100
102
|
object:[_moduleRegistry moduleForName:"AccessibilityManager"]];
|
|
101
103
|
|
|
102
|
-
[[NSNotificationCenter defaultCenter] removeObserver:self
|
|
103
|
-
name:UIApplicationDidChangeStatusBarOrientationNotification
|
|
104
|
-
object:nil];
|
|
105
|
-
|
|
106
104
|
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidBecomeActiveNotification object:nil];
|
|
107
105
|
|
|
108
106
|
[[NSNotificationCenter defaultCenter] removeObserver:self name:RCTUserInterfaceStyleDidChangeNotification object:nil];
|
|
109
107
|
|
|
110
108
|
[[NSNotificationCenter defaultCenter] removeObserver:self name:RCTWindowFrameDidChangeNotification object:nil];
|
|
111
109
|
|
|
112
|
-
[[NSNotificationCenter defaultCenter]
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
object:nil];
|
|
110
|
+
[[NSNotificationCenter defaultCenter] removeObserver:self name:RCTBridgeWillInvalidateModulesNotification object:nil];
|
|
111
|
+
|
|
112
|
+
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIDeviceOrientationDidChangeNotification object:nil];
|
|
116
113
|
}
|
|
117
114
|
|
|
118
115
|
static BOOL RCTIsIPhoneNotched()
|
|
@@ -1680,6 +1680,16 @@ static UIView *_jsResponder;
|
|
|
1680
1680
|
return self;
|
|
1681
1681
|
}
|
|
1682
1682
|
|
|
1683
|
+
- (NSUInteger)count
|
|
1684
|
+
{
|
|
1685
|
+
return self->_registry.count;
|
|
1686
|
+
}
|
|
1687
|
+
|
|
1688
|
+
- (NSEnumerator *)keyEnumerator
|
|
1689
|
+
{
|
|
1690
|
+
return self->_registry.keyEnumerator;
|
|
1691
|
+
}
|
|
1692
|
+
|
|
1683
1693
|
- (id)objectForKey:(id)key
|
|
1684
1694
|
{
|
|
1685
1695
|
if (![key isKindOfClass:[NSNumber class]]) {
|
|
@@ -4897,6 +4897,7 @@ public class com/facebook/react/uimanager/UIImplementation {
|
|
|
4897
4897
|
public fun dispatchViewUpdates (I)V
|
|
4898
4898
|
public fun findSubviewIn (IFFLcom/facebook/react/bridge/Callback;)V
|
|
4899
4899
|
public fun getProfiledBatchPerfCounters ()Ljava/util/Map;
|
|
4900
|
+
public fun getRootViewNum ()I
|
|
4900
4901
|
protected fun handleCreateView (Lcom/facebook/react/uimanager/ReactShadowNode;ILcom/facebook/react/uimanager/ReactStylesDiffMap;)V
|
|
4901
4902
|
protected fun handleUpdateView (Lcom/facebook/react/uimanager/ReactShadowNode;Ljava/lang/String;Lcom/facebook/react/uimanager/ReactStylesDiffMap;)V
|
|
4902
4903
|
public fun manageChildren (ILcom/facebook/react/bridge/ReadableArray;Lcom/facebook/react/bridge/ReadableArray;Lcom/facebook/react/bridge/ReadableArray;Lcom/facebook/react/bridge/ReadableArray;Lcom/facebook/react/bridge/ReadableArray;)V
|
|
@@ -109,7 +109,11 @@ public class ReactActivityDelegate {
|
|
|
109
109
|
} else {
|
|
110
110
|
mReactDelegate =
|
|
111
111
|
new ReactDelegate(
|
|
112
|
-
getPlainActivity(),
|
|
112
|
+
getPlainActivity(),
|
|
113
|
+
getReactNativeHost(),
|
|
114
|
+
mainComponentName,
|
|
115
|
+
launchOptions,
|
|
116
|
+
isFabricEnabled()) {
|
|
113
117
|
@Override
|
|
114
118
|
protected ReactRootView createRootView() {
|
|
115
119
|
return ReactActivityDelegate.this.createRootView(launchOptions);
|
|
@@ -45,6 +45,15 @@ public class ReactDelegate {
|
|
|
45
45
|
|
|
46
46
|
private boolean mFabricEnabled = false;
|
|
47
47
|
|
|
48
|
+
/**
|
|
49
|
+
* Do not use this constructor as it's not accounting for New Architecture at all. You should
|
|
50
|
+
* either use {@link ReactDelegate#ReactDelegate(Activity, ReactHost, String, Bundle)} if you're
|
|
51
|
+
* on bridgeless mode or {@link ReactDelegate#ReactDelegate(Activity, ReactNativeHost, String,
|
|
52
|
+
* Bundle, boolean)} and use the last parameter to toggle paper/fabric.
|
|
53
|
+
*
|
|
54
|
+
* @deprecated Use one of the other constructors instead to account for New Architecture.
|
|
55
|
+
*/
|
|
56
|
+
@Deprecated
|
|
48
57
|
public ReactDelegate(
|
|
49
58
|
Activity activity,
|
|
50
59
|
ReactNativeHost reactNativeHost,
|
|
@@ -177,7 +177,7 @@ public class UIImplementation {
|
|
|
177
177
|
*
|
|
178
178
|
* @return The num of root view
|
|
179
179
|
*/
|
|
180
|
-
|
|
180
|
+
public int getRootViewNum() {
|
|
181
181
|
return mOperationsQueue.getNativeViewHierarchyManager().getRootViewNum();
|
|
182
182
|
}
|
|
183
183
|
|
|
@@ -589,12 +589,6 @@ public class UIImplementation {
|
|
|
589
589
|
|
|
590
590
|
/** Invoked at the end of the transaction to commit any updates to the node hierarchy. */
|
|
591
591
|
public void dispatchViewUpdates(int batchId) {
|
|
592
|
-
if (getRootViewNum() <= 0) {
|
|
593
|
-
// If there are no RootViews registered, there will be no View updates to dispatch.
|
|
594
|
-
// This is a hack to prevent this from being called when Fabric is used everywhere.
|
|
595
|
-
// This should no longer be necessary in Bridgeless Mode.
|
|
596
|
-
return;
|
|
597
|
-
}
|
|
598
592
|
SystraceMessage.beginSection(
|
|
599
593
|
Systrace.TRACE_TAG_REACT_JAVA_BRIDGE, "UIImplementation.dispatchViewUpdates")
|
|
600
594
|
.arg("batchId", batchId)
|
|
@@ -707,7 +707,12 @@ public class UIManagerModule extends ReactContextBaseJavaModule
|
|
|
707
707
|
listener.willDispatchViewUpdates(this);
|
|
708
708
|
}
|
|
709
709
|
try {
|
|
710
|
-
|
|
710
|
+
// If there are no RootViews registered, there will be no View updates to dispatch.
|
|
711
|
+
// This is a hack to prevent this from being called when Fabric is used everywhere.
|
|
712
|
+
// This should no longer be necessary in Bridgeless Mode.
|
|
713
|
+
if (mUIImplementation.getRootViewNum() > 0) {
|
|
714
|
+
mUIImplementation.dispatchViewUpdates(batchId);
|
|
715
|
+
}
|
|
711
716
|
} finally {
|
|
712
717
|
Systrace.endSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE);
|
|
713
718
|
}
|
|
@@ -219,7 +219,10 @@ static jsi::Value convertJSErrorDetailsToJSRuntimeError(jsi::Runtime &runtime, N
|
|
|
219
219
|
NSString *message = jsErrorDetails[@"message"];
|
|
220
220
|
|
|
221
221
|
auto jsError = createJSRuntimeError(runtime, [message UTF8String]);
|
|
222
|
-
|
|
222
|
+
for (NSString *key in jsErrorDetails) {
|
|
223
|
+
id value = jsErrorDetails[key];
|
|
224
|
+
jsError.asObject(runtime).setProperty(runtime, [key UTF8String], convertObjCObjectToJSIValue(runtime, value));
|
|
225
|
+
}
|
|
223
226
|
|
|
224
227
|
return jsError;
|
|
225
228
|
}
|
package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm
CHANGED
|
@@ -674,7 +674,7 @@ static Class getFallbackClassFromName(const char *name)
|
|
|
674
674
|
*/
|
|
675
675
|
if (_bridge) {
|
|
676
676
|
[(id)module setValue:_bridge forKey:@"bridge"];
|
|
677
|
-
} else if (_bridgeProxy
|
|
677
|
+
} else if (_bridgeProxy) {
|
|
678
678
|
[(id)module setValue:_bridgeProxy forKey:@"bridge"];
|
|
679
679
|
}
|
|
680
680
|
} @catch (NSException *exception) {
|
|
@@ -58,7 +58,8 @@ static ShimRCTInstance *shimmedRCTInstance;
|
|
|
58
58
|
turboModuleManagerDelegate:OCMProtocolMock(@protocol(RCTTurboModuleManagerDelegate))
|
|
59
59
|
jsEngineProvider:^std::shared_ptr<facebook::react::JSRuntimeFactory>() {
|
|
60
60
|
return std::make_shared<facebook::react::RCTHermesInstance>();
|
|
61
|
-
}
|
|
61
|
+
}
|
|
62
|
+
launchOptions:nil];
|
|
62
63
|
}
|
|
63
64
|
|
|
64
65
|
- (void)tearDown
|
|
@@ -21,6 +21,8 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
21
21
|
|
|
22
22
|
@protocol RCTTurboModuleManagerDelegate;
|
|
23
23
|
|
|
24
|
+
typedef NSURL *_Nullable (^RCTHostBundleURLProvider)(void);
|
|
25
|
+
|
|
24
26
|
// Runtime API
|
|
25
27
|
|
|
26
28
|
@protocol RCTHostDelegate <NSObject>
|
|
@@ -45,10 +47,17 @@ typedef std::shared_ptr<facebook::react::JSRuntimeFactory> (^RCTHostJSEngineProv
|
|
|
45
47
|
|
|
46
48
|
@interface RCTHost : NSObject
|
|
47
49
|
|
|
50
|
+
- (instancetype)initWithBundleURLProvider:(RCTHostBundleURLProvider)provider
|
|
51
|
+
hostDelegate:(id<RCTHostDelegate>)hostDelegate
|
|
52
|
+
turboModuleManagerDelegate:(id<RCTTurboModuleManagerDelegate>)turboModuleManagerDelegate
|
|
53
|
+
jsEngineProvider:(RCTHostJSEngineProvider)jsEngineProvider
|
|
54
|
+
launchOptions:(nullable NSDictionary *)launchOptions NS_DESIGNATED_INITIALIZER;
|
|
55
|
+
|
|
48
56
|
- (instancetype)initWithBundleURL:(NSURL *)bundleURL
|
|
49
57
|
hostDelegate:(id<RCTHostDelegate>)hostDelegate
|
|
50
58
|
turboModuleManagerDelegate:(id<RCTTurboModuleManagerDelegate>)turboModuleManagerDelegate
|
|
51
|
-
jsEngineProvider:(RCTHostJSEngineProvider)jsEngineProvider
|
|
59
|
+
jsEngineProvider:(RCTHostJSEngineProvider)jsEngineProvider
|
|
60
|
+
launchOptions:(nullable NSDictionary *)launchOptions __deprecated;
|
|
52
61
|
|
|
53
62
|
@property (nonatomic, weak, nullable) id<RCTHostRuntimeDelegate> runtimeDelegate;
|
|
54
63
|
|
|
@@ -58,6 +58,8 @@ class RCTHostPageTargetDelegate : public facebook::react::jsinspector_modern::Pa
|
|
|
58
58
|
RCTHostBundleURLProvider _bundleURLProvider;
|
|
59
59
|
RCTHostJSEngineProvider _jsEngineProvider;
|
|
60
60
|
|
|
61
|
+
NSDictionary *_launchOptions;
|
|
62
|
+
|
|
61
63
|
// All the surfaces that need to be started after main bundle execution
|
|
62
64
|
NSMutableArray<RCTFabricSurface *> *_surfaceStartBuffer;
|
|
63
65
|
std::mutex _surfaceStartBufferMutex;
|
|
@@ -77,14 +79,31 @@ class RCTHostPageTargetDelegate : public facebook::react::jsinspector_modern::Pa
|
|
|
77
79
|
_RCTInitializeJSThreadConstantInternal();
|
|
78
80
|
}
|
|
79
81
|
|
|
80
|
-
/**
|
|
81
|
-
Host initialization should not be resource intensive. A host may be created before any intention of using React Native
|
|
82
|
-
has been expressed.
|
|
83
|
-
*/
|
|
84
82
|
- (instancetype)initWithBundleURL:(NSURL *)bundleURL
|
|
85
83
|
hostDelegate:(id<RCTHostDelegate>)hostDelegate
|
|
86
84
|
turboModuleManagerDelegate:(id<RCTTurboModuleManagerDelegate>)turboModuleManagerDelegate
|
|
87
85
|
jsEngineProvider:(RCTHostJSEngineProvider)jsEngineProvider
|
|
86
|
+
launchOptions:(nullable NSDictionary *)launchOptions
|
|
87
|
+
{
|
|
88
|
+
return [self
|
|
89
|
+
initWithBundleURLProvider:^{
|
|
90
|
+
return bundleURL;
|
|
91
|
+
}
|
|
92
|
+
hostDelegate:hostDelegate
|
|
93
|
+
turboModuleManagerDelegate:turboModuleManagerDelegate
|
|
94
|
+
jsEngineProvider:jsEngineProvider
|
|
95
|
+
launchOptions:launchOptions];
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
Host initialization should not be resource intensive. A host may be created before any intention of using React Native
|
|
100
|
+
has been expressed.
|
|
101
|
+
*/
|
|
102
|
+
- (instancetype)initWithBundleURLProvider:(RCTHostBundleURLProvider)provider
|
|
103
|
+
hostDelegate:(id<RCTHostDelegate>)hostDelegate
|
|
104
|
+
turboModuleManagerDelegate:(id<RCTTurboModuleManagerDelegate>)turboModuleManagerDelegate
|
|
105
|
+
jsEngineProvider:(RCTHostJSEngineProvider)jsEngineProvider
|
|
106
|
+
launchOptions:(nullable NSDictionary *)launchOptions
|
|
88
107
|
{
|
|
89
108
|
if (self = [super init]) {
|
|
90
109
|
_hostDelegate = hostDelegate;
|
|
@@ -93,9 +112,9 @@ class RCTHostPageTargetDelegate : public facebook::react::jsinspector_modern::Pa
|
|
|
93
112
|
_bundleManager = [RCTBundleManager new];
|
|
94
113
|
_moduleRegistry = [RCTModuleRegistry new];
|
|
95
114
|
_jsEngineProvider = [jsEngineProvider copy];
|
|
115
|
+
_launchOptions = [launchOptions copy];
|
|
96
116
|
|
|
97
117
|
__weak RCTHost *weakSelf = self;
|
|
98
|
-
|
|
99
118
|
auto bundleURLGetter = ^NSURL *()
|
|
100
119
|
{
|
|
101
120
|
RCTHost *strongSelf = weakSelf;
|
|
@@ -107,7 +126,7 @@ class RCTHostPageTargetDelegate : public facebook::react::jsinspector_modern::Pa
|
|
|
107
126
|
};
|
|
108
127
|
|
|
109
128
|
auto bundleURLSetter = ^(NSURL *bundleURL_) {
|
|
110
|
-
[weakSelf _setBundleURL:
|
|
129
|
+
[weakSelf _setBundleURL:bundleURL_];
|
|
111
130
|
};
|
|
112
131
|
|
|
113
132
|
auto defaultBundleURLGetter = ^NSURL *()
|
|
@@ -120,7 +139,6 @@ class RCTHostPageTargetDelegate : public facebook::react::jsinspector_modern::Pa
|
|
|
120
139
|
return strongSelf->_bundleURLProvider();
|
|
121
140
|
};
|
|
122
141
|
|
|
123
|
-
[self _setBundleURL:bundleURL];
|
|
124
142
|
[_bundleManager setBridgelessBundleURLGetter:bundleURLGetter
|
|
125
143
|
andSetter:bundleURLSetter
|
|
126
144
|
andDefaultGetter:defaultBundleURLGetter];
|
|
@@ -166,6 +184,9 @@ class RCTHostPageTargetDelegate : public facebook::react::jsinspector_modern::Pa
|
|
|
166
184
|
|
|
167
185
|
- (void)start
|
|
168
186
|
{
|
|
187
|
+
if (_bundleURLProvider) {
|
|
188
|
+
[self _setBundleURL:_bundleURLProvider()];
|
|
189
|
+
}
|
|
169
190
|
auto &inspectorFlags = jsinspector_modern::InspectorFlags::getInstance();
|
|
170
191
|
if (inspectorFlags.getEnableModernCDPRegistry() && !_inspectorPageId.has_value()) {
|
|
171
192
|
_inspectorTarget =
|
|
@@ -204,7 +225,8 @@ class RCTHostPageTargetDelegate : public facebook::react::jsinspector_modern::Pa
|
|
|
204
225
|
turboModuleManagerDelegate:_turboModuleManagerDelegate
|
|
205
226
|
onInitialBundleLoad:_onInitialBundleLoad
|
|
206
227
|
moduleRegistry:_moduleRegistry
|
|
207
|
-
parentInspectorTarget:_inspectorTarget.get()
|
|
228
|
+
parentInspectorTarget:_inspectorTarget.get()
|
|
229
|
+
launchOptions:_launchOptions];
|
|
208
230
|
[_hostDelegate hostDidStart:self];
|
|
209
231
|
}
|
|
210
232
|
|
|
@@ -284,7 +306,8 @@ class RCTHostPageTargetDelegate : public facebook::react::jsinspector_modern::Pa
|
|
|
284
306
|
turboModuleManagerDelegate:_turboModuleManagerDelegate
|
|
285
307
|
onInitialBundleLoad:_onInitialBundleLoad
|
|
286
308
|
moduleRegistry:_moduleRegistry
|
|
287
|
-
parentInspectorTarget:_inspectorTarget.get()
|
|
309
|
+
parentInspectorTarget:_inspectorTarget.get()
|
|
310
|
+
launchOptions:_launchOptions];
|
|
288
311
|
[_hostDelegate hostDidStart:self];
|
|
289
312
|
|
|
290
313
|
for (RCTFabricSurface *surface in [self _getAttachedSurfaces]) {
|
|
@@ -62,7 +62,8 @@ typedef void (^_Null_unspecified RCTInstanceInitialBundleLoadCompletionBlock)();
|
|
|
62
62
|
turboModuleManagerDelegate:(id<RCTTurboModuleManagerDelegate>)turboModuleManagerDelegate
|
|
63
63
|
onInitialBundleLoad:(RCTInstanceInitialBundleLoadCompletionBlock)onInitialBundleLoad
|
|
64
64
|
moduleRegistry:(RCTModuleRegistry *)moduleRegistry
|
|
65
|
-
parentInspectorTarget:(facebook::react::jsinspector_modern::PageTarget *)parentInspectorTarget
|
|
65
|
+
parentInspectorTarget:(facebook::react::jsinspector_modern::PageTarget *)parentInspectorTarget
|
|
66
|
+
launchOptions:(nullable NSDictionary *)launchOptions;
|
|
66
67
|
|
|
67
68
|
- (void)callFunctionOnJSModule:(NSString *)moduleName method:(NSString *)method args:(NSArray *)args;
|
|
68
69
|
|
|
@@ -31,7 +31,6 @@
|
|
|
31
31
|
#import <React/RCTModuleData.h>
|
|
32
32
|
#import <React/RCTPerformanceLogger.h>
|
|
33
33
|
#import <React/RCTRedBox.h>
|
|
34
|
-
#import <React/RCTReloadCommand.h>
|
|
35
34
|
#import <React/RCTSurfacePresenter.h>
|
|
36
35
|
#import <ReactCommon/RCTTurboModuleManager.h>
|
|
37
36
|
#import <ReactCommon/RuntimeExecutor.h>
|
|
@@ -84,6 +83,7 @@ void RCTInstanceSetRuntimeDiagnosticFlags(NSString *flags)
|
|
|
84
83
|
std::mutex _invalidationMutex;
|
|
85
84
|
std::atomic<bool> _valid;
|
|
86
85
|
RCTJSThreadManager *_jsThreadManager;
|
|
86
|
+
NSDictionary *_launchOptions;
|
|
87
87
|
|
|
88
88
|
// APIs supporting interop with native modules and view managers
|
|
89
89
|
RCTBridgeModuleDecorator *_bridgeModuleDecorator;
|
|
@@ -100,6 +100,7 @@ void RCTInstanceSetRuntimeDiagnosticFlags(NSString *flags)
|
|
|
100
100
|
onInitialBundleLoad:(RCTInstanceInitialBundleLoadCompletionBlock)onInitialBundleLoad
|
|
101
101
|
moduleRegistry:(RCTModuleRegistry *)moduleRegistry
|
|
102
102
|
parentInspectorTarget:(jsinspector_modern::PageTarget *)parentInspectorTarget
|
|
103
|
+
launchOptions:(nullable NSDictionary *)launchOptions
|
|
103
104
|
{
|
|
104
105
|
if (self = [super init]) {
|
|
105
106
|
_performanceLogger = [RCTPerformanceLogger new];
|
|
@@ -125,6 +126,7 @@ void RCTInstanceSetRuntimeDiagnosticFlags(NSString *flags)
|
|
|
125
126
|
[weakSelf callFunctionOnJSModule:moduleName method:methodName args:args];
|
|
126
127
|
}];
|
|
127
128
|
}
|
|
129
|
+
_launchOptions = launchOptions;
|
|
128
130
|
|
|
129
131
|
NSNotificationCenter *defaultCenter = [NSNotificationCenter defaultCenter];
|
|
130
132
|
|
|
@@ -133,11 +135,6 @@ void RCTInstanceSetRuntimeDiagnosticFlags(NSString *flags)
|
|
|
133
135
|
name:@"RCTNotifyEventDispatcherObserversOfEvent_DEPRECATED"
|
|
134
136
|
object:nil];
|
|
135
137
|
|
|
136
|
-
[defaultCenter addObserver:self
|
|
137
|
-
selector:@selector(didReceiveReloadCommand)
|
|
138
|
-
name:RCTTriggerReloadCommandNotification
|
|
139
|
-
object:nil];
|
|
140
|
-
|
|
141
138
|
[self _start];
|
|
142
139
|
}
|
|
143
140
|
return self;
|
|
@@ -276,7 +273,8 @@ void RCTInstanceSetRuntimeDiagnosticFlags(NSString *flags)
|
|
|
276
273
|
[strongSelf registerSegmentWithId:segmentId path:path];
|
|
277
274
|
}
|
|
278
275
|
}
|
|
279
|
-
runtime:_reactInstance->getJavaScriptContext()
|
|
276
|
+
runtime:_reactInstance->getJavaScriptContext()
|
|
277
|
+
launchOptions:_launchOptions];
|
|
280
278
|
bridgeProxy.jsCallInvoker = jsCallInvoker;
|
|
281
279
|
[RCTBridge setCurrentBridge:(RCTBridge *)bridgeProxy];
|
|
282
280
|
|
|
@@ -519,9 +517,4 @@ void RCTInstanceSetRuntimeDiagnosticFlags(NSString *flags)
|
|
|
519
517
|
isFatal:errorMap.getBool(JSErrorHandlerKey::kIsFatal)];
|
|
520
518
|
}
|
|
521
519
|
|
|
522
|
-
- (void)didReceiveReloadCommand
|
|
523
|
-
{
|
|
524
|
-
[self _loadJSBundle:[_bridgeModuleDecorator.bundleManager bundleURL]];
|
|
525
|
-
}
|
|
526
|
-
|
|
527
520
|
@end
|
|
@@ -24,7 +24,7 @@ static __weak ShimRCTInstance *weakShim = nil;
|
|
|
24
24
|
[ShimRCTInstance class],
|
|
25
25
|
@selector(initWithDelegate:
|
|
26
26
|
jsRuntimeFactory:bundleManager:turboModuleManagerDelegate:onInitialBundleLoad:moduleRegistry
|
|
27
|
-
:parentInspectorTarget:));
|
|
27
|
+
:parentInspectorTarget:launchOptions:));
|
|
28
28
|
RCTSwizzleInstanceSelector([RCTInstance class], [ShimRCTInstance class], @selector(invalidate));
|
|
29
29
|
RCTSwizzleInstanceSelector(
|
|
30
30
|
[RCTInstance class], [ShimRCTInstance class], @selector(callFunctionOnJSModule:method:args:));
|
|
@@ -40,7 +40,7 @@ static __weak ShimRCTInstance *weakShim = nil;
|
|
|
40
40
|
[ShimRCTInstance class],
|
|
41
41
|
@selector(initWithDelegate:
|
|
42
42
|
jsRuntimeFactory:bundleManager:turboModuleManagerDelegate:onInitialBundleLoad:moduleRegistry
|
|
43
|
-
:parentInspectorTarget:));
|
|
43
|
+
:parentInspectorTarget:launchOptions:));
|
|
44
44
|
RCTSwizzleInstanceSelector([RCTInstance class], [ShimRCTInstance class], @selector(invalidate));
|
|
45
45
|
RCTSwizzleInstanceSelector(
|
|
46
46
|
[RCTInstance class], [ShimRCTInstance class], @selector(callFunctionOnJSModule:method:args:));
|
|
@@ -55,6 +55,7 @@ static __weak ShimRCTInstance *weakShim = nil;
|
|
|
55
55
|
onInitialBundleLoad:(RCTInstanceInitialBundleLoadCompletionBlock)onInitialBundleLoad
|
|
56
56
|
moduleRegistry:(RCTModuleRegistry *)moduleRegistry
|
|
57
57
|
parentInspectorTarget:(facebook::react::jsinspector_modern::PageTarget *)parentInspectorTarget
|
|
58
|
+
launchOptions:(NSDictionary *)launchOptions
|
|
58
59
|
{
|
|
59
60
|
weakShim.initCount++;
|
|
60
61
|
return self;
|
|
@@ -32,7 +32,10 @@ Pod::Spec.new do |spec|
|
|
|
32
32
|
spec.requires_arc = false
|
|
33
33
|
spec.pod_target_xcconfig = {
|
|
34
34
|
'DEFINES_MODULE' => 'YES'
|
|
35
|
-
}
|
|
35
|
+
}.merge!(ENV['USE_FRAMEWORKS'] != nil ? {
|
|
36
|
+
'HEADER_SEARCH_PATHS' => '"$(PODS_TARGET_SRCROOT)"'
|
|
37
|
+
} : {})
|
|
38
|
+
|
|
36
39
|
spec.compiler_flags = [
|
|
37
40
|
'-fno-omit-frame-pointer',
|
|
38
41
|
'-fexceptions',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native",
|
|
3
|
-
"version": "0.74.0-rc.
|
|
3
|
+
"version": "0.74.0-rc.8",
|
|
4
4
|
"description": "A framework for building native apps using React",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -110,13 +110,13 @@
|
|
|
110
110
|
"@react-native-community/cli": "13.6.4",
|
|
111
111
|
"@react-native-community/cli-platform-android": "13.6.4",
|
|
112
112
|
"@react-native-community/cli-platform-ios": "13.6.4",
|
|
113
|
-
"@react-native/assets-registry": "0.74.
|
|
114
|
-
"@react-native/codegen": "0.74.
|
|
115
|
-
"@react-native/community-cli-plugin": "0.74.
|
|
116
|
-
"@react-native/gradle-plugin": "0.74.
|
|
117
|
-
"@react-native/js-polyfills": "0.74.
|
|
118
|
-
"@react-native/normalize-colors": "0.74.
|
|
119
|
-
"@react-native/virtualized-lists": "0.74.
|
|
113
|
+
"@react-native/assets-registry": "0.74.79",
|
|
114
|
+
"@react-native/codegen": "0.74.79",
|
|
115
|
+
"@react-native/community-cli-plugin": "0.74.79",
|
|
116
|
+
"@react-native/gradle-plugin": "0.74.79",
|
|
117
|
+
"@react-native/js-polyfills": "0.74.79",
|
|
118
|
+
"@react-native/normalize-colors": "0.74.79",
|
|
119
|
+
"@react-native/virtualized-lists": "0.74.79",
|
|
120
120
|
"abort-controller": "^3.0.0",
|
|
121
121
|
"anser": "^1.4.9",
|
|
122
122
|
"ansi-regex": "^5.0.0",
|
|
@@ -189,7 +189,7 @@ class ReactNativePodsUtils
|
|
|
189
189
|
installer.target_installation_results.pod_target_installation_results.each do |pod_name, target_installation_result|
|
|
190
190
|
if pod_name.to_s == target_pod_name
|
|
191
191
|
target_installation_result.native_target.build_configurations.each do |config|
|
|
192
|
-
if configuration == nil || (configuration != nil &&
|
|
192
|
+
if configuration == nil || (configuration != nil && config.name.include?(configuration))
|
|
193
193
|
config.build_settings[settings_name] ||= '$(inherited) '
|
|
194
194
|
config.build_settings[settings_name] << settings_value
|
|
195
195
|
end
|
|
@@ -7,8 +7,6 @@
|
|
|
7
7
|
# Defines functions for building various Hermes frameworks.
|
|
8
8
|
# See build-ios-framework.sh and build-mac-framework.sh for usage examples.
|
|
9
9
|
|
|
10
|
-
set -x -e
|
|
11
|
-
|
|
12
10
|
CURR_SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P)"
|
|
13
11
|
|
|
14
12
|
IMPORT_HERMESC_PATH=${HERMES_OVERRIDE_HERMESC_PATH:-$PWD/build_host_hermesc/ImportHermesc.cmake}
|
|
@@ -4,7 +4,10 @@
|
|
|
4
4
|
# This source code is licensed under the MIT license found in the
|
|
5
5
|
# LICENSE file in the root directory of this source tree.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
if [ "$CI" ]; then
|
|
8
|
+
set -x
|
|
9
|
+
fi
|
|
10
|
+
set -e
|
|
8
11
|
|
|
9
12
|
# Given a specific target, retrieve the right architecture for it
|
|
10
13
|
# $1 the target you want to build. Allowed values: iphoneos, iphonesimulator, catalyst
|
|
@@ -4,7 +4,10 @@
|
|
|
4
4
|
# This source code is licensed under the MIT license found in the
|
|
5
5
|
# LICENSE file in the root directory of this source tree.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
if [ "$CI" ]; then
|
|
8
|
+
set -x
|
|
9
|
+
fi
|
|
10
|
+
set -e
|
|
8
11
|
|
|
9
12
|
# shellcheck source=xplat/js/react-native-github/sdks/hermes-engine/utils/build-apple-framework.sh
|
|
10
13
|
CURR_SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P)"
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
+
<plist version="1.0">
|
|
4
|
+
<dict>
|
|
5
|
+
<key>NSPrivacyCollectedDataTypes</key>
|
|
6
|
+
<array>
|
|
7
|
+
</array>
|
|
8
|
+
<key>NSPrivacyAccessedAPITypes</key>
|
|
9
|
+
<array>
|
|
10
|
+
<dict>
|
|
11
|
+
<key>NSPrivacyAccessedAPIType</key>
|
|
12
|
+
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
|
|
13
|
+
<key>NSPrivacyAccessedAPITypeReasons</key>
|
|
14
|
+
<array>
|
|
15
|
+
<string>C617.1</string>
|
|
16
|
+
</array>
|
|
17
|
+
</dict>
|
|
18
|
+
<dict>
|
|
19
|
+
<key>NSPrivacyAccessedAPIType</key>
|
|
20
|
+
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
|
|
21
|
+
<key>NSPrivacyAccessedAPITypeReasons</key>
|
|
22
|
+
<array>
|
|
23
|
+
<string>CA92.1</string>
|
|
24
|
+
</array>
|
|
25
|
+
</dict>
|
|
26
|
+
<dict>
|
|
27
|
+
<key>NSPrivacyAccessedAPIType</key>
|
|
28
|
+
<string>NSPrivacyAccessedAPICategorySystemBootTime</string>
|
|
29
|
+
<key>NSPrivacyAccessedAPITypeReasons</key>
|
|
30
|
+
<array>
|
|
31
|
+
<string>35F9.1</string>
|
|
32
|
+
</array>
|
|
33
|
+
</dict>
|
|
34
|
+
</array>
|
|
35
|
+
<key>NSPrivacyTracking</key>
|
|
36
|
+
<false/>
|
|
37
|
+
</dict>
|
|
38
|
+
</plist>
|
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = HelloWorld/Images.xcassets; sourceTree = "<group>"; };
|
|
37
37
|
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = HelloWorld/Info.plist; sourceTree = "<group>"; };
|
|
38
38
|
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = HelloWorld/main.m; sourceTree = "<group>"; };
|
|
39
|
+
13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = PrivacyInfo.xcprivacy; path = HelloWorld/PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
|
|
39
40
|
19F6CBCC0A4E27FBF8BF4A61 /* libPods-HelloWorld-HelloWorldTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-HelloWorld-HelloWorldTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
40
41
|
3B4392A12AC88292D35C810B /* Pods-HelloWorld.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HelloWorld.debug.xcconfig"; path = "Target Support Files/Pods-HelloWorld/Pods-HelloWorld.debug.xcconfig"; sourceTree = "<group>"; };
|
|
41
42
|
5709B34CF0A7D63546082F79 /* Pods-HelloWorld.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HelloWorld.release.xcconfig"; path = "Target Support Files/Pods-HelloWorld/Pods-HelloWorld.release.xcconfig"; sourceTree = "<group>"; };
|
|
@@ -92,6 +93,7 @@
|
|
|
92
93
|
13B07FB61A68108700A75B9A /* Info.plist */,
|
|
93
94
|
81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */,
|
|
94
95
|
13B07FB71A68108700A75B9A /* main.m */,
|
|
96
|
+
13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */,
|
|
95
97
|
);
|
|
96
98
|
name = HelloWorld;
|
|
97
99
|
sourceTree = "<group>";
|
package/template/package.json
CHANGED
|
@@ -11,16 +11,16 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"react": "18.2.0",
|
|
14
|
-
"react-native": "0.74.0-rc.
|
|
14
|
+
"react-native": "0.74.0-rc.8"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
17
|
"@babel/core": "^7.20.0",
|
|
18
18
|
"@babel/preset-env": "^7.20.0",
|
|
19
19
|
"@babel/runtime": "^7.20.0",
|
|
20
|
-
"@react-native/babel-preset": "0.74.
|
|
21
|
-
"@react-native/eslint-config": "0.74.
|
|
22
|
-
"@react-native/metro-config": "0.74.
|
|
23
|
-
"@react-native/typescript-config": "0.74.
|
|
20
|
+
"@react-native/babel-preset": "0.74.79",
|
|
21
|
+
"@react-native/eslint-config": "0.74.79",
|
|
22
|
+
"@react-native/metro-config": "0.74.79",
|
|
23
|
+
"@react-native/typescript-config": "0.74.79",
|
|
24
24
|
"@types/react": "^18.2.6",
|
|
25
25
|
"@types/react-test-renderer": "^18.0.0",
|
|
26
26
|
"babel-jest": "^29.6.3",
|