From 7c825ffe2402ec17dc7b27839f77256e2fddc327 Mon Sep 17 00:00:00 2001 From: Mark Wilcox Date: Thu, 28 Nov 2024 16:56:44 +0000 Subject: [PATCH 1/9] Add support for maxHeight prop on AdBanner --- ...iveGoogleMobileAdsBannerAdViewManager.java | 9 ++++++++- .../ReactNativeGoogleMobileAdsCommon.java | 9 +++++++++ .../common/ReactNativeAdView.java | 19 +++++++++++++++++++ .../RNGoogleMobileAdsBannerComponent.h | 2 ++ .../RNGoogleMobileAdsBannerComponent.m | 15 ++++++++++++++- .../RNGoogleMobileAdsBannerView.h | 1 + .../RNGoogleMobileAdsBannerView.mm | 8 ++++++-- .../RNGoogleMobileAdsBannerViewManager.mm | 2 ++ .../RNGoogleMobileAdsCommon.h | 2 +- .../RNGoogleMobileAdsCommon.mm | 9 ++++++++- src/ads/BaseAd.tsx | 3 ++- ...oogleMobileAdsBannerViewNativeComponent.ts | 1 + src/types/BannerAdProps.ts | 1 + 13 files changed, 74 insertions(+), 7 deletions(-) diff --git a/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsBannerAdViewManager.java b/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsBannerAdViewManager.java index 07ea925d..e6e3bc1b 100644 --- a/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsBannerAdViewManager.java +++ b/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsBannerAdViewManager.java @@ -135,11 +135,18 @@ public void setSizes(ReactNativeAdView reactViewGroup, ReadableArray value) { payload.putDouble("height", adSize.getHeight()); sendEvent(reactViewGroup, EVENT_SIZE_CHANGE, payload); } - + reactViewGroup.setSizesArray(value); reactViewGroup.setSizes(sizeList); reactViewGroup.setPropsChanged(true); } + @ReactProp(name = "maxAdHeight") + public void setMaxAdHeight(ReactNativeAdView reactViewGroup, float value) { + reactViewGroup.setMaxAdHeight(value); + this.setSizes(reactViewGroup, reactViewGroup.getSizesArray()); + reactViewGroup.setPropsChanged(true); + } + @ReactProp(name = "manualImpressionsEnabled") public void setManualImpressionsEnabled(ReactNativeAdView reactViewGroup, boolean value) { reactViewGroup.setManualImpressionsEnabled(value); diff --git a/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsCommon.java b/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsCommon.java index 3d24b7e1..153fd96c 100644 --- a/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsCommon.java +++ b/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsCommon.java @@ -30,6 +30,7 @@ import com.google.android.gms.ads.AdRequest; import com.google.android.gms.ads.AdSize; import com.google.android.gms.ads.admanager.AdManagerAdRequest; +import io.invertase.googlemobileads.common.ReactNativeAdView; import io.invertase.googlemobileads.common.ReactNativeEventEmitter; import java.util.ArrayList; import java.util.Map; @@ -51,8 +52,16 @@ static AdSize getAdSizeForAdaptiveBanner(String preDefinedAdSize, ViewGroup reac DisplayMetrics outMetrics = new DisplayMetrics(); display.getMetrics(outMetrics); int adWidth = (int) (outMetrics.widthPixels / outMetrics.density); + float maxAdHeight = ((ReactNativeAdView)reactViewGroup).getMaxAdHeight(); if ("INLINE_ADAPTIVE_BANNER".equals(preDefinedAdSize)) { + if (maxAdHeight > 0) { + if (maxAdHeight < 32) { + return AdSize.getInlineAdaptiveBannerAdSize(adWidth, 32); + } else { + return AdSize.getInlineAdaptiveBannerAdSize(adWidth, Math.round(maxAdHeight)); + } + } return AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize( reactViewGroup.getContext(), adWidth); } diff --git a/android/src/main/java/io/invertase/googlemobileads/common/ReactNativeAdView.java b/android/src/main/java/io/invertase/googlemobileads/common/ReactNativeAdView.java index f021aa0b..a7481ce7 100644 --- a/android/src/main/java/io/invertase/googlemobileads/common/ReactNativeAdView.java +++ b/android/src/main/java/io/invertase/googlemobileads/common/ReactNativeAdView.java @@ -2,6 +2,7 @@ import android.content.Context; import android.widget.FrameLayout; +import com.facebook.react.bridge.ReadableArray; import com.google.android.gms.ads.AdRequest; import com.google.android.gms.ads.AdSize; import java.util.List; @@ -18,6 +19,8 @@ public class ReactNativeAdView extends FrameLayout { private AdRequest request; private List sizes; + private ReadableArray sizesArray; + private float maxAdHeight; private String unitId; private boolean manualImpressionsEnabled; private boolean propsChanged; @@ -74,6 +77,22 @@ public List getSizes() { return this.sizes; } + public void setSizesArray(ReadableArray sizesArray) { + this.sizesArray = sizesArray; + } + + public ReadableArray getSizesArray() { + return this.sizesArray; + } + + public void setMaxAdHeight(float maxAdHeight) { + this.maxAdHeight = maxAdHeight; + } + + public float getMaxAdHeight() { + return this.maxAdHeight; + } + public void setUnitId(String unitId) { this.unitId = unitId; } diff --git a/ios/RNGoogleMobileAds/RNGoogleMobileAdsBannerComponent.h b/ios/RNGoogleMobileAds/RNGoogleMobileAdsBannerComponent.h index f341abcc..f7bfb0ea 100644 --- a/ios/RNGoogleMobileAds/RNGoogleMobileAdsBannerComponent.h +++ b/ios/RNGoogleMobileAds/RNGoogleMobileAdsBannerComponent.h @@ -27,7 +27,9 @@ @property GADBannerView *banner; @property(nonatomic, assign) BOOL requested; +@property(nonatomic, copy) NSArray *sizeStrings; @property(nonatomic, copy) NSArray *sizes; +@property(nonatomic, assign) CGFloat maxAdHeight; @property(nonatomic, copy) NSString *unitId; @property(nonatomic, copy) NSDictionary *request; @property(nonatomic, copy) NSNumber *manualImpressionsEnabled; diff --git a/ios/RNGoogleMobileAds/RNGoogleMobileAdsBannerComponent.m b/ios/RNGoogleMobileAds/RNGoogleMobileAdsBannerComponent.m index 15901dd8..000b80b4 100644 --- a/ios/RNGoogleMobileAds/RNGoogleMobileAdsBannerComponent.m +++ b/ios/RNGoogleMobileAds/RNGoogleMobileAdsBannerComponent.m @@ -66,8 +66,13 @@ - (void)setUnitId:(NSString *)unitId { - (void)setSizes:(NSArray *)sizes { __block NSMutableArray *adSizes = [[NSMutableArray alloc] initWithCapacity:sizes.count]; + _sizeStrings = sizes; + CGFloat maxAdHeight = -1; + if (_maxAdHeight > 0) { + maxAdHeight = _maxAdHeight; + } [sizes enumerateObjectsUsingBlock:^(id jsonValue, NSUInteger idx, __unused BOOL *stop) { - GADAdSize adSize = [RNGoogleMobileAdsCommon stringToAdSize:jsonValue]; + GADAdSize adSize = [RNGoogleMobileAdsCommon stringToAdSize:jsonValue withMaxHeight: maxAdHeight]; if (GADAdSizeEqualToSize(adSize, GADAdSizeInvalid)) { RCTLogWarn(@"Invalid adSize %@", jsonValue); } else { @@ -78,6 +83,14 @@ - (void)setSizes:(NSArray *)sizes { _propsChanged = true; } +- (void)setMaxAdHeight:(CGFloat)maxAdHeight { + _maxAdHeight = maxAdHeight; + if (_sizeStrings != nil) { + [self setSizes: _sizeStrings]; + } + _propsChanged = true; +} + - (void)setRequest:(NSString *)request { NSData *jsonData = [request dataUsingEncoding:NSUTF8StringEncoding]; NSError *error = nil; diff --git a/ios/RNGoogleMobileAds/RNGoogleMobileAdsBannerView.h b/ios/RNGoogleMobileAds/RNGoogleMobileAdsBannerView.h index a8c55b8c..8dfef861 100644 --- a/ios/RNGoogleMobileAds/RNGoogleMobileAdsBannerView.h +++ b/ios/RNGoogleMobileAds/RNGoogleMobileAdsBannerView.h @@ -18,6 +18,7 @@ NS_ASSUME_NONNULL_BEGIN @property(nonatomic, assign) BOOL requested; @property(nonatomic, copy) NSArray *sizes; +@property(nonatomic, assign) CGFloat maxAdHeight; @property(nonatomic, copy) NSString *unitId; @property(nonatomic, copy) NSDictionary *request; @property(nonatomic, copy) NSNumber *manualImpressionsEnabled; diff --git a/ios/RNGoogleMobileAds/RNGoogleMobileAdsBannerView.mm b/ios/RNGoogleMobileAds/RNGoogleMobileAdsBannerView.mm index 13ad4b48..ea5e05a7 100644 --- a/ios/RNGoogleMobileAds/RNGoogleMobileAdsBannerView.mm +++ b/ios/RNGoogleMobileAds/RNGoogleMobileAdsBannerView.mm @@ -55,11 +55,15 @@ - (void)updateProps:(Props::Shared const &)props oldProps:(Props::Shared const & propsChanged = true; } - if (oldViewProps.sizes != newViewProps.sizes) { + if (oldViewProps.sizes != newViewProps.sizes || oldViewProps.maxAdHeight != newViewProps.maxAdHeight) { NSMutableArray *adSizes = [NSMutableArray arrayWithCapacity:newViewProps.sizes.size()]; + CGFloat maxAdHeight = -1; + if (newViewProps.maxAdHeight > 0) { + maxAdHeight = newViewProps.maxAdHeight; + } for (auto i = 0; i < newViewProps.sizes.size(); i++) { NSString *jsonValue = [[NSString alloc] initWithUTF8String:newViewProps.sizes[i].c_str()]; - GADAdSize adSize = [RNGoogleMobileAdsCommon stringToAdSize:jsonValue]; + GADAdSize adSize = [RNGoogleMobileAdsCommon stringToAdSize:jsonValue withMaxHeight: maxAdHeight]; if (GADAdSizeEqualToSize(adSize, GADAdSizeInvalid)) { RCTLogWarn(@"Invalid adSize %@", jsonValue); } else { diff --git a/ios/RNGoogleMobileAds/RNGoogleMobileAdsBannerViewManager.mm b/ios/RNGoogleMobileAds/RNGoogleMobileAdsBannerViewManager.mm index 1e7b0102..2bf7dd48 100644 --- a/ios/RNGoogleMobileAds/RNGoogleMobileAdsBannerViewManager.mm +++ b/ios/RNGoogleMobileAds/RNGoogleMobileAdsBannerViewManager.mm @@ -33,6 +33,8 @@ @implementation RNGoogleMobileAdsBannerViewManager RCT_EXPORT_VIEW_PROPERTY(sizes, NSArray); +RCT_EXPORT_VIEW_PROPERTY(maxAdHeight, CGFloat); + RCT_EXPORT_VIEW_PROPERTY(unitId, NSString); RCT_EXPORT_VIEW_PROPERTY(request, NSString); diff --git a/ios/RNGoogleMobileAds/RNGoogleMobileAdsCommon.h b/ios/RNGoogleMobileAds/RNGoogleMobileAdsCommon.h index 2ee019aa..70472963 100644 --- a/ios/RNGoogleMobileAds/RNGoogleMobileAdsCommon.h +++ b/ios/RNGoogleMobileAds/RNGoogleMobileAdsCommon.h @@ -34,7 +34,7 @@ error:(nullable NSDictionary *)error data:(nullable NSDictionary *)data; -+ (GADAdSize)stringToAdSize:(NSString *)value; ++ (GADAdSize)stringToAdSize:(NSString *)value withMaxHeight:(CGFloat)maxHeight; + (BOOL)isAdManagerUnit:(NSString *)unitId; diff --git a/ios/RNGoogleMobileAds/RNGoogleMobileAdsCommon.mm b/ios/RNGoogleMobileAds/RNGoogleMobileAdsCommon.mm index 4d5d6b7c..08c78790 100644 --- a/ios/RNGoogleMobileAds/RNGoogleMobileAdsCommon.mm +++ b/ios/RNGoogleMobileAds/RNGoogleMobileAdsCommon.mm @@ -162,7 +162,7 @@ + (void)sendAdEvent:(NSString *)event [[RNRCTEventEmitter shared] sendEventWithName:event body:payload]; } -+ (GADAdSize)stringToAdSize:(NSString *)value { ++ (GADAdSize)stringToAdSize:(NSString *)value withMaxHeight:(CGFloat)maxHeight { NSError *error = nil; NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"([0-9]+)x([0-9]+)" @@ -206,6 +206,13 @@ + (GADAdSize)stringToAdSize:(NSString *)value { } CGFloat viewWidth = frame.size.width; if ([value isEqualToString:@"INLINE_ADAPTIVE_BANNER"]) { + if (maxHeight > 0) { + if (maxHeight < 32) { + return GADInlineAdaptiveBannerAdSizeWithWidthAndMaxHeight(viewWidth, 32.0); + } else { + return GADInlineAdaptiveBannerAdSizeWithWidthAndMaxHeight(viewWidth, maxHeight); + } + } return GADCurrentOrientationInlineAdaptiveBannerAdSizeWithWidth(viewWidth); } return GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(viewWidth); diff --git a/src/ads/BaseAd.tsx b/src/ads/BaseAd.tsx index d934f016..e9471f12 100644 --- a/src/ads/BaseAd.tsx +++ b/src/ads/BaseAd.tsx @@ -33,7 +33,7 @@ const sizeRegex = /([0-9]+)x([0-9]+)/; export const BaseAd = React.forwardRef< React.ElementRef, GAMBannerAdProps ->(({ unitId, sizes, requestOptions, manualImpressionsEnabled, ...props }, ref) => { +>(({ unitId, sizes, maxHeight, requestOptions, manualImpressionsEnabled, ...props }, ref) => { const [dimensions, setDimensions] = useState<(number | DimensionValue)[]>([0, 0]); const debouncedSetDimensions = debounce(setDimensions, 100); @@ -169,6 +169,7 @@ export const BaseAd = React.forwardRef< Date: Thu, 28 Nov 2024 16:57:27 +0000 Subject: [PATCH 2/9] Add test for inline adaptive with max height --- RNGoogleMobileAdsExample/App.tsx | 13 +- RNGoogleMobileAdsExample/ios/Podfile.lock | 927 ++++++++++++------ .../project.pbxproj | 19 +- 3 files changed, 665 insertions(+), 294 deletions(-) diff --git a/RNGoogleMobileAdsExample/App.tsx b/RNGoogleMobileAdsExample/App.tsx index de6ab97d..4263e443 100644 --- a/RNGoogleMobileAdsExample/App.tsx +++ b/RNGoogleMobileAdsExample/App.tsx @@ -184,10 +184,11 @@ class InterstitialTest implements Test { class BannerTest implements Test { bannerAdSize: BannerAdSize | string; - - constructor(bannerAdSize) { + maxHeight: number | undefined; + constructor(bannerAdSize, maxHeight: number | undefined = undefined) { this.bannerAdSize = bannerAdSize; this.bannerRef = React.createRef(); + this.maxHeight = maxHeight; } getPath(): string { @@ -196,7 +197,7 @@ class BannerTest implements Test { .map( s => s.toLowerCase().charAt(0).toUpperCase() + s.toLowerCase().slice(1), ) - .join(''); + .join('').concat(this.maxHeight ? `MaxHeight${this.maxHeight}` : ''); } getTestType(): TestType { @@ -214,6 +215,7 @@ class BannerTest implements Test { : TestIds.BANNER } size={this.bannerAdSize} + maxHeight={this.maxHeight} onPaid={(event: PaidEvent) => { console.log( `Paid: ${event.value} ${event.currency} (precision ${ @@ -994,6 +996,9 @@ class DebugMenuTest implements Test { // All tests must be registered - a future feature will allow auto-bundling of tests via configured path or regex Object.keys(BannerAdSize).forEach(bannerAdSize => { + if (bannerAdSize === "INLINE_ADAPTIVE_BANNER") { + TestRegistry.registerTest(new BannerTest(bannerAdSize, 100)) + } TestRegistry.registerTest(new BannerTest(bannerAdSize)); }); TestRegistry.registerTest(new CollapsibleBannerTest()); @@ -1025,7 +1030,7 @@ TestRegistry.registerTest(new DebugMenuTest()); const App = () => { return ( - + diff --git a/RNGoogleMobileAdsExample/ios/Podfile.lock b/RNGoogleMobileAdsExample/ios/Podfile.lock index 5d0f57b7..3261a570 100644 --- a/RNGoogleMobileAdsExample/ios/Podfile.lock +++ b/RNGoogleMobileAdsExample/ios/Podfile.lock @@ -1,15 +1,15 @@ PODS: - - boost (1.83.0) + - boost (1.84.0) - DoubleConversion (1.1.6) - - FBLazyVector (0.74.1) + - FBLazyVector (0.75.4) - fmt (9.1.0) - glog (0.3.5) - - Google-Mobile-Ads-SDK (11.5.0): + - Google-Mobile-Ads-SDK (11.10.0): - GoogleUserMessagingPlatform (>= 1.1) - - GoogleUserMessagingPlatform (2.4.0) - - hermes-engine (0.74.1): - - hermes-engine/Pre-built (= 0.74.1) - - hermes-engine/Pre-built (0.74.1) + - GoogleUserMessagingPlatform (2.6.0) + - hermes-engine (0.75.4): + - hermes-engine/Pre-built (= 0.75.4) + - hermes-engine/Pre-built (0.75.4) - Jet (0.8.0): - React-Core - RCT-Folly (2024.01.01.00): @@ -28,52 +28,32 @@ PODS: - DoubleConversion - fmt (= 9.1.0) - glog - - RCTDeprecation (0.74.1) - - RCTRequired (0.74.1) - - RCTTypeSafety (0.74.1): - - FBLazyVector (= 0.74.1) - - RCTRequired (= 0.74.1) - - React-Core (= 0.74.1) - - React (0.74.1): - - React-Core (= 0.74.1) - - React-Core/DevSupport (= 0.74.1) - - React-Core/RCTWebSocket (= 0.74.1) - - React-RCTActionSheet (= 0.74.1) - - React-RCTAnimation (= 0.74.1) - - React-RCTBlob (= 0.74.1) - - React-RCTImage (= 0.74.1) - - React-RCTLinking (= 0.74.1) - - React-RCTNetwork (= 0.74.1) - - React-RCTSettings (= 0.74.1) - - React-RCTText (= 0.74.1) - - React-RCTVibration (= 0.74.1) - - React-callinvoker (0.74.1) - - React-Codegen (0.74.1): - - DoubleConversion - - glog - - hermes-engine - - RCT-Folly - - RCTRequired - - RCTTypeSafety - - React-Core - - React-debug - - React-Fabric - - React-FabricImage - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-NativeModulesApple - - React-rendererdebug - - React-utils - - ReactCommon/turbomodule/bridging - - ReactCommon/turbomodule/core - - React-Core (0.74.1): + - RCTDeprecation (0.75.4) + - RCTRequired (0.75.4) + - RCTTypeSafety (0.75.4): + - FBLazyVector (= 0.75.4) + - RCTRequired (= 0.75.4) + - React-Core (= 0.75.4) + - React (0.75.4): + - React-Core (= 0.75.4) + - React-Core/DevSupport (= 0.75.4) + - React-Core/RCTWebSocket (= 0.75.4) + - React-RCTActionSheet (= 0.75.4) + - React-RCTAnimation (= 0.75.4) + - React-RCTBlob (= 0.75.4) + - React-RCTImage (= 0.75.4) + - React-RCTLinking (= 0.75.4) + - React-RCTNetwork (= 0.75.4) + - React-RCTSettings (= 0.75.4) + - React-RCTText (= 0.75.4) + - React-RCTVibration (= 0.75.4) + - React-callinvoker (0.75.4) + - React-Core (0.75.4): - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) - RCTDeprecation - - React-Core/Default (= 0.74.1) + - React-Core/Default (= 0.75.4) - React-cxxreact - React-featureflags - React-hermes @@ -85,7 +65,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/CoreModulesHeaders (0.74.1): + - React-Core/CoreModulesHeaders (0.75.4): - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) @@ -102,7 +82,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/Default (0.74.1): + - React-Core/Default (0.75.4): - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) @@ -118,13 +98,13 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/DevSupport (0.74.1): + - React-Core/DevSupport (0.75.4): - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) - RCTDeprecation - - React-Core/Default (= 0.74.1) - - React-Core/RCTWebSocket (= 0.74.1) + - React-Core/Default (= 0.75.4) + - React-Core/RCTWebSocket (= 0.75.4) - React-cxxreact - React-featureflags - React-hermes @@ -136,7 +116,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTActionSheetHeaders (0.74.1): + - React-Core/RCTActionSheetHeaders (0.75.4): - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) @@ -153,7 +133,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTAnimationHeaders (0.74.1): + - React-Core/RCTAnimationHeaders (0.75.4): - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) @@ -170,7 +150,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTBlobHeaders (0.74.1): + - React-Core/RCTBlobHeaders (0.75.4): - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) @@ -187,7 +167,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTImageHeaders (0.74.1): + - React-Core/RCTImageHeaders (0.75.4): - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) @@ -204,7 +184,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTLinkingHeaders (0.74.1): + - React-Core/RCTLinkingHeaders (0.75.4): - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) @@ -221,7 +201,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTNetworkHeaders (0.74.1): + - React-Core/RCTNetworkHeaders (0.75.4): - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) @@ -238,7 +218,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTSettingsHeaders (0.74.1): + - React-Core/RCTSettingsHeaders (0.75.4): - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) @@ -255,7 +235,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTTextHeaders (0.74.1): + - React-Core/RCTTextHeaders (0.75.4): - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) @@ -272,7 +252,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTVibrationHeaders (0.74.1): + - React-Core/RCTVibrationHeaders (0.75.4): - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) @@ -289,12 +269,12 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTWebSocket (0.74.1): + - React-Core/RCTWebSocket (0.75.4): - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) - RCTDeprecation - - React-Core/Default (= 0.74.1) + - React-Core/Default (= 0.75.4) - React-cxxreact - React-featureflags - React-hermes @@ -306,36 +286,221 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-CoreModules (0.74.1): + - React-CoreModules (0.75.4): - DoubleConversion - fmt (= 9.1.0) - RCT-Folly (= 2024.01.01.00) - - RCTTypeSafety (= 0.74.1) - - React-Codegen - - React-Core/CoreModulesHeaders (= 0.74.1) - - React-jsi (= 0.74.1) + - RCTTypeSafety (= 0.75.4) + - React-Core/CoreModulesHeaders (= 0.75.4) + - React-jsi (= 0.75.4) - React-jsinspector - React-NativeModulesApple - React-RCTBlob - - React-RCTImage (= 0.74.1) + - React-RCTImage (= 0.75.4) + - ReactCodegen - ReactCommon - SocketRocket (= 0.7.0) - - React-cxxreact (0.74.1): - - boost (= 1.83.0) + - React-cxxreact (0.75.4): + - boost - DoubleConversion - fmt (= 9.1.0) - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) - - React-callinvoker (= 0.74.1) - - React-debug (= 0.74.1) - - React-jsi (= 0.74.1) + - React-callinvoker (= 0.75.4) + - React-debug (= 0.75.4) + - React-jsi (= 0.75.4) - React-jsinspector - - React-logger (= 0.74.1) - - React-perflogger (= 0.74.1) - - React-runtimeexecutor (= 0.74.1) - - React-debug (0.74.1) - - React-Fabric (0.74.1): + - React-logger (= 0.75.4) + - React-perflogger (= 0.75.4) + - React-runtimeexecutor (= 0.75.4) + - React-debug (0.75.4) + - React-defaultsnativemodule (0.75.4): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-domnativemodule + - React-Fabric + - React-featureflags + - React-featureflagsnativemodule + - React-graphics + - React-idlecallbacksnativemodule + - React-ImageManager + - React-microtasksnativemodule + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - React-domnativemodule (0.75.4): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-FabricComponents + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - React-Fabric (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric/animations (= 0.75.4) + - React-Fabric/attributedstring (= 0.75.4) + - React-Fabric/componentregistry (= 0.75.4) + - React-Fabric/componentregistrynative (= 0.75.4) + - React-Fabric/components (= 0.75.4) + - React-Fabric/core (= 0.75.4) + - React-Fabric/dom (= 0.75.4) + - React-Fabric/imagemanager (= 0.75.4) + - React-Fabric/leakchecker (= 0.75.4) + - React-Fabric/mounting (= 0.75.4) + - React-Fabric/observers (= 0.75.4) + - React-Fabric/scheduler (= 0.75.4) + - React-Fabric/telemetry (= 0.75.4) + - React-Fabric/templateprocessor (= 0.75.4) + - React-Fabric/uimanager (= 0.75.4) + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/animations (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/attributedstring (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/componentregistry (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/componentregistrynative (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric/components/legacyviewmanagerinterop (= 0.75.4) + - React-Fabric/components/root (= 0.75.4) + - React-Fabric/components/view (= 0.75.4) + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/legacyviewmanagerinterop (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -346,20 +511,7 @@ PODS: - React-Core - React-cxxreact - React-debug - - React-Fabric/animations (= 0.74.1) - - React-Fabric/attributedstring (= 0.74.1) - - React-Fabric/componentregistry (= 0.74.1) - - React-Fabric/componentregistrynative (= 0.74.1) - - React-Fabric/components (= 0.74.1) - - React-Fabric/core (= 0.74.1) - - React-Fabric/imagemanager (= 0.74.1) - - React-Fabric/leakchecker (= 0.74.1) - - React-Fabric/mounting (= 0.74.1) - - React-Fabric/scheduler (= 0.74.1) - - React-Fabric/telemetry (= 0.74.1) - - React-Fabric/templateprocessor (= 0.74.1) - - React-Fabric/textlayoutmanager (= 0.74.1) - - React-Fabric/uimanager (= 0.74.1) + - React-featureflags - React-graphics - React-jsi - React-jsiexecutor @@ -368,7 +520,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/animations (0.74.1): + - React-Fabric/components/root (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -379,6 +531,7 @@ PODS: - React-Core - React-cxxreact - React-debug + - React-featureflags - React-graphics - React-jsi - React-jsiexecutor @@ -387,7 +540,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/attributedstring (0.74.1): + - React-Fabric/components/view (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -398,6 +551,7 @@ PODS: - React-Core - React-cxxreact - React-debug + - React-featureflags - React-graphics - React-jsi - React-jsiexecutor @@ -406,7 +560,8 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/componentregistry (0.74.1): + - Yoga + - React-Fabric/core (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -417,6 +572,7 @@ PODS: - React-Core - React-cxxreact - React-debug + - React-featureflags - React-graphics - React-jsi - React-jsiexecutor @@ -425,7 +581,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/componentregistrynative (0.74.1): + - React-Fabric/dom (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -436,6 +592,7 @@ PODS: - React-Core - React-cxxreact - React-debug + - React-featureflags - React-graphics - React-jsi - React-jsiexecutor @@ -444,7 +601,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components (0.74.1): + - React-Fabric/imagemanager (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -455,17 +612,7 @@ PODS: - React-Core - React-cxxreact - React-debug - - React-Fabric/components/inputaccessory (= 0.74.1) - - React-Fabric/components/legacyviewmanagerinterop (= 0.74.1) - - React-Fabric/components/modal (= 0.74.1) - - React-Fabric/components/rncore (= 0.74.1) - - React-Fabric/components/root (= 0.74.1) - - React-Fabric/components/safeareaview (= 0.74.1) - - React-Fabric/components/scrollview (= 0.74.1) - - React-Fabric/components/text (= 0.74.1) - - React-Fabric/components/textinput (= 0.74.1) - - React-Fabric/components/unimplementedview (= 0.74.1) - - React-Fabric/components/view (= 0.74.1) + - React-featureflags - React-graphics - React-jsi - React-jsiexecutor @@ -474,7 +621,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components/inputaccessory (0.74.1): + - React-Fabric/leakchecker (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -485,6 +632,7 @@ PODS: - React-Core - React-cxxreact - React-debug + - React-featureflags - React-graphics - React-jsi - React-jsiexecutor @@ -493,7 +641,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components/legacyviewmanagerinterop (0.74.1): + - React-Fabric/mounting (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -504,6 +652,7 @@ PODS: - React-Core - React-cxxreact - React-debug + - React-featureflags - React-graphics - React-jsi - React-jsiexecutor @@ -512,7 +661,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components/modal (0.74.1): + - React-Fabric/observers (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -523,6 +672,8 @@ PODS: - React-Core - React-cxxreact - React-debug + - React-Fabric/observers/events (= 0.75.4) + - React-featureflags - React-graphics - React-jsi - React-jsiexecutor @@ -531,7 +682,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components/rncore (0.74.1): + - React-Fabric/observers/events (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -542,6 +693,7 @@ PODS: - React-Core - React-cxxreact - React-debug + - React-featureflags - React-graphics - React-jsi - React-jsiexecutor @@ -550,7 +702,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components/root (0.74.1): + - React-Fabric/scheduler (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -561,15 +713,18 @@ PODS: - React-Core - React-cxxreact - React-debug + - React-Fabric/observers/events + - React-featureflags - React-graphics - React-jsi - React-jsiexecutor - React-logger + - React-performancetimeline - React-rendererdebug - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components/safeareaview (0.74.1): + - React-Fabric/telemetry (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -580,6 +735,7 @@ PODS: - React-Core - React-cxxreact - React-debug + - React-featureflags - React-graphics - React-jsi - React-jsiexecutor @@ -588,7 +744,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components/scrollview (0.74.1): + - React-Fabric/templateprocessor (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -599,15 +755,38 @@ PODS: - React-Core - React-cxxreact - React-debug + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/uimanager (0.75.4): + - DoubleConversion + - fmt (= 9.1.0) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric/uimanager/consistency (= 0.75.4) + - React-featureflags - React-graphics - React-jsi - React-jsiexecutor - React-logger + - React-rendererconsistency - React-rendererdebug - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components/text (0.74.1): + - React-Fabric/uimanager/consistency (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -618,15 +797,17 @@ PODS: - React-Core - React-cxxreact - React-debug + - React-featureflags - React-graphics - React-jsi - React-jsiexecutor - React-logger + - React-rendererconsistency - React-rendererdebug - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components/textinput (0.74.1): + - React-FabricComponents (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -637,6 +818,10 @@ PODS: - React-Core - React-cxxreact - React-debug + - React-Fabric + - React-FabricComponents/components (= 0.75.4) + - React-FabricComponents/textlayoutmanager (= 0.75.4) + - React-featureflags - React-graphics - React-jsi - React-jsiexecutor @@ -644,8 +829,10 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils + - ReactCodegen - ReactCommon/turbomodule/core - - React-Fabric/components/unimplementedview (0.74.1): + - Yoga + - React-FabricComponents/components (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -656,6 +843,17 @@ PODS: - React-Core - React-cxxreact - React-debug + - React-Fabric + - React-FabricComponents/components/inputaccessory (= 0.75.4) + - React-FabricComponents/components/iostextinput (= 0.75.4) + - React-FabricComponents/components/modal (= 0.75.4) + - React-FabricComponents/components/rncore (= 0.75.4) + - React-FabricComponents/components/safeareaview (= 0.75.4) + - React-FabricComponents/components/scrollview (= 0.75.4) + - React-FabricComponents/components/text (= 0.75.4) + - React-FabricComponents/components/textinput (= 0.75.4) + - React-FabricComponents/components/unimplementedview (= 0.75.4) + - React-featureflags - React-graphics - React-jsi - React-jsiexecutor @@ -663,8 +861,10 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils + - ReactCodegen - ReactCommon/turbomodule/core - - React-Fabric/components/view (0.74.1): + - Yoga + - React-FabricComponents/components/inputaccessory (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -675,6 +875,8 @@ PODS: - React-Core - React-cxxreact - React-debug + - React-Fabric + - React-featureflags - React-graphics - React-jsi - React-jsiexecutor @@ -682,9 +884,10 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils + - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-Fabric/core (0.74.1): + - React-FabricComponents/components/iostextinput (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -695,6 +898,8 @@ PODS: - React-Core - React-cxxreact - React-debug + - React-Fabric + - React-featureflags - React-graphics - React-jsi - React-jsiexecutor @@ -702,8 +907,10 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils + - ReactCodegen - ReactCommon/turbomodule/core - - React-Fabric/imagemanager (0.74.1): + - Yoga + - React-FabricComponents/components/modal (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -714,6 +921,8 @@ PODS: - React-Core - React-cxxreact - React-debug + - React-Fabric + - React-featureflags - React-graphics - React-jsi - React-jsiexecutor @@ -721,8 +930,10 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils + - ReactCodegen - ReactCommon/turbomodule/core - - React-Fabric/leakchecker (0.74.1): + - Yoga + - React-FabricComponents/components/rncore (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -733,6 +944,8 @@ PODS: - React-Core - React-cxxreact - React-debug + - React-Fabric + - React-featureflags - React-graphics - React-jsi - React-jsiexecutor @@ -740,8 +953,10 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils + - ReactCodegen - ReactCommon/turbomodule/core - - React-Fabric/mounting (0.74.1): + - Yoga + - React-FabricComponents/components/safeareaview (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -752,6 +967,8 @@ PODS: - React-Core - React-cxxreact - React-debug + - React-Fabric + - React-featureflags - React-graphics - React-jsi - React-jsiexecutor @@ -759,8 +976,10 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils + - ReactCodegen - ReactCommon/turbomodule/core - - React-Fabric/scheduler (0.74.1): + - Yoga + - React-FabricComponents/components/scrollview (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -771,6 +990,8 @@ PODS: - React-Core - React-cxxreact - React-debug + - React-Fabric + - React-featureflags - React-graphics - React-jsi - React-jsiexecutor @@ -778,8 +999,10 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils + - ReactCodegen - ReactCommon/turbomodule/core - - React-Fabric/telemetry (0.74.1): + - Yoga + - React-FabricComponents/components/text (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -790,6 +1013,8 @@ PODS: - React-Core - React-cxxreact - React-debug + - React-Fabric + - React-featureflags - React-graphics - React-jsi - React-jsiexecutor @@ -797,8 +1022,10 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils + - ReactCodegen - ReactCommon/turbomodule/core - - React-Fabric/templateprocessor (0.74.1): + - Yoga + - React-FabricComponents/components/textinput (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -809,6 +1036,8 @@ PODS: - React-Core - React-cxxreact - React-debug + - React-Fabric + - React-featureflags - React-graphics - React-jsi - React-jsiexecutor @@ -816,8 +1045,10 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils + - ReactCodegen - ReactCommon/turbomodule/core - - React-Fabric/textlayoutmanager (0.74.1): + - Yoga + - React-FabricComponents/components/unimplementedview (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -828,7 +1059,8 @@ PODS: - React-Core - React-cxxreact - React-debug - - React-Fabric/uimanager + - React-Fabric + - React-featureflags - React-graphics - React-jsi - React-jsiexecutor @@ -836,8 +1068,10 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils + - ReactCodegen - ReactCommon/turbomodule/core - - React-Fabric/uimanager (0.74.1): + - Yoga + - React-FabricComponents/textlayoutmanager (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -848,6 +1082,8 @@ PODS: - React-Core - React-cxxreact - React-debug + - React-Fabric + - React-featureflags - React-graphics - React-jsi - React-jsiexecutor @@ -855,46 +1091,92 @@ PODS: - React-rendererdebug - React-runtimescheduler - React-utils + - ReactCodegen - ReactCommon/turbomodule/core - - React-FabricImage (0.74.1): + - Yoga + - React-FabricImage (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog - hermes-engine - RCT-Folly/Fabric (= 2024.01.01.00) - - RCTRequired (= 0.74.1) - - RCTTypeSafety (= 0.74.1) + - RCTRequired (= 0.75.4) + - RCTTypeSafety (= 0.75.4) - React-Fabric - React-graphics - React-ImageManager - React-jsi - - React-jsiexecutor (= 0.74.1) + - React-jsiexecutor (= 0.75.4) - React-logger - React-rendererdebug - React-utils - ReactCommon - Yoga - - React-featureflags (0.74.1) - - React-graphics (0.74.1): + - React-featureflags (0.75.4) + - React-featureflagsnativemodule (0.75.4): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - React-graphics (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog - RCT-Folly/Fabric (= 2024.01.01.00) - - React-Core/Default (= 0.74.1) + - React-jsi + - React-jsiexecutor - React-utils - - React-hermes (0.74.1): + - React-hermes (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) - - React-cxxreact (= 0.74.1) + - React-cxxreact (= 0.75.4) - React-jsi - - React-jsiexecutor (= 0.74.1) + - React-jsiexecutor (= 0.75.4) - React-jsinspector - - React-perflogger (= 0.74.1) + - React-perflogger (= 0.75.4) - React-runtimeexecutor - - React-ImageManager (0.74.1): + - React-idlecallbacksnativemodule (0.75.4): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - React-ImageManager (0.75.4): - glog - RCT-Folly/Fabric - React-Core/Default @@ -903,45 +1185,65 @@ PODS: - React-graphics - React-rendererdebug - React-utils - - React-jserrorhandler (0.74.1): + - React-jserrorhandler (0.75.4): - RCT-Folly/Fabric (= 2024.01.01.00) - React-debug - React-jsi - - React-Mapbuffer - - React-jsi (0.74.1): - - boost (= 1.83.0) + - React-jsi (0.75.4): + - boost - DoubleConversion - fmt (= 9.1.0) - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) - - React-jsiexecutor (0.74.1): + - React-jsiexecutor (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) - - React-cxxreact (= 0.74.1) - - React-jsi (= 0.74.1) + - React-cxxreact (= 0.75.4) + - React-jsi (= 0.75.4) - React-jsinspector - - React-perflogger (= 0.74.1) - - React-jsinspector (0.74.1): + - React-perflogger (= 0.75.4) + - React-jsinspector (0.75.4): - DoubleConversion - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) - React-featureflags - React-jsi - - React-runtimeexecutor (= 0.74.1) - - React-jsitracing (0.74.1): + - React-runtimeexecutor (= 0.75.4) + - React-jsitracing (0.75.4): - React-jsi - - React-logger (0.74.1): + - React-logger (0.75.4): + - glog + - React-Mapbuffer (0.75.4): - glog - - React-Mapbuffer (0.74.1): + - React-debug + - React-microtasksnativemodule (0.75.4): + - DoubleConversion - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Core - React-debug - - React-nativeconfig (0.74.1) - - React-NativeModulesApple (0.74.1): + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - React-nativeconfig (0.75.4) + - React-NativeModulesApple (0.75.4): - glog - hermes-engine - React-callinvoker @@ -952,25 +1254,28 @@ PODS: - React-runtimeexecutor - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - React-perflogger (0.74.1) - - React-RCTActionSheet (0.74.1): - - React-Core/RCTActionSheetHeaders (= 0.74.1) - - React-RCTAnimation (0.74.1): + - React-perflogger (0.75.4) + - React-performancetimeline (0.75.4): + - RCT-Folly (= 2024.01.01.00) + - React-cxxreact + - React-RCTActionSheet (0.75.4): + - React-Core/RCTActionSheetHeaders (= 0.75.4) + - React-RCTAnimation (0.75.4): - RCT-Folly (= 2024.01.01.00) - RCTTypeSafety - - React-Codegen - React-Core/RCTAnimationHeaders - React-jsi - React-NativeModulesApple + - ReactCodegen - ReactCommon - - React-RCTAppDelegate (0.74.1): + - React-RCTAppDelegate (0.75.4): - RCT-Folly (= 2024.01.01.00) - RCTRequired - RCTTypeSafety - - React-Codegen - React-Core - React-CoreModules - React-debug + - React-defaultsnativemodule - React-Fabric - React-featureflags - React-graphics @@ -986,27 +1291,29 @@ PODS: - React-RuntimeHermes - React-runtimescheduler - React-utils + - ReactCodegen - ReactCommon - - React-RCTBlob (0.74.1): + - React-RCTBlob (0.75.4): - DoubleConversion - fmt (= 9.1.0) - hermes-engine - RCT-Folly (= 2024.01.01.00) - - React-Codegen - React-Core/RCTBlobHeaders - React-Core/RCTWebSocket - React-jsi - React-jsinspector - React-NativeModulesApple - React-RCTNetwork + - ReactCodegen - ReactCommon - - React-RCTFabric (0.74.1): + - React-RCTFabric (0.75.4): - glog - hermes-engine - RCT-Folly/Fabric (= 2024.01.01.00) - React-Core - React-debug - React-Fabric + - React-FabricComponents - React-FabricImage - React-featureflags - React-graphics @@ -1014,61 +1321,64 @@ PODS: - React-jsi - React-jsinspector - React-nativeconfig + - React-performancetimeline - React-RCTImage - React-RCTText + - React-rendererconsistency - React-rendererdebug - React-runtimescheduler - React-utils - Yoga - - React-RCTImage (0.74.1): + - React-RCTImage (0.75.4): - RCT-Folly (= 2024.01.01.00) - RCTTypeSafety - - React-Codegen - React-Core/RCTImageHeaders - React-jsi - React-NativeModulesApple - React-RCTNetwork + - ReactCodegen - ReactCommon - - React-RCTLinking (0.74.1): - - React-Codegen - - React-Core/RCTLinkingHeaders (= 0.74.1) - - React-jsi (= 0.74.1) + - React-RCTLinking (0.75.4): + - React-Core/RCTLinkingHeaders (= 0.75.4) + - React-jsi (= 0.75.4) - React-NativeModulesApple + - ReactCodegen - ReactCommon - - ReactCommon/turbomodule/core (= 0.74.1) - - React-RCTNetwork (0.74.1): + - ReactCommon/turbomodule/core (= 0.75.4) + - React-RCTNetwork (0.75.4): - RCT-Folly (= 2024.01.01.00) - RCTTypeSafety - - React-Codegen - React-Core/RCTNetworkHeaders - React-jsi - React-NativeModulesApple + - ReactCodegen - ReactCommon - - React-RCTSettings (0.74.1): + - React-RCTSettings (0.75.4): - RCT-Folly (= 2024.01.01.00) - RCTTypeSafety - - React-Codegen - React-Core/RCTSettingsHeaders - React-jsi - React-NativeModulesApple + - ReactCodegen - ReactCommon - - React-RCTText (0.74.1): - - React-Core/RCTTextHeaders (= 0.74.1) + - React-RCTText (0.75.4): + - React-Core/RCTTextHeaders (= 0.75.4) - Yoga - - React-RCTVibration (0.74.1): + - React-RCTVibration (0.75.4): - RCT-Folly (= 2024.01.01.00) - - React-Codegen - React-Core/RCTVibrationHeaders - React-jsi - React-NativeModulesApple + - ReactCodegen - ReactCommon - - React-rendererdebug (0.74.1): + - React-rendererconsistency (0.75.4) + - React-rendererdebug (0.75.4): - DoubleConversion - fmt (= 9.1.0) - RCT-Folly (= 2024.01.01.00) - React-debug - - React-rncore (0.74.1) - - React-RuntimeApple (0.74.1): + - React-rncore (0.75.4) + - React-RuntimeApple (0.75.4): - hermes-engine - RCT-Folly/Fabric (= 2024.01.01.00) - React-callinvoker @@ -1085,8 +1395,9 @@ PODS: - React-RuntimeCore - React-runtimeexecutor - React-RuntimeHermes + - React-runtimescheduler - React-utils - - React-RuntimeCore (0.74.1): + - React-RuntimeCore (0.75.4): - glog - hermes-engine - RCT-Folly/Fabric (= 2024.01.01.00) @@ -1099,9 +1410,9 @@ PODS: - React-runtimeexecutor - React-runtimescheduler - React-utils - - React-runtimeexecutor (0.74.1): - - React-jsi (= 0.74.1) - - React-RuntimeHermes (0.74.1): + - React-runtimeexecutor (0.75.4): + - React-jsi (= 0.75.4) + - React-RuntimeHermes (0.75.4): - hermes-engine - RCT-Folly/Fabric (= 2024.01.01.00) - React-featureflags @@ -1112,7 +1423,7 @@ PODS: - React-nativeconfig - React-RuntimeCore - React-utils - - React-runtimescheduler (0.74.1): + - React-runtimescheduler (0.75.4): - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) @@ -1121,64 +1432,85 @@ PODS: - React-debug - React-featureflags - React-jsi + - React-rendererconsistency - React-rendererdebug - React-runtimeexecutor - React-utils - - React-utils (0.74.1): + - React-utils (0.75.4): - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) - React-debug - - React-jsi (= 0.74.1) - - ReactCommon (0.74.1): - - ReactCommon/turbomodule (= 0.74.1) - - ReactCommon/turbomodule (0.74.1): + - React-jsi (= 0.75.4) + - ReactCodegen (0.75.4): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-FabricImage + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-NativeModulesApple + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - ReactCommon (0.75.4): + - ReactCommon/turbomodule (= 0.75.4) + - ReactCommon/turbomodule (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) - - React-callinvoker (= 0.74.1) - - React-cxxreact (= 0.74.1) - - React-jsi (= 0.74.1) - - React-logger (= 0.74.1) - - React-perflogger (= 0.74.1) - - ReactCommon/turbomodule/bridging (= 0.74.1) - - ReactCommon/turbomodule/core (= 0.74.1) - - ReactCommon/turbomodule/bridging (0.74.1): + - React-callinvoker (= 0.75.4) + - React-cxxreact (= 0.75.4) + - React-jsi (= 0.75.4) + - React-logger (= 0.75.4) + - React-perflogger (= 0.75.4) + - ReactCommon/turbomodule/bridging (= 0.75.4) + - ReactCommon/turbomodule/core (= 0.75.4) + - ReactCommon/turbomodule/bridging (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) - - React-callinvoker (= 0.74.1) - - React-cxxreact (= 0.74.1) - - React-jsi (= 0.74.1) - - React-logger (= 0.74.1) - - React-perflogger (= 0.74.1) - - ReactCommon/turbomodule/core (0.74.1): + - React-callinvoker (= 0.75.4) + - React-cxxreact (= 0.75.4) + - React-jsi (= 0.75.4) + - React-logger (= 0.75.4) + - React-perflogger (= 0.75.4) + - ReactCommon/turbomodule/core (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) - - React-callinvoker (= 0.74.1) - - React-cxxreact (= 0.74.1) - - React-debug (= 0.74.1) - - React-jsi (= 0.74.1) - - React-logger (= 0.74.1) - - React-perflogger (= 0.74.1) - - React-utils (= 0.74.1) - - RNGoogleMobileAds (13.5.0): + - React-callinvoker (= 0.75.4) + - React-cxxreact (= 0.75.4) + - React-debug (= 0.75.4) + - React-featureflags (= 0.75.4) + - React-jsi (= 0.75.4) + - React-logger (= 0.75.4) + - React-perflogger (= 0.75.4) + - React-utils (= 0.75.4) + - RNGoogleMobileAds (14.4.0): - DoubleConversion - glog - - Google-Mobile-Ads-SDK (= 11.5.0) - - GoogleUserMessagingPlatform (= 2.4.0) + - Google-Mobile-Ads-SDK (= 11.10.0) + - GoogleUserMessagingPlatform (= 2.6.0) - hermes-engine - RCT-Folly (= 2024.01.01.00) - RCTRequired - RCTTypeSafety - - React-Codegen - React-Core - React-debug - React-Fabric @@ -1189,6 +1521,7 @@ PODS: - React-RCTFabric - React-rendererdebug - React-utils + - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga @@ -1210,17 +1543,21 @@ DEPENDENCIES: - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) - React (from `../node_modules/react-native/`) - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`) - - React-Codegen (from `build/generated/ios`) - React-Core (from `../node_modules/react-native/`) - React-Core/RCTWebSocket (from `../node_modules/react-native/`) - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) - React-debug (from `../node_modules/react-native/ReactCommon/react/debug`) + - React-defaultsnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/defaults`) + - React-domnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/dom`) - React-Fabric (from `../node_modules/react-native/ReactCommon`) + - React-FabricComponents (from `../node_modules/react-native/ReactCommon`) - React-FabricImage (from `../node_modules/react-native/ReactCommon`) - React-featureflags (from `../node_modules/react-native/ReactCommon/react/featureflags`) + - React-featureflagsnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/featureflags`) - React-graphics (from `../node_modules/react-native/ReactCommon/react/renderer/graphics`) - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`) + - React-idlecallbacksnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks`) - React-ImageManager (from `../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`) - React-jserrorhandler (from `../node_modules/react-native/ReactCommon/jserrorhandler`) - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) @@ -1229,9 +1566,11 @@ DEPENDENCIES: - React-jsitracing (from `../node_modules/react-native/ReactCommon/hermes/executor/`) - React-logger (from `../node_modules/react-native/ReactCommon/logger`) - React-Mapbuffer (from `../node_modules/react-native/ReactCommon`) + - React-microtasksnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/microtasks`) - React-nativeconfig (from `../node_modules/react-native/ReactCommon`) - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) + - React-performancetimeline (from `../node_modules/react-native/ReactCommon/react/performance/timeline`) - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) - React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`) @@ -1243,6 +1582,7 @@ DEPENDENCIES: - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) - React-RCTText (from `../node_modules/react-native/Libraries/Text`) - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) + - React-rendererconsistency (from `../node_modules/react-native/ReactCommon/react/renderer/consistency`) - React-rendererdebug (from `../node_modules/react-native/ReactCommon/react/renderer/debug`) - React-rncore (from `../node_modules/react-native/ReactCommon`) - React-RuntimeApple (from `../node_modules/react-native/ReactCommon/react/runtime/platform/ios`) @@ -1251,6 +1591,7 @@ DEPENDENCIES: - React-RuntimeHermes (from `../node_modules/react-native/ReactCommon/react/runtime`) - React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) - React-utils (from `../node_modules/react-native/ReactCommon/react/utils`) + - ReactCodegen (from `build/generated/ios`) - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) - RNGoogleMobileAds (from `../node_modules/react-native-google-mobile-ads`) - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) @@ -1274,7 +1615,7 @@ EXTERNAL SOURCES: :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" hermes-engine: :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec" - :tag: hermes-2024-04-25-RNv0.74.1-b54a3a01c531f4f5f1904cb0770033e8b7153dff + :tag: hermes-2024-08-15-RNv0.75.1-4b3bf912cc0f705b51b71ce1a5b8bd79b93a451b Jet: :path: "../node_modules/jet" RCT-Folly: @@ -1289,8 +1630,6 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/" React-callinvoker: :path: "../node_modules/react-native/ReactCommon/callinvoker" - React-Codegen: - :path: build/generated/ios React-Core: :path: "../node_modules/react-native/" React-CoreModules: @@ -1299,16 +1638,26 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon/cxxreact" React-debug: :path: "../node_modules/react-native/ReactCommon/react/debug" + React-defaultsnativemodule: + :path: "../node_modules/react-native/ReactCommon/react/nativemodule/defaults" + React-domnativemodule: + :path: "../node_modules/react-native/ReactCommon/react/nativemodule/dom" React-Fabric: :path: "../node_modules/react-native/ReactCommon" + React-FabricComponents: + :path: "../node_modules/react-native/ReactCommon" React-FabricImage: :path: "../node_modules/react-native/ReactCommon" React-featureflags: :path: "../node_modules/react-native/ReactCommon/react/featureflags" + React-featureflagsnativemodule: + :path: "../node_modules/react-native/ReactCommon/react/nativemodule/featureflags" React-graphics: :path: "../node_modules/react-native/ReactCommon/react/renderer/graphics" React-hermes: :path: "../node_modules/react-native/ReactCommon/hermes" + React-idlecallbacksnativemodule: + :path: "../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks" React-ImageManager: :path: "../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios" React-jserrorhandler: @@ -1325,12 +1674,16 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon/logger" React-Mapbuffer: :path: "../node_modules/react-native/ReactCommon" + React-microtasksnativemodule: + :path: "../node_modules/react-native/ReactCommon/react/nativemodule/microtasks" React-nativeconfig: :path: "../node_modules/react-native/ReactCommon" React-NativeModulesApple: :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" React-perflogger: :path: "../node_modules/react-native/ReactCommon/reactperflogger" + React-performancetimeline: + :path: "../node_modules/react-native/ReactCommon/react/performance/timeline" React-RCTActionSheet: :path: "../node_modules/react-native/Libraries/ActionSheetIOS" React-RCTAnimation: @@ -1353,6 +1706,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/Libraries/Text" React-RCTVibration: :path: "../node_modules/react-native/Libraries/Vibration" + React-rendererconsistency: + :path: "../node_modules/react-native/ReactCommon/react/renderer/consistency" React-rendererdebug: :path: "../node_modules/react-native/ReactCommon/react/renderer/debug" React-rncore: @@ -1369,6 +1724,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler" React-utils: :path: "../node_modules/react-native/ReactCommon/react/utils" + ReactCodegen: + :path: build/generated/ios ReactCommon: :path: "../node_modules/react-native/ReactCommon" RNGoogleMobileAds: @@ -1377,65 +1734,73 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon/yoga" SPEC CHECKSUMS: - boost: d3f49c53809116a5d38da093a8aa78bf551aed09 + boost: 4cb898d0bf20404aab1850c656dcea009429d6c1 DoubleConversion: 76ab83afb40bddeeee456813d9c04f67f78771b5 - FBLazyVector: 898d14d17bf19e2435cafd9ea2a1033efe445709 + FBLazyVector: 430e10366de01d1e3d57374500b1b150fe482e6d fmt: 4c2741a687cc09f0634a2e2c72a838b99f1ff120 - glog: c5d68082e772fa1c511173d6b30a9de2c05a69a2 - Google-Mobile-Ads-SDK: 7db2098033ad3bfcd72a11e7503b49700a93029e - GoogleUserMessagingPlatform: f131fa7978d2ba88d7426702b057c2cc318e6595 - hermes-engine: 16b8530de1b383cdada1476cf52d1b52f0692cbc + glog: 69ef571f3de08433d766d614c73a9838a06bf7eb + Google-Mobile-Ads-SDK: 13e6e98edfd78ad8d8a791edb927658cc260a56f + GoogleUserMessagingPlatform: 0c3a08353e53ce8c2feab7addd0b652cde522450 + hermes-engine: ea92f60f37dba025e293cbe4b4a548fd26b610a0 Jet: c17c29bfbbaff56f08a17678211f36b859173e99 - RCT-Folly: 02617c592a293bd6d418e0a88ff4ee1f88329b47 - RCTDeprecation: efb313d8126259e9294dc4ee0002f44a6f676aba - RCTRequired: f49ea29cece52aee20db633ae7edc4b271435562 - RCTTypeSafety: a11979ff0570d230d74de9f604f7d19692157bc4 - React: 88794fad7f460349dbc9df8a274d95f37a009f5d - React-callinvoker: 7a7023e34a55c89ea2aa62486bb3c1164ab0be0c - React-Codegen: af31a9323ce23988c255c9afd0ae9415ff894939 - React-Core: 60075333bc22b5a793d3f62e207368b79bff2e64 - React-CoreModules: 147c314d6b3b1e069c9ad64cbbbeba604854ff86 - React-cxxreact: 5de27fd8bff4764acb2eac3ee66001e0e2b910e7 - React-debug: 6397f0baf751b40511d01e984b01467d7e6d8127 - React-Fabric: 6fa475e16e0a37b38d462cec32b70fd5cf886305 - React-FabricImage: 7e09b3704e3fa084b4d44b5b5ef6e2e3d3334ec0 - React-featureflags: 2eb79dd9df4095bff519379f2a4c915069e330bb - React-graphics: 82a482a3aa5d9659b74cdf2c8b57faf67eaa10fb - React-hermes: d93936b02de2fd7e67c11e92c16d4278a14d0134 - React-ImageManager: ebb3c4812e2c5acba5a89728c2d77729471329ad - React-jserrorhandler: a08e0adcf1612900dde82b8bf8e93e7d2ad953b3 - React-jsi: f46d09ee5079a4f3b637d30d0e59b8ea6470632c - React-jsiexecutor: e73579560957aa3ca9dc02ab90e163454279d48c - React-jsinspector: e8ba20dde269c7c1d45784b858fa1cf4383f0bbb - React-jsitracing: 233d1a798fe0ff33b8e630b8f00f62c4a8115fbc - React-logger: 7e7403a2b14c97f847d90763af76b84b152b6fce - React-Mapbuffer: 11029dcd47c5c9e057a4092ab9c2a8d10a496a33 - React-nativeconfig: b0073a590774e8b35192fead188a36d1dca23dec - React-NativeModulesApple: df46ff3e3de5b842b30b4ca8a6caae6d7c8ab09f - React-perflogger: 3d31e0d1e8ad891e43a09ac70b7b17a79773003a - React-RCTActionSheet: c4a3a134f3434c9d7b0c1054f1a8cfed30c7a093 - React-RCTAnimation: 0e5d15320eeece667fcceb6c785acf9a184e9da1 - React-RCTAppDelegate: c4f6c0700b8950a8b18c2e004996eec1807d430a - React-RCTBlob: c46aaaee693d371a1c7cae2a8c8ee2aa7fbc1adb - React-RCTFabric: 0dbf28ce96c7f2843483e32a725a5b5793584ff3 - React-RCTImage: a04dba5fcc823244f5822192c130ecf09623a57f - React-RCTLinking: 533bf13c745fcb2a0c14e0e49fd149586a7f0d14 - React-RCTNetwork: a29e371e0d363d7b4c10ab907bc4d6ae610541e9 - React-RCTSettings: 127813224780861d0d30ecda17a40d1dfebe7d73 - React-RCTText: 8a823f245ecf82edb7569646e3c4d8041deb800a - React-RCTVibration: 46b5fae74e63f240f22f39de16ad6433da3b65d9 - React-rendererdebug: 4653f8da6ab1d7b01af796bdf8ca47a927539e39 - React-rncore: 4f1e645acb5107bd4b4cf29eff17b04a7cd422f3 - React-RuntimeApple: 013b606e743efb5ee14ef03c32379b78bfe74354 - React-RuntimeCore: 7205be45a25713b5418bbf2db91ddfcca0761d8b - React-runtimeexecutor: a278d4249921853d4a3f24e4d6e0ff30688f3c16 - React-RuntimeHermes: 44c628568ce8feedc3acfbd48fc07b7f0f6d2731 - React-runtimescheduler: e2152ed146b6a35c07386fc2ac4827b27e6aad12 - React-utils: 3285151c9d1e3a28a9586571fc81d521678c196d - ReactCommon: f42444e384d82ab89184aed5d6f3142748b54768 - RNGoogleMobileAds: 8bb05bc92cb6646c3aed31b7e3bcdfe1d8eca966 + RCT-Folly: 4464f4d875961fce86008d45f4ecf6cef6de0740 + RCTDeprecation: 726d24248aeab6d7180dac71a936bbca6a994ed1 + RCTRequired: a94e7febda6db0345d207e854323c37e3a31d93b + RCTTypeSafety: 28e24a6e44f5cbf912c66dde6ab7e07d1059a205 + React: c2830fa483b0334bda284e46a8579ebbe0c5447e + React-callinvoker: 4aecde929540c26b841a4493f70ebf6016691eb8 + React-Core: 9c059899f00d46b5cec3ed79251f77d9c469553d + React-CoreModules: 9fac2d31803c0ed03e4ddaa17f1481714f8633a5 + React-cxxreact: a979810a3ca4045ceb09407a17563046a7f71494 + React-debug: 3d21f69d8def0656f8b8ec25c0f05954f4d862c5 + React-defaultsnativemodule: 5bb91842d2bd91c5e9d23f67f5913a1226e8d1f2 + React-domnativemodule: a8ff57705d8372d7182e9277110ad290d50ffeed + React-Fabric: 3bc7be9e3a6b7581fc828dc2aa041e107fc8ffb8 + React-FabricComponents: 668e0cb02344c2942e4c8921a643648faa6dc364 + React-FabricImage: 3f44dd25a2b020ed5215d4438a1bb1f3461cd4f1 + React-featureflags: ee1abd6f71555604a36cda6476e3c502ca9a48e5 + React-featureflagsnativemodule: d91903b8ad0e82b1eee3e7845d08024fbd6c758f + React-graphics: d7dd9c8d75cad5af19e19911fa370f78f2febd96 + React-hermes: 2069b08e965e48b7f8aa2c0ca0a2f383349ed55d + React-idlecallbacksnativemodule: 568f7db5c625852e3eac25a5686760da152f0225 + React-ImageManager: ab7a7d17dd0ff1ef1d4e1e88197d1119da9957ce + React-jserrorhandler: d9e867bb83b868472f3f7601883f0403b3e3942d + React-jsi: d68f1d516e5120a510afe356647a6a1e1f98f2db + React-jsiexecutor: 6366a08a0fc01c9b65736f8deacd47c4a397912a + React-jsinspector: 0ac947411f0c73b34908800cc7a6a31d8f93e1a8 + React-jsitracing: 0e8c0aadb1fcec6b1e4f2a66ee3b0da80f0f8615 + React-logger: d79b704bf215af194f5213a6b7deec50ba8e6a9b + React-Mapbuffer: b982d5bba94a8bc073bda48f0d27c9b28417fae3 + React-microtasksnativemodule: 2cec1d6e126598df0f165268afa231174dd1a611 + React-nativeconfig: 8c83d992b9cc7d75b5abe262069eaeea4349f794 + React-NativeModulesApple: 9f7920224a3b0c7d04d77990067ded14cee3c614 + React-perflogger: 59e1a3182dca2cee7b9f1f7aab204018d46d1914 + React-performancetimeline: a9d05533ff834c6aa1f532e05e571f3fd2e3c1ed + React-RCTActionSheet: d80e68d3baa163e4012a47c1f42ddd8bcd9672cc + React-RCTAnimation: bde981f6bd7f8493696564da9b3bd05721d3b3cc + React-RCTAppDelegate: b21d50ec42f18fedae765629d56850538a8c98d7 + React-RCTBlob: 520a0382bf8e89b9153d60e3c6293e51615834e9 + React-RCTFabric: a083f6c78c6084a0ac332934fc5cfc4271bab61f + React-RCTImage: 90448d2882464af6015ed57c98f463f8748be465 + React-RCTLinking: 1bd95d0a704c271d21d758e0f0388cced768d77d + React-RCTNetwork: 218af6e63eb9b47935cc5a775b7a1396cf10ff91 + React-RCTSettings: e10b8e42b0fce8a70fbf169de32a2ae03243ef6b + React-RCTText: e7bf9f4997a1a0b45c052d4ad9a0fe653061cf29 + React-RCTVibration: 5b70b7f11e48d1c57e0d4832c2097478adbabe93 + React-rendererconsistency: f620c6e003e3c4593e6349d8242b8aeb3d4633f0 + React-rendererdebug: e697680f4dd117becc5daf9ea9800067abcee91c + React-rncore: c22bd84cc2f38947f0414fab6646db22ff4f80cd + React-RuntimeApple: de0976836b90b484305638616898cbc665c67c13 + React-RuntimeCore: 3c4a5aa63d9e7a3c17b7fb23f32a72a8bcfccf57 + React-runtimeexecutor: ea90d8e3a9e0f4326939858dafc6ab17c031a5d3 + React-RuntimeHermes: c6b0afdf1f493621214eeb6517fb859ce7b21b81 + React-runtimescheduler: 84f0d876d254bce6917a277b3930eb9bc29df6c7 + React-utils: cbe8b8b3d7b2ac282e018e46f0e7b25cdc87c5a0 + ReactCodegen: 4bcb34e6b5ebf6eef5cee34f55aa39991ea1c1f1 + ReactCommon: 6a952e50c2a4b694731d7682aaa6c79bc156e4ad + RNGoogleMobileAds: e9c8c98e7748e612c4669951336785d2f5ae1937 SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d - Yoga: 348f8b538c3ed4423eb58a8e5730feec50bce372 + Yoga: 055f92ad73f8c8600a93f0e25ac0b2344c3b07e6 PODFILE CHECKSUM: f699c82614f0340e3985855a1efdaa77a260037e diff --git a/RNGoogleMobileAdsExample/ios/RNGoogleMobileAdsExample.xcodeproj/project.pbxproj b/RNGoogleMobileAdsExample/ios/RNGoogleMobileAdsExample.xcodeproj/project.pbxproj index c0a47118..dc3a0073 100644 --- a/RNGoogleMobileAdsExample/ios/RNGoogleMobileAdsExample.xcodeproj/project.pbxproj +++ b/RNGoogleMobileAdsExample/ios/RNGoogleMobileAdsExample.xcodeproj/project.pbxproj @@ -378,7 +378,7 @@ name = "[CP-User] [RNGoogleMobileAds] Configuration"; runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "#!/usr/bin/env bash\n#\n# Copyright (c) 2016-present Invertase Limited & Contributors\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this library except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n\n##########################################################################\n##########################################################################\n#\n# NOTE THAT IF YOU CHANGE THIS FILE YOU MUST RUN pod install AFTERWARDS\n#\n# This file is installed as an Xcode build script in the project file\n# by cocoapods, and you will not see your changes until you pod install\n#\n##########################################################################\n##########################################################################\n\nset -e\n\nif [[ -f \"$PODS_ROOT/../.xcode.env\" ]]; then\n source \"$PODS_ROOT/../.xcode.env\"\nfi\nif [[ -f \"$PODS_ROOT/../.xcode.env.local\" ]]; then\n source \"$PODS_ROOT/../.xcode.env.local\"\nfi\n\n_MAX_LOOKUPS=2;\n_SEARCH_RESULT=''\n_RN_ROOT_EXISTS=''\n_CURRENT_LOOKUPS=1\n_PROJECT_ABBREVIATION=\"RNGoogleMobileAds\"\n_JSON_ROOT=\"'react-native-google-mobile-ads'\"\n_JSON_FILE_NAME='app.json'\n_JS_APP_CONFIG_FILE_NAME='app.config.js'\n_JSON_OUTPUT_BASE64='e30=' # { }\n_CURRENT_SEARCH_DIR=${PROJECT_DIR}\n_PLIST_BUDDY=/usr/libexec/PlistBuddy\n_TARGET_PLIST=\"${BUILT_PRODUCTS_DIR}/${INFOPLIST_PATH}\"\n_DSYM_PLIST=\"${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist\"\n_IS_CONFIG_JS=false\n\n# plist arrays\n_PLIST_ENTRY_KEYS=()\n_PLIST_ENTRY_TYPES=()\n_PLIST_ENTRY_VALUES=()\n\nfunction setPlistValue {\n echo \"info: setting plist entry '$1' of type '$2' in file '$4'\"\n ${_PLIST_BUDDY} -c \"Add :$1 $2 '$3'\" $4 || echo \"info: '$1' already exists\"\n}\n\nfunction getJsonKeyValue () {\n if [[ ${_RN_ROOT_EXISTS} ]]; then\n ruby -KU -e \"require 'rubygems';require 'json'; output=JSON.parse('$1'); puts output[$_JSON_ROOT]['$2']\"\n else\n echo \"\"\n fi;\n}\n\nfunction jsonBoolToYesNo () {\n if [[ $1 == \"false\" ]]; then\n echo \"NO\"\n elif [[ $1 == \"true\" ]]; then\n echo \"YES\"\n else echo \"NO\"\n fi\n}\n\necho \"info: -> ${_PROJECT_ABBREVIATION} build script started\"\necho \"info: 1) Locating ${_JSON_FILE_NAME} file:\"\n\nif [[ -z ${_CURRENT_SEARCH_DIR} ]]; then\n _CURRENT_SEARCH_DIR=$(pwd)\nfi;\n\nwhile true; do\n _CURRENT_SEARCH_DIR=$(dirname \"$_CURRENT_SEARCH_DIR\")\n\n if [[ \"$_CURRENT_SEARCH_DIR\" == \"/\" ]] || [[ ${_CURRENT_LOOKUPS} -gt ${_MAX_LOOKUPS} ]]; then\n break;\n fi;\n\n echo \"info: ($_CURRENT_LOOKUPS of $_MAX_LOOKUPS) Searching in '$_CURRENT_SEARCH_DIR' for a ${_JSON_FILE_NAME}/${_JS_APP_CONFIG_FILE_NAME} file.\"\n\n _SEARCH_RESULT=$(find \"$_CURRENT_SEARCH_DIR\" -maxdepth 2 \\( -name ${_JSON_FILE_NAME} -o -name ${_JS_APP_CONFIG_FILE_NAME} \\) -print | /usr/bin/head -n 1)\n\n if [[ \"$(basename ${_SEARCH_RESULT})\" = \"${_JS_APP_CONFIG_FILE_NAME}\" ]]; then\n _IS_CONFIG_JS=true\n echo \"info: ${_JS_APP_CONFIG_FILE_NAME} found at $_SEARCH_RESULT\"\n break;\n fi;\n\n if [[ \"$(basename ${_SEARCH_RESULT})\" = \"${_JSON_FILE_NAME}\" ]]; then\n echo \"info: ${_JSON_FILE_NAME} found at ${_SEARCH_RESULT}\"\n break;\n fi;\n\n _CURRENT_LOOKUPS=$((_CURRENT_LOOKUPS+1))\ndone\n\nif [[ ${_SEARCH_RESULT} ]]; then\n if [[ ${_IS_CONFIG_JS} == \"true\" ]]; then\n _JSON_OUTPUT_RAW=$(\"${NODE_BINARY}\" -e \"console.log(JSON.stringify(require('${_SEARCH_RESULT}')));\")\n else\n _JSON_OUTPUT_RAW=$(cat \"${_SEARCH_RESULT}\")\n fi;\n\n _RN_ROOT_EXISTS=$(ruby -KU -e \"require 'rubygems';require 'json'; output=JSON.parse('$_JSON_OUTPUT_RAW'); puts output[$_JSON_ROOT]\" || echo '')\n\n if [[ ${_RN_ROOT_EXISTS} ]]; then\n if ! python3 --version >/dev/null 2>&1; then echo \"python3 not found, app.json file processing error.\" && exit 1; fi\n _JSON_OUTPUT_BASE64=$(python3 -c 'import json,sys,base64;print(base64.b64encode(bytes(json.dumps(json.loads(open('\"'${_SEARCH_RESULT}'\"', '\"'rb'\"').read())['${_JSON_ROOT}']), '\"'utf-8'\"')).decode())' || echo \"e30=\")\n fi\n\n _PLIST_ENTRY_KEYS+=(\"google_mobile_ads_json_raw\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_JSON_OUTPUT_BASE64\")\n\n # config.delay_app_measurement_init\n _DELAY_APP_MEASUREMENT=$(getJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"delay_app_measurement_init\")\n if [[ $_DELAY_APP_MEASUREMENT == \"true\" ]]; then\n _PLIST_ENTRY_KEYS+=(\"GADDelayAppMeasurementInit\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"YES\")\n fi\n\n # config.ios_app_id\n _IOS_APP_ID=$(getJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"ios_app_id\")\n if [[ $_IOS_APP_ID ]]; then\n _PLIST_ENTRY_KEYS+=(\"GADApplicationIdentifier\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_IOS_APP_ID\")\n fi\n\n # config.sk_ad_network_items\n _SK_AD_NETWORK_ITEMS=$(getJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"sk_ad_network_items\")\n if [[ $_SK_AD_NETWORK_ITEMS ]]; then\n _PLIST_ENTRY_KEYS+=(\"SKAdNetworkItems\")\n _PLIST_ENTRY_TYPES+=(\"array\")\n _PLIST_ENTRY_VALUES+=(\"\")\n\n oldifs=$IFS\n IFS=\"\n\"\n array=($(echo \"$_SK_AD_NETWORK_ITEMS\"))\n IFS=$oldifs\n for i in \"${!array[@]}\"; do\n _PLIST_ENTRY_KEYS+=(\"SKAdNetworkItems:$i:SKAdNetworkIdentifier\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"${array[i]}\") \n done\n fi\n\n # config.user_tracking_usage_description\n _USER_TRACKING_USAGE_DESCRIPTION=$(getJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"user_tracking_usage_description\")\n if [[ $_USER_TRACKING_USAGE_DESCRIPTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"NSUserTrackingUsageDescription\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_USER_TRACKING_USAGE_DESCRIPTION\")\n fi\nelse\n _PLIST_ENTRY_KEYS+=(\"google_mobile_ads_json_raw\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_JSON_OUTPUT_BASE64\")\n echo \"warning: A ${_JSON_FILE_NAME} file was not found, whilst this file is optional it is recommended to include it to auto-configure services.\"\nfi;\n\necho \"info: 2) Injecting Info.plist entries: \"\n\n# Log out the keys we're adding\nfor i in \"${!_PLIST_ENTRY_KEYS[@]}\"; do\n echo \" -> $i) ${_PLIST_ENTRY_KEYS[$i]}\" \"${_PLIST_ENTRY_TYPES[$i]}\" \"${_PLIST_ENTRY_VALUES[$i]}\"\ndone\n\nif ! [[ -f \"${_TARGET_PLIST}\" ]]; then\n echo \"error: unable to locate Info.plist to set properties. App will crash without GADApplicationIdentifier set.\"\n exit 1\nfi\n\nif ! [[ $_IOS_APP_ID ]]; then\n echo \"error: ios_app_id key not found in react-native-google-mobile-ads key in app.json. App will crash without it.\"\n exit 1\nfi\n\nfor plist in \"${_TARGET_PLIST}\" \"${_DSYM_PLIST}\" ; do\n if [[ -f \"${plist}\" ]]; then\n\n # paths with spaces break the call to setPlistValue. temporarily modify\n # the shell internal field separator variable (IFS), which normally\n # includes spaces, to consist only of line breaks\n oldifs=$IFS\n IFS=\"\n\"\n\n for i in \"${!_PLIST_ENTRY_KEYS[@]}\"; do\n setPlistValue \"${_PLIST_ENTRY_KEYS[$i]}\" \"${_PLIST_ENTRY_TYPES[$i]}\" \"${_PLIST_ENTRY_VALUES[$i]}\" \"${plist}\"\n done\n\n # restore the original internal field separator value\n IFS=$oldifs\n else\n echo \"warning: A Info.plist build output file was not found (${plist})\"\n fi\ndone\n\necho \"info: <- ${_PROJECT_ABBREVIATION} build script finished\"\n\n"; + shellScript = "#!/usr/bin/env bash\n#\n# Copyright (c) 2016-present Invertase Limited & Contributors\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this library except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n\n##########################################################################\n##########################################################################\n#\n# NOTE THAT IF YOU CHANGE THIS FILE YOU MUST RUN pod install AFTERWARDS\n#\n# This file is installed as an Xcode build script in the project file\n# by cocoapods, and you will not see your changes until you pod install\n#\n##########################################################################\n##########################################################################\n\nset -e\n\n_MAX_LOOKUPS=2;\n_SEARCH_RESULT=''\n_RN_ROOT_EXISTS=''\n_CURRENT_LOOKUPS=1\n_PROJECT_ABBREVIATION=\"RNGoogleMobileAds\"\n_JSON_ROOT=\"'react-native-google-mobile-ads'\"\n_JSON_FILE_NAME='app.json'\n_JSON_OUTPUT_BASE64='e30=' # { }\n_CURRENT_SEARCH_DIR=${PROJECT_DIR}\n_PLIST_BUDDY=/usr/libexec/PlistBuddy\n_TARGET_PLIST=\"${BUILT_PRODUCTS_DIR}/${INFOPLIST_PATH}\"\n_DSYM_PLIST=\"${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist\"\n_PACKAGE_JSON_NAME='package.json'\n\n# plist arrays\n_PLIST_ENTRY_KEYS=()\n_PLIST_ENTRY_TYPES=()\n_PLIST_ENTRY_VALUES=()\n\nfunction setPlistValue {\n echo \"info: setting plist entry '$1' of type '$2' in file '$4'\"\n ${_PLIST_BUDDY} -c \"Add :$1 $2 '$3'\" $4 || echo \"info: '$1' already exists\"\n}\n\nfunction getJsonKeyValue () {\n if [[ ${_RN_ROOT_EXISTS} ]]; then\n ruby -KU -e \"require 'rubygems';require 'json'; output=JSON.parse('$1'); puts output[$_JSON_ROOT]['$2']\"\n else\n echo \"\"\n fi;\n}\n\nfunction jsonBoolToYesNo () {\n if [[ $1 == \"false\" ]]; then\n echo \"NO\"\n elif [[ $1 == \"true\" ]]; then\n echo \"YES\"\n else echo \"NO\"\n fi\n}\n\necho \"info: -> ${_PROJECT_ABBREVIATION} build script started\"\necho \"info: 1) Locating ${_JSON_FILE_NAME} file:\"\n\nif [[ -z ${_CURRENT_SEARCH_DIR} ]]; then\n _CURRENT_SEARCH_DIR=$(pwd)\nfi;\n\nwhile true; do\n _CURRENT_SEARCH_DIR=$(dirname \"$_CURRENT_SEARCH_DIR\")\n if [[ \"$_CURRENT_SEARCH_DIR\" == \"/\" ]] || [[ ${_CURRENT_LOOKUPS} -gt ${_MAX_LOOKUPS} ]]; then break; fi;\n echo \"info: ($_CURRENT_LOOKUPS of $_MAX_LOOKUPS) Searching in '$_CURRENT_SEARCH_DIR' for a ${_JSON_FILE_NAME} file.\"\n _SEARCH_RESULT=$(find \"$_CURRENT_SEARCH_DIR\" -maxdepth 2 -name ${_JSON_FILE_NAME} -print | /usr/bin/head -n 1)\n if [[ ${_SEARCH_RESULT} ]]; then\n echo \"info: ${_JSON_FILE_NAME} found at $_SEARCH_RESULT\"\n break;\n fi;\n _CURRENT_LOOKUPS=$((_CURRENT_LOOKUPS+1))\ndone\n\nif [[ ${_SEARCH_RESULT} ]]; then\n _JSON_OUTPUT_RAW=$(cat \"${_SEARCH_RESULT}\")\n _RN_ROOT_EXISTS=$(ruby -KU -e \"require 'rubygems';require 'json'; output=JSON.parse('$_JSON_OUTPUT_RAW'); puts output[$_JSON_ROOT]\" || echo '')\n\n if [[ ${_RN_ROOT_EXISTS} ]]; then\n if ! python3 --version >/dev/null 2>&1; then echo \"python3 not found, app.json file processing error.\" && exit 1; fi\n _JSON_OUTPUT_BASE64=$(python3 -c 'import json,sys,base64;print(base64.b64encode(bytes(json.dumps(json.loads(open('\"'${_SEARCH_RESULT}'\"', '\"'rb'\"').read())['${_JSON_ROOT}']), '\"'utf-8'\"')).decode())' || echo \"e30=\")\n fi\n\n _PLIST_ENTRY_KEYS+=(\"google_mobile_ads_json_raw\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_JSON_OUTPUT_BASE64\")\n\n # config.delay_app_measurement_init\n _DELAY_APP_MEASUREMENT=$(getJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"delay_app_measurement_init\")\n if [[ $_DELAY_APP_MEASUREMENT == \"true\" ]]; then\n _PLIST_ENTRY_KEYS+=(\"GADDelayAppMeasurementInit\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"YES\")\n fi\n\n # config.ios_app_id\n _IOS_APP_ID=$(getJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"ios_app_id\")\n if [[ $_IOS_APP_ID ]]; then\n _PLIST_ENTRY_KEYS+=(\"GADApplicationIdentifier\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_IOS_APP_ID\")\n fi\n\n # config.sk_ad_network_items\n _SK_AD_NETWORK_ITEMS=$(getJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"sk_ad_network_items\")\n if [[ $_SK_AD_NETWORK_ITEMS ]]; then\n _PLIST_ENTRY_KEYS+=(\"SKAdNetworkItems\")\n _PLIST_ENTRY_TYPES+=(\"array\")\n _PLIST_ENTRY_VALUES+=(\"\")\n\n oldifs=$IFS\n IFS=\"\n\"\n array=($(echo \"$_SK_AD_NETWORK_ITEMS\"))\n IFS=$oldifs\n for i in \"${!array[@]}\"; do\n _PLIST_ENTRY_KEYS+=(\"SKAdNetworkItems:$i:SKAdNetworkIdentifier\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"${array[i]}\") \n done\n fi\n\n # config.user_tracking_usage_description\n _USER_TRACKING_USAGE_DESCRIPTION=$(getJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"user_tracking_usage_description\")\n if [[ $_USER_TRACKING_USAGE_DESCRIPTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"NSUserTrackingUsageDescription\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_USER_TRACKING_USAGE_DESCRIPTION\")\n fi\nelse\n _PLIST_ENTRY_KEYS+=(\"google_mobile_ads_json_raw\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_JSON_OUTPUT_BASE64\")\n echo \"warning: A ${_JSON_FILE_NAME} file was not found, whilst this file is optional it is recommended to include it to auto-configure services.\"\nfi;\n\necho \"info: 2) Injecting Info.plist entries: \"\n\n# Log out the keys we're adding\nfor i in \"${!_PLIST_ENTRY_KEYS[@]}\"; do\n echo \" -> $i) ${_PLIST_ENTRY_KEYS[$i]}\" \"${_PLIST_ENTRY_TYPES[$i]}\" \"${_PLIST_ENTRY_VALUES[$i]}\"\ndone\n\nif ! [[ -f \"${_TARGET_PLIST}\" ]]; then\n echo \"error: unable to locate Info.plist to set properties. App will crash without GADApplicationIdentifier set.\"\n exit 1\nfi\n\nif ! [[ $_IOS_APP_ID ]]; then\n echo \"warning: ios_app_id key not found in react-native-google-mobile-ads key in app.json. App will crash without it.\"\n echo \" You can safely ignore this warning if you are using our Expo config plugin.\"\n exit 0\nfi\n\nfor plist in \"${_TARGET_PLIST}\" \"${_DSYM_PLIST}\" ; do\n if [[ -f \"${plist}\" ]]; then\n\n # paths with spaces break the call to setPlistValue. temporarily modify\n # the shell internal field separator variable (IFS), which normally\n # includes spaces, to consist only of line breaks\n oldifs=$IFS\n IFS=\"\n\"\n\n for i in \"${!_PLIST_ENTRY_KEYS[@]}\"; do\n setPlistValue \"${_PLIST_ENTRY_KEYS[$i]}\" \"${_PLIST_ENTRY_TYPES[$i]}\" \"${_PLIST_ENTRY_VALUES[$i]}\" \"${plist}\"\n done\n\n # restore the original internal field separator value\n IFS=$oldifs\n else\n echo \"warning: A Info.plist build output file was not found (${plist})\"\n fi\ndone\n\necho \"info: <- ${_PROJECT_ABBREVIATION} build script finished\"\n"; }; F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; @@ -535,7 +535,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - CC = "$(REACT_NATIVE_PATH)/scripts/xcode/ccache-clang.sh"; + CC = ""; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "c++20"; CLANG_CXX_LIBRARY = "libc++"; @@ -563,7 +563,7 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; - CXX = "$(REACT_NATIVE_PATH)/scripts/xcode/ccache-clang++.sh"; + CXX = ""; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; @@ -583,8 +583,8 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 13.4; - LD = "$(REACT_NATIVE_PATH)/scripts/xcode/ccache-clang.sh"; - LDPLUSPLUS = "$(REACT_NATIVE_PATH)/scripts/xcode/ccache-clang++.sh"; + LD = ""; + LDPLUSPLUS = ""; LD_RUNPATH_SEARCH_PATHS = ( /usr/lib/swift, "$(inherited)", @@ -610,6 +610,7 @@ ); REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG"; USE_HERMES = true; }; name = Debug; @@ -618,7 +619,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - CC = "$(REACT_NATIVE_PATH)/scripts/xcode/ccache-clang.sh"; + CC = ""; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "c++20"; CLANG_CXX_LIBRARY = "libc++"; @@ -646,7 +647,7 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = YES; - CXX = "$(REACT_NATIVE_PATH)/scripts/xcode/ccache-clang++.sh"; + CXX = ""; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; @@ -659,8 +660,8 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 13.4; - LD = "$(REACT_NATIVE_PATH)/scripts/xcode/ccache-clang.sh"; - LDPLUSPLUS = "$(REACT_NATIVE_PATH)/scripts/xcode/ccache-clang++.sh"; + LD = ""; + LDPLUSPLUS = ""; LD_RUNPATH_SEARCH_PATHS = ( /usr/lib/swift, "$(inherited)", From c307c19ccb3863fab13569e8d2a7cdd24156ff7d Mon Sep 17 00:00:00 2001 From: Mark Wilcox Date: Tue, 10 Dec 2024 18:35:24 +0000 Subject: [PATCH 3/9] Defend against null stored sizes when setting max height --- .../ReactNativeGoogleMobileAdsBannerAdViewManager.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsBannerAdViewManager.java b/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsBannerAdViewManager.java index e6e3bc1b..e5dacb53 100644 --- a/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsBannerAdViewManager.java +++ b/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsBannerAdViewManager.java @@ -143,7 +143,10 @@ public void setSizes(ReactNativeAdView reactViewGroup, ReadableArray value) { @ReactProp(name = "maxAdHeight") public void setMaxAdHeight(ReactNativeAdView reactViewGroup, float value) { reactViewGroup.setMaxAdHeight(value); - this.setSizes(reactViewGroup, reactViewGroup.getSizesArray()); + ReadableArray adSizes = reactViewGroup.getSizesArray(); + if (adSizes != null) { + this.setSizes(reactViewGroup, adSizes); + } reactViewGroup.setPropsChanged(true); } From ab2252296c6755702c699e78f451608d560f200e Mon Sep 17 00:00:00 2001 From: Mark Wilcox Date: Thu, 19 Dec 2024 16:38:00 +0000 Subject: [PATCH 4/9] Update src/types/BannerAdProps.ts Co-authored-by: Dylan --- src/types/BannerAdProps.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/types/BannerAdProps.ts b/src/types/BannerAdProps.ts index e0b6b18b..97f8a93f 100644 --- a/src/types/BannerAdProps.ts +++ b/src/types/BannerAdProps.ts @@ -48,6 +48,10 @@ export interface BannerAdProps { */ size: BannerAdSize | string; + /** + * Limit inline adaptive banner height. + * By default, inline adaptive banners instantiated without a maxHeight value have a maxHeight equal to the device height. + */ maxHeight?: number; /** * The request options for this banner. From 7f6c3a8285fbc81b4a05e8f61a85e292d6697699 Mon Sep 17 00:00:00 2001 From: Mark Wilcox Date: Thu, 19 Dec 2024 16:38:24 +0000 Subject: [PATCH 5/9] Update ios/RNGoogleMobileAds/RNGoogleMobileAdsCommon.mm Co-authored-by: Dylan --- ios/RNGoogleMobileAds/RNGoogleMobileAdsCommon.mm | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/ios/RNGoogleMobileAds/RNGoogleMobileAdsCommon.mm b/ios/RNGoogleMobileAds/RNGoogleMobileAdsCommon.mm index 08c78790..97321bc5 100644 --- a/ios/RNGoogleMobileAds/RNGoogleMobileAdsCommon.mm +++ b/ios/RNGoogleMobileAds/RNGoogleMobileAdsCommon.mm @@ -207,11 +207,7 @@ + (GADAdSize)stringToAdSize:(NSString *)value withMaxHeight:(CGFloat)maxHeight { CGFloat viewWidth = frame.size.width; if ([value isEqualToString:@"INLINE_ADAPTIVE_BANNER"]) { if (maxHeight > 0) { - if (maxHeight < 32) { - return GADInlineAdaptiveBannerAdSizeWithWidthAndMaxHeight(viewWidth, 32.0); - } else { - return GADInlineAdaptiveBannerAdSizeWithWidthAndMaxHeight(viewWidth, maxHeight); - } + return GADInlineAdaptiveBannerAdSizeWithWidthAndMaxHeight(viewWidth, MAX(maxHeight, 32.0)); } return GADCurrentOrientationInlineAdaptiveBannerAdSizeWithWidth(viewWidth); } From c308c6bc818446dec1b3f81218301540a2fa5d65 Mon Sep 17 00:00:00 2001 From: Mark Wilcox Date: Thu, 19 Dec 2024 16:38:42 +0000 Subject: [PATCH 6/9] Update android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsCommon.java Co-authored-by: Dylan --- .../ReactNativeGoogleMobileAdsCommon.java | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsCommon.java b/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsCommon.java index 153fd96c..4f911397 100644 --- a/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsCommon.java +++ b/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsCommon.java @@ -55,13 +55,11 @@ static AdSize getAdSizeForAdaptiveBanner(String preDefinedAdSize, ViewGroup reac float maxAdHeight = ((ReactNativeAdView)reactViewGroup).getMaxAdHeight(); if ("INLINE_ADAPTIVE_BANNER".equals(preDefinedAdSize)) { - if (maxAdHeight > 0) { - if (maxAdHeight < 32) { - return AdSize.getInlineAdaptiveBannerAdSize(adWidth, 32); - } else { - return AdSize.getInlineAdaptiveBannerAdSize(adWidth, Math.round(maxAdHeight)); - } - } + if (maxAdHeight > 0) { + return AdSize.getInlineAdaptiveBannerAdSize(adWidth, Math.round(Math.max(maxAdHeight, 32))); + } + return AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize( + reactViewGroup.getContext(), adWidth); return AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize( reactViewGroup.getContext(), adWidth); } From 1f09ec75471fefd9435ff9e0301d1c8bbd4338c1 Mon Sep 17 00:00:00 2001 From: Mark Wilcox Date: Fri, 20 Dec 2024 17:58:38 +0000 Subject: [PATCH 7/9] Update RNGoogleMobileAdsExample/App.tsx Co-authored-by: Dylan --- RNGoogleMobileAdsExample/App.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/RNGoogleMobileAdsExample/App.tsx b/RNGoogleMobileAdsExample/App.tsx index 4263e443..dcefbdac 100644 --- a/RNGoogleMobileAdsExample/App.tsx +++ b/RNGoogleMobileAdsExample/App.tsx @@ -184,7 +184,8 @@ class InterstitialTest implements Test { class BannerTest implements Test { bannerAdSize: BannerAdSize | string; - maxHeight: number | undefined; + maxHeight?: number; + constructor(bannerAdSize, maxHeight: number | undefined = undefined) { this.bannerAdSize = bannerAdSize; this.bannerRef = React.createRef(); From 34f3f90a561333b276074325a5680f072aa66a75 Mon Sep 17 00:00:00 2001 From: Mark Wilcox Date: Fri, 20 Dec 2024 17:58:58 +0000 Subject: [PATCH 8/9] Update RNGoogleMobileAdsExample/App.tsx Co-authored-by: Dylan --- RNGoogleMobileAdsExample/App.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RNGoogleMobileAdsExample/App.tsx b/RNGoogleMobileAdsExample/App.tsx index dcefbdac..678a4d8d 100644 --- a/RNGoogleMobileAdsExample/App.tsx +++ b/RNGoogleMobileAdsExample/App.tsx @@ -186,7 +186,7 @@ class BannerTest implements Test { bannerAdSize: BannerAdSize | string; maxHeight?: number; - constructor(bannerAdSize, maxHeight: number | undefined = undefined) { + constructor(bannerAdSize, maxHeight?: number) { this.bannerAdSize = bannerAdSize; this.bannerRef = React.createRef(); this.maxHeight = maxHeight; From c3b75bbb49a7b9f93d3b1197bbeee0f5c49ee7a4 Mon Sep 17 00:00:00 2001 From: Mark Wilcox Date: Fri, 20 Dec 2024 17:59:32 +0000 Subject: [PATCH 9/9] Update android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsCommon.java Co-authored-by: Dylan --- .../googlemobileads/ReactNativeGoogleMobileAdsCommon.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsCommon.java b/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsCommon.java index 4f911397..96ccba3a 100644 --- a/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsCommon.java +++ b/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsCommon.java @@ -58,8 +58,6 @@ static AdSize getAdSizeForAdaptiveBanner(String preDefinedAdSize, ViewGroup reac if (maxAdHeight > 0) { return AdSize.getInlineAdaptiveBannerAdSize(adWidth, Math.round(Math.max(maxAdHeight, 32))); } - return AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize( - reactViewGroup.getContext(), adWidth); return AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize( reactViewGroup.getContext(), adWidth); }