From 43ca03e8659321f268936f1de24e2832568d9442 Mon Sep 17 00:00:00 2001 From: Loren Posen Date: Wed, 25 Jun 2025 12:13:16 -0700 Subject: [PATCH 1/6] feat: add RNIterableAPI and RNEventEmitter modules with fallback support --- src/api/NativeRNIterableAPISpec.ts | 113 +++++++++++ src/api/RNEventEmitter.ts | 4 + src/api/RNIterableAPI.ts | 9 + src/api/index.ts | 1 + src/core/classes/Iterable.ts | 204 ++++++++++---------- src/inApp/classes/IterableInAppManager.ts | 5 +- src/inbox/classes/IterableInboxDataModel.ts | 5 +- src/inbox/components/IterableInbox.tsx | 12 +- 8 files changed, 243 insertions(+), 110 deletions(-) create mode 100644 src/api/NativeRNIterableAPISpec.ts create mode 100644 src/api/RNEventEmitter.ts create mode 100644 src/api/RNIterableAPI.ts create mode 100644 src/api/index.ts diff --git a/src/api/NativeRNIterableAPISpec.ts b/src/api/NativeRNIterableAPISpec.ts new file mode 100644 index 000000000..c5aee45b1 --- /dev/null +++ b/src/api/NativeRNIterableAPISpec.ts @@ -0,0 +1,113 @@ +import { type TurboModule, TurboModuleRegistry } from 'react-native'; + +export interface IterableConfigDict { + pushIntegrationName?: string; + autoPushRegistration?: boolean; + inAppDisplayInterval?: number; + urlHandlerPresent: boolean; + customActionHandlerPresent: boolean; + inAppHandlerPresent: boolean; + authHandlerPresent: boolean; + // logLevel: IterableLogLevel; + expiringAuthTokenRefreshPeriod?: number; + allowedProtocols?: string[]; + androidSdkUseInMemoryStorageForInApps?: boolean; + useInMemoryStorageForInApps?: boolean; + // dataRegion: IterableDataRegion; + // pushPlatform?: IterablePushPlatform; + encryptionEnforced?: boolean; + logLevel?: string; + dataRegion?: string; + pushPlatform?: string; +} + +/** + * TODO: Get correct types for the native SDK + */ +export interface Spec extends TurboModule { + // Native SDK Functions + initializeWithApiKey( + apiKey: string, + config: IterableConfigDict, + version?: string + ): Promise; + + initialize2WithApiKey( + apiKey: string, + config: IterableConfigDict, + apiEndPointOverride: string, + version: string + ): Promise; + + setEmail(email: string | null | undefined, authToken: string | null | undefined): void; + getEmail(): Promise; + setUserId(userId: string | null | undefined, authToken: string | null | undefined): void; + getUserId(): Promise; + + // Iterable API Request Functions + disableDeviceForCurrentUser(): void; + setInAppShowResponse(inAppShowResponse: number): void; + getLastPushPayload(): Promise<{ [key: string]: string | number | boolean | null } | null>; + getAttributionInfo(): Promise<{ [key: string]: string | number | boolean | null } | null>; + setAttributionInfo(attributionInfo: { [key: string]: string | number | boolean | null } | null): void; + + trackPushOpenWithCampaignId( + campaignId: number, + templateId: number, + messageId: string, + appAlreadyRunning: boolean, + dataFields: { [key: string]: string | number | boolean | null } | null + ): void; + + updateCart(items: Array<{ [key: string]: string | number | boolean | null }>): void; + + trackPurchase( + total: number, + items: Array<{ [key: string]: string | number | boolean | null }>, + dataFields: { [key: string]: string | number | boolean | null } | null + ): void; + + trackInAppOpen(messageId: string, location: number): void; + trackInAppClick(messageId: string, location: number, clickedUrl: string): void; + trackInAppClose( + messageId: string, + location: number, + source: number, + clickedUrl?: string | null + ): void; + + inAppConsume(messageId: string, location: number, source: number): void; + trackEvent(name: string, dataFields: { [key: string]: string | number | boolean | null } | null): void; + updateUser(dataFields: { [key: string]: string | number | boolean | null }, mergeNestedObjects: boolean): void; + updateEmail(email: string, authToken: string | null | undefined): void; + handleAppLink(appLink: string): Promise; + + updateSubscriptions( + emailListIds: number[] | null | undefined, + unsubscribedChannelIds: number[] | null | undefined, + unsubscribedMessageTypeIds: number[] | null | undefined, + subscribedMessageTypeIds: number[] | null | undefined, + campaignId: number, + templateId: number + ): void; + + // SDK In-App Manager Functions + getInAppMessages(): Promise>; + getHtmlInAppContentForMessage(messageId: string): Promise; + getInboxMessages(): Promise>; + getUnreadInboxMessagesCount(): Promise; + showMessage(messageId: string, consume: boolean): Promise; + removeMessage(messageId: string, location: number, source: number): void; + setReadForMessage(messageId: string, read: boolean): void; + setAutoDisplayPaused(paused: boolean): void; + + // SDK Inbox Session Tracking Functions + startSession(visibleRows: Array<{ [key: string]: string | number | boolean | null }>): void; + endSession(): void; + updateVisibleRows(visibleRows: Array<{ [key: string]: string | number | boolean | null }>): void; + + // SDK Auth Manager Functions + passAlongAuthToken(authToken: string | null): void; +} + +export default TurboModuleRegistry.getEnforcing('RNIterableAPI'); \ No newline at end of file diff --git a/src/api/RNEventEmitter.ts b/src/api/RNEventEmitter.ts new file mode 100644 index 000000000..6738298e5 --- /dev/null +++ b/src/api/RNEventEmitter.ts @@ -0,0 +1,4 @@ +// import { NativeEventEmitter, NativeModules } from 'react-native'; + +// const RNIterableAPI = NativeModules.RNIterableAPI; +// export const RNEventEmitter = new NativeEventEmitter(RNIterableAPI); \ No newline at end of file diff --git a/src/api/RNIterableAPI.ts b/src/api/RNIterableAPI.ts new file mode 100644 index 000000000..50ee2d1e5 --- /dev/null +++ b/src/api/RNIterableAPI.ts @@ -0,0 +1,9 @@ +import TurboIterableModule from './NativeRNIterableAPISpec'; // new arch +import { NativeModules } from 'react-native'; // fallback + +const LegacyModule = NativeModules.RNIterableAPI; + +const IterableAPI = TurboIterableModule ?? LegacyModule; + +export default IterableAPI; +// export * from './RNEventEmitter'; \ No newline at end of file diff --git a/src/api/index.ts b/src/api/index.ts new file mode 100644 index 000000000..1d75a232f --- /dev/null +++ b/src/api/index.ts @@ -0,0 +1 @@ +export { default } from './RNIterableAPI'; \ No newline at end of file diff --git a/src/core/classes/Iterable.ts b/src/core/classes/Iterable.ts index 6a30828aa..4804cf8e9 100644 --- a/src/core/classes/Iterable.ts +++ b/src/core/classes/Iterable.ts @@ -1,7 +1,7 @@ import { Linking, - NativeEventEmitter, - NativeModules, + // NativeEventEmitter, + // NativeModules, Platform, } from 'react-native'; @@ -13,18 +13,22 @@ import { IterableInAppMessage } from '../../inApp/classes/IterableInAppMessage'; import { IterableInAppCloseSource } from '../../inApp/enums/IterableInAppCloseSource'; import { IterableInAppDeleteSource } from '../../inApp/enums/IterableInAppDeleteSource'; import { IterableInAppLocation } from '../../inApp/enums/IterableInAppLocation'; -import { IterableAuthResponseResult, IterableEventName } from '../enums'; +import { + IterableAuthResponseResult, +// IterableEventName +} from '../enums'; -import { IterableAction } from './IterableAction'; +// import { IterableAction } from './IterableAction'; import { IterableActionContext } from './IterableActionContext'; import { IterableAttributionInfo } from './IterableAttributionInfo'; -import { IterableAuthResponse } from './IterableAuthResponse'; +// import { IterableAuthResponse } from './IterableAuthResponse'; import type { IterableCommerceItem } from './IterableCommerceItem'; import { IterableConfig } from './IterableConfig'; import { IterableLogger } from './IterableLogger'; +import RNIterableAPI from '../../api'; -const RNIterableAPI = NativeModules.RNIterableAPI; -const RNEventEmitter = new NativeEventEmitter(RNIterableAPI); +// const RNIterableAPI = NativeModules.RNIterableAPI; +// const RNEventEmitter = new NativeEventEmitter(RNIterableAPI); /* eslint-disable tsdoc/syntax */ /** @@ -900,111 +904,111 @@ export class Iterable { */ private static setupEventHandlers() { //Remove all listeners to avoid duplicate listeners - RNEventEmitter.removeAllListeners(IterableEventName.handleUrlCalled); - RNEventEmitter.removeAllListeners(IterableEventName.handleInAppCalled); - RNEventEmitter.removeAllListeners( - IterableEventName.handleCustomActionCalled - ); - RNEventEmitter.removeAllListeners(IterableEventName.handleAuthCalled); + // RNEventEmitter.removeAllListeners(IterableEventName.handleUrlCalled); + // RNEventEmitter.removeAllListeners(IterableEventName.handleInAppCalled); + // RNEventEmitter.removeAllListeners( + // IterableEventName.handleCustomActionCalled + // ); + // RNEventEmitter.removeAllListeners(IterableEventName.handleAuthCalled); if (Iterable.savedConfig.urlHandler) { - RNEventEmitter.addListener(IterableEventName.handleUrlCalled, (dict) => { - const url = dict.url; - const context = IterableActionContext.fromDict(dict.context); - Iterable.wakeApp(); - - if (Platform.OS === 'android') { - //Give enough time for Activity to wake up. - setTimeout(() => { - callUrlHandler(url, context); - }, 1000); - } else { - callUrlHandler(url, context); - } - }); + // RNEventEmitter.addListener(IterableEventName.handleUrlCalled, (dict) => { + // const url = dict.url; + // const context = IterableActionContext.fromDict(dict.context); + // Iterable.wakeApp(); + + // if (Platform.OS === 'android') { + // //Give enough time for Activity to wake up. + // setTimeout(() => { + // callUrlHandler(url, context); + // }, 1000); + // } else { + // callUrlHandler(url, context); + // } + // }); } if (Iterable.savedConfig.customActionHandler) { - RNEventEmitter.addListener( - IterableEventName.handleCustomActionCalled, - (dict) => { - const action = IterableAction.fromDict(dict.action); - const context = IterableActionContext.fromDict(dict.context); - Iterable.savedConfig.customActionHandler!(action, context); - } - ); + // RNEventEmitter.addListener( + // IterableEventName.handleCustomActionCalled, + // (dict) => { + // const action = IterableAction.fromDict(dict.action); + // const context = IterableActionContext.fromDict(dict.context); + // Iterable.savedConfig.customActionHandler!(action, context); + // } + // ); } if (Iterable.savedConfig.inAppHandler) { - RNEventEmitter.addListener( - IterableEventName.handleInAppCalled, - (messageDict) => { - const message = IterableInAppMessage.fromDict(messageDict); - // MOB-10423: Check if we can use chain operator (?.) here instead - const result = Iterable.savedConfig.inAppHandler!(message); - RNIterableAPI.setInAppShowResponse(result); - } - ); + // RNEventEmitter.addListener( + // IterableEventName.handleInAppCalled, + // (messageDict) => { + // const message = IterableInAppMessage.fromDict(messageDict); + // // MOB-10423: Check if we can use chain operator (?.) here instead + // const result = Iterable.savedConfig.inAppHandler!(message); + // RNIterableAPI.setInAppShowResponse(result); + // } + // ); } if (Iterable.savedConfig.authHandler) { let authResponseCallback: IterableAuthResponseResult; - RNEventEmitter.addListener(IterableEventName.handleAuthCalled, () => { - // MOB-10423: Check if we can use chain operator (?.) here instead - - Iterable.savedConfig.authHandler!() - .then((promiseResult) => { - // Promise result can be either just String OR of type AuthResponse. - // If type AuthReponse, authToken will be parsed looking for `authToken` within promised object. Two additional listeners will be registered for success and failure callbacks sent by native bridge layer. - // Else it will be looked for as a String. - if (typeof promiseResult === typeof new IterableAuthResponse()) { - RNIterableAPI.passAlongAuthToken( - (promiseResult as IterableAuthResponse).authToken - ); - - setTimeout(() => { - if ( - authResponseCallback === IterableAuthResponseResult.SUCCESS - ) { - if ((promiseResult as IterableAuthResponse).successCallback) { - (promiseResult as IterableAuthResponse).successCallback?.(); - } - } else if ( - authResponseCallback === IterableAuthResponseResult.FAILURE - ) { - if ((promiseResult as IterableAuthResponse).failureCallback) { - (promiseResult as IterableAuthResponse).failureCallback?.(); - } - } else { - Iterable?.logger?.log( - 'No callback received from native layer' - ); - } - }, 1000); - } else if (typeof promiseResult === typeof '') { - //If promise only returns string - RNIterableAPI.passAlongAuthToken(promiseResult as string); - } else { - Iterable?.logger?.log( - 'Unexpected promise returned. Auth token expects promise of String or AuthResponse type.' - ); - } - }) - .catch((e) => Iterable?.logger?.log(e)); - }); - - RNEventEmitter.addListener( - IterableEventName.handleAuthSuccessCalled, - () => { - authResponseCallback = IterableAuthResponseResult.SUCCESS; - } - ); - RNEventEmitter.addListener( - IterableEventName.handleAuthFailureCalled, - () => { - authResponseCallback = IterableAuthResponseResult.FAILURE; - } - ); + // RNEventEmitter.addListener(IterableEventName.handleAuthCalled, () => { + // // MOB-10423: Check if we can use chain operator (?.) here instead + + // Iterable.savedConfig.authHandler!() + // .then((promiseResult) => { + // // Promise result can be either just String OR of type AuthResponse. + // // If type AuthReponse, authToken will be parsed looking for `authToken` within promised object. Two additional listeners will be registered for success and failure callbacks sent by native bridge layer. + // // Else it will be looked for as a String. + // if (typeof promiseResult === typeof new IterableAuthResponse()) { + // RNIterableAPI.passAlongAuthToken( + // (promiseResult as IterableAuthResponse).authToken + // ); + + // setTimeout(() => { + // if ( + // authResponseCallback === IterableAuthResponseResult.SUCCESS + // ) { + // if ((promiseResult as IterableAuthResponse).successCallback) { + // (promiseResult as IterableAuthResponse).successCallback?.(); + // } + // } else if ( + // authResponseCallback === IterableAuthResponseResult.FAILURE + // ) { + // if ((promiseResult as IterableAuthResponse).failureCallback) { + // (promiseResult as IterableAuthResponse).failureCallback?.(); + // } + // } else { + // Iterable?.logger?.log( + // 'No callback received from native layer' + // ); + // } + // }, 1000); + // } else if (typeof promiseResult === typeof '') { + // //If promise only returns string + // RNIterableAPI.passAlongAuthToken(promiseResult as string); + // } else { + // Iterable?.logger?.log( + // 'Unexpected promise returned. Auth token expects promise of String or AuthResponse type.' + // ); + // } + // }) + // .catch((e) => Iterable?.logger?.log(e)); + // }); + + // RNEventEmitter.addListener( + // IterableEventName.handleAuthSuccessCalled, + // () => { + // authResponseCallback = IterableAuthResponseResult.SUCCESS; + // } + // ); + // RNEventEmitter.addListener( + // IterableEventName.handleAuthFailureCalled, + // () => { + // authResponseCallback = IterableAuthResponseResult.FAILURE; + // } + // ); } function callUrlHandler(url: string, context: IterableActionContext) { diff --git a/src/inApp/classes/IterableInAppManager.ts b/src/inApp/classes/IterableInAppManager.ts index 640b99d50..ce6c6d42c 100644 --- a/src/inApp/classes/IterableInAppManager.ts +++ b/src/inApp/classes/IterableInAppManager.ts @@ -1,4 +1,4 @@ -import { NativeModules } from 'react-native'; +// import { NativeModules } from 'react-native'; import { Iterable } from '../../core/classes/Iterable'; import type { @@ -7,8 +7,9 @@ import type { } from '../enums'; import { IterableHtmlInAppContent } from './IterableHtmlInAppContent'; import { IterableInAppMessage } from './IterableInAppMessage'; +import RNIterableAPI from '../../api'; -const RNIterableAPI = NativeModules.RNIterableAPI; +// const RNIterableAPI = NativeModules.RNIterableAPI; /** * Manages in-app messages for the current user. diff --git a/src/inbox/classes/IterableInboxDataModel.ts b/src/inbox/classes/IterableInboxDataModel.ts index fe5ce66fb..25c8fbe3f 100644 --- a/src/inbox/classes/IterableInboxDataModel.ts +++ b/src/inbox/classes/IterableInboxDataModel.ts @@ -1,4 +1,4 @@ -import { NativeModules } from 'react-native'; +// import { NativeModules } from 'react-native'; import { Iterable } from '../../core/classes/Iterable'; import { @@ -12,8 +12,9 @@ import type { IterableInboxImpressionRowInfo, IterableInboxRowViewModel, } from '../types'; +import RNIterableAPI from '../../api'; -const RNIterableAPI = NativeModules.RNIterableAPI; +// const RNIterableAPI = NativeModules.RNIterableAPI; /** * The `IterableInboxDataModel` class provides methods to manage and manipulate diff --git a/src/inbox/components/IterableInbox.tsx b/src/inbox/components/IterableInbox.tsx index 545403e03..ce49fac5b 100644 --- a/src/inbox/components/IterableInbox.tsx +++ b/src/inbox/components/IterableInbox.tsx @@ -32,8 +32,8 @@ import { type IterableInboxMessageListProps, } from './IterableInboxMessageList'; -const RNIterableAPI = NativeModules.RNIterableAPI; -const RNEventEmitter = new NativeEventEmitter(RNIterableAPI); +// const RNIterableAPI = NativeModules.RNIterableAPI; +// const RNEventEmitter = new NativeEventEmitter(RNIterableAPI); const DEFAULT_HEADLINE_HEIGHT = 60; const ANDROID_HEADLINE_HEIGHT = 70; @@ -325,13 +325,13 @@ export const IterableInbox = ({ }, [returnToInboxTrigger]); function addInboxChangedListener() { - RNEventEmitter.addListener('receivedIterableInboxChanged', () => { - fetchInboxMessages(); - }); + // RNEventEmitter.addListener('receivedIterableInboxChanged', () => { + // fetchInboxMessages(); + // }); } function removeInboxChangedListener() { - RNEventEmitter.removeAllListeners('receivedIterableInboxChanged'); + // RNEventEmitter.removeAllListeners('receivedIterableInboxChanged'); } async function fetchInboxMessages() { From 2a7d8d32af73d5cb95627e044f0d015138aa809a Mon Sep 17 00:00:00 2001 From: Loren Posen Date: Wed, 25 Jun 2025 12:13:22 -0700 Subject: [PATCH 2/6] refactor: update project file paths and fix references in Xcode project --- .../project.pbxproj | 58 +++++++++---------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/example/ios/ReactNativeSdkExample.xcodeproj/project.pbxproj b/example/ios/ReactNativeSdkExample.xcodeproj/project.pbxproj index c6390b76b..6caadca33 100644 --- a/example/ios/ReactNativeSdkExample.xcodeproj/project.pbxproj +++ b/example/ios/ReactNativeSdkExample.xcodeproj/project.pbxproj @@ -9,10 +9,10 @@ /* Begin PBXBuildFile section */ 00E356F31AD99517003FC87E /* ReactNativeSdkExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* ReactNativeSdkExampleTests.m */; }; 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; + 664D8D7827DB98D0770F6952 /* libPods-ReactNativeSdkExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AD1DA28485B2FA84471ADBF5 /* libPods-ReactNativeSdkExample.a */; }; 779227342DFA3FB500D69EC0 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 779227332DFA3FB500D69EC0 /* AppDelegate.swift */; }; 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; A3A40C20801B8F02005FA4C0 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 1FC6B09E65A7BD9F6864C5D8 /* PrivacyInfo.xcprivacy */; }; - D8AD8DD7C4BBDAA8AE397A1B /* libPods-ReactNativeSdkExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1BA21919EC27D7F5BAE79A81 /* libPods-ReactNativeSdkExample.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -33,15 +33,15 @@ 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = ReactNativeSdkExample/Images.xcassets; sourceTree = ""; }; 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = ReactNativeSdkExample/Info.plist; sourceTree = ""; }; 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = PrivacyInfo.xcprivacy; path = ReactNativeSdkExample/PrivacyInfo.xcprivacy; sourceTree = ""; }; - 1BA21919EC27D7F5BAE79A81 /* libPods-ReactNativeSdkExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ReactNativeSdkExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 1FC6B09E65A7BD9F6864C5D8 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xml; name = PrivacyInfo.xcprivacy; path = ReactNativeSdkExample/PrivacyInfo.xcprivacy; sourceTree = ""; }; - 24F802EFDCFB094D34916C72 /* Pods-ReactNativeSdkExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeSdkExample.release.xcconfig"; path = "Target Support Files/Pods-ReactNativeSdkExample/Pods-ReactNativeSdkExample.release.xcconfig"; sourceTree = ""; }; + 5E137A559768F4DA0DE0C506 /* Pods-ReactNativeSdkExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeSdkExample.debug.xcconfig"; path = "Target Support Files/Pods-ReactNativeSdkExample/Pods-ReactNativeSdkExample.debug.xcconfig"; sourceTree = ""; }; 779227312DFA3FB500D69EC0 /* ReactNativeSdkExample-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ReactNativeSdkExample-Bridging-Header.h"; sourceTree = ""; }; 779227322DFA3FB500D69EC0 /* ReactNativeSdkExampleTests-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ReactNativeSdkExampleTests-Bridging-Header.h"; sourceTree = ""; }; 779227332DFA3FB500D69EC0 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path = ReactNativeSdkExample/AppDelegate.swift; sourceTree = ""; }; 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = ReactNativeSdkExample/LaunchScreen.storyboard; sourceTree = ""; }; + 94464541769300B8EB686675 /* Pods-ReactNativeSdkExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeSdkExample.release.xcconfig"; path = "Target Support Files/Pods-ReactNativeSdkExample/Pods-ReactNativeSdkExample.release.xcconfig"; sourceTree = ""; }; + AD1DA28485B2FA84471ADBF5 /* libPods-ReactNativeSdkExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ReactNativeSdkExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; - EDCEA27594161CE66029771A /* Pods-ReactNativeSdkExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeSdkExample.debug.xcconfig"; path = "Target Support Files/Pods-ReactNativeSdkExample/Pods-ReactNativeSdkExample.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -56,7 +56,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D8AD8DD7C4BBDAA8AE397A1B /* libPods-ReactNativeSdkExample.a in Frameworks */, + 664D8D7827DB98D0770F6952 /* libPods-ReactNativeSdkExample.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -99,7 +99,7 @@ isa = PBXGroup; children = ( ED297162215061F000B7C4FE /* JavaScriptCore.framework */, - 1BA21919EC27D7F5BAE79A81 /* libPods-ReactNativeSdkExample.a */, + AD1DA28485B2FA84471ADBF5 /* libPods-ReactNativeSdkExample.a */, ); name = Frameworks; sourceTree = ""; @@ -138,8 +138,8 @@ BBD78D7AC51CEA395F1C20DB /* Pods */ = { isa = PBXGroup; children = ( - EDCEA27594161CE66029771A /* Pods-ReactNativeSdkExample.debug.xcconfig */, - 24F802EFDCFB094D34916C72 /* Pods-ReactNativeSdkExample.release.xcconfig */, + 5E137A559768F4DA0DE0C506 /* Pods-ReactNativeSdkExample.debug.xcconfig */, + 94464541769300B8EB686675 /* Pods-ReactNativeSdkExample.release.xcconfig */, ); path = Pods; sourceTree = ""; @@ -169,13 +169,13 @@ isa = PBXNativeTarget; buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "ReactNativeSdkExample" */; buildPhases = ( - F706883CA13F4E50A06B85B2 /* [CP] Check Pods Manifest.lock */, + EA876BFEB17DBCCB367F6C6B /* [CP] Check Pods Manifest.lock */, 13B07F871A680F5B00A75B9A /* Sources */, 13B07F8C1A680F5B00A75B9A /* Frameworks */, 13B07F8E1A680F5B00A75B9A /* Resources */, 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, - 2128D4591E26BD193F1293F1 /* [CP] Embed Pods Frameworks */, - BBD6908F2EAA6D3A6C078EA9 /* [CP] Copy Pods Resources */, + D1C5555ED2E89EE9E03D6BDF /* [CP] Embed Pods Frameworks */, + EBE58E4C3CA13AF452862E92 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -260,7 +260,7 @@ shellPath = /bin/sh; shellScript = "set -e\n\nWITH_ENVIRONMENT=\"$REACT_NATIVE_PATH/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"$REACT_NATIVE_PATH/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n"; }; - 2128D4591E26BD193F1293F1 /* [CP] Embed Pods Frameworks */ = { + D1C5555ED2E89EE9E03D6BDF /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -277,43 +277,43 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ReactNativeSdkExample/Pods-ReactNativeSdkExample-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - BBD6908F2EAA6D3A6C078EA9 /* [CP] Copy Pods Resources */ = { + EA876BFEB17DBCCB367F6C6B /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-ReactNativeSdkExample/Pods-ReactNativeSdkExample-resources-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Copy Pods Resources"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-ReactNativeSdkExample/Pods-ReactNativeSdkExample-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-ReactNativeSdkExample-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ReactNativeSdkExample/Pods-ReactNativeSdkExample-resources.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - F706883CA13F4E50A06B85B2 /* [CP] Check Pods Manifest.lock */ = { + EBE58E4C3CA13AF452862E92 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-ReactNativeSdkExample/Pods-ReactNativeSdkExample-resources-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Copy Pods Resources"; outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-ReactNativeSdkExample-checkManifestLockResult.txt", + "${PODS_ROOT}/Target Support Files/Pods-ReactNativeSdkExample/Pods-ReactNativeSdkExample-resources-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ReactNativeSdkExample/Pods-ReactNativeSdkExample-resources.sh\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -406,7 +406,7 @@ }; 13B07F941A680F5B00A75B9A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EDCEA27594161CE66029771A /* Pods-ReactNativeSdkExample.debug.xcconfig */; + baseConfigurationReference = 5E137A559768F4DA0DE0C506 /* Pods-ReactNativeSdkExample.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; @@ -436,7 +436,7 @@ }; 13B07F951A680F5B00A75B9A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 24F802EFDCFB094D34916C72 /* Pods-ReactNativeSdkExample.release.xcconfig */; + baseConfigurationReference = 94464541769300B8EB686675 /* Pods-ReactNativeSdkExample.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; From 331e60e7d8fc4e374eba322dfb693a5e2b49724d Mon Sep 17 00:00:00 2001 From: Loren Posen Date: Wed, 25 Jun 2025 12:40:10 -0700 Subject: [PATCH 3/6] feat: update RNIterableAPI to ReactIterableAPI and adjust configuration for TurboModule support --- example/react-native.config.js | 1 + ios/RNIterableAPI/RNIterableAPI.h | 4 ++++ package.json | 4 ++-- src/api/NativeRNIterableAPISpec.ts | 2 +- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/example/react-native.config.js b/example/react-native.config.js index 59d969820..ce5f52b76 100644 --- a/example/react-native.config.js +++ b/example/react-native.config.js @@ -6,6 +6,7 @@ module.exports = { ios: { automaticPodsInstallation: true, }, + android: {}, }, dependencies: { [pkg.name]: { diff --git a/ios/RNIterableAPI/RNIterableAPI.h b/ios/RNIterableAPI/RNIterableAPI.h index 26bbf81fe..77949e6ca 100644 --- a/ios/RNIterableAPI/RNIterableAPI.h +++ b/ios/RNIterableAPI/RNIterableAPI.h @@ -6,4 +6,8 @@ // Copyright © 2025 Iterable. All rights reserved. // #import +#import + +@interface ReactIterableAPI : NSObject +@end diff --git a/package.json b/package.json index e324caebe..5bf07c556 100644 --- a/package.json +++ b/package.json @@ -167,9 +167,9 @@ ] }, "codegenConfig": { - "name": "RNIterableSpec", + "name": "ReactIterableAPI", "type": "modules", - "jsSrcsDir": "src", + "jsSrcsDir": "./src/api", "android": { "javaPackageName": "com.iterable.reactnative" } diff --git a/src/api/NativeRNIterableAPISpec.ts b/src/api/NativeRNIterableAPISpec.ts index c5aee45b1..84db4855b 100644 --- a/src/api/NativeRNIterableAPISpec.ts +++ b/src/api/NativeRNIterableAPISpec.ts @@ -110,4 +110,4 @@ export interface Spec extends TurboModule { passAlongAuthToken(authToken: string | null): void; } -export default TurboModuleRegistry.getEnforcing('RNIterableAPI'); \ No newline at end of file +export default TurboModuleRegistry.getEnforcing('ReactIterableAPI'); \ No newline at end of file From 0abea2a3aaa53ace635466cada6fc6e339e9e4f2 Mon Sep 17 00:00:00 2001 From: Loren Posen Date: Wed, 25 Jun 2025 12:48:51 -0700 Subject: [PATCH 4/6] feat: add iOS configuration and React Native CLI dependency for improved project setup --- package.json | 12 ++++++++++++ react-native.config.js | 19 +++++++++++++++++++ yarn.lock | 1 + 3 files changed, 32 insertions(+) create mode 100644 react-native.config.js diff --git a/package.json b/package.json index 5bf07c556..26d68ca9e 100644 --- a/package.json +++ b/package.json @@ -67,6 +67,7 @@ "devDependencies": { "@commitlint/config-conventional": "^17.0.2", "@evilmartians/lefthook": "^1.5.0", + "@react-native-community/cli": "18.0.0", "@react-native/babel-preset": "0.79.3", "@react-native/eslint-config": "0.79.3", "@react-native/metro-config": "0.79.3", @@ -172,6 +173,17 @@ "jsSrcsDir": "./src/api", "android": { "javaPackageName": "com.iterable.reactnative" + }, + "ios": { + "headerSearchPaths": [ + "\"$(PODS_ROOT)/boost\"", + "\"$(PODS_ROOT)/DoubleConversion\"", + "\"$(PODS_ROOT)/RCT-Folly\"", + "\"$(PODS_ROOT)/Headers/Public/React-Codegen/react/renderer/components\"", + "\"$(PODS_ROOT)/Headers/Private/React-Fabric\"", + "\"$(PODS_ROOT)/Headers/Private/React-RCTFabric\"" + ], + "podspecPath": "./Iterable-React-Native-SDK.podspec" } }, "create-react-native-library": { diff --git a/react-native.config.js b/react-native.config.js new file mode 100644 index 000000000..cfca48fd9 --- /dev/null +++ b/react-native.config.js @@ -0,0 +1,19 @@ +const path = require('path'); + +module.exports = { + project: { + ios: { + automaticPodsInstallation: true, + }, + android: {}, + }, + dependencies: { + '@iterable/react-native-sdk': { + root: __dirname, + platforms: { + ios: {}, + android: {}, + }, + }, + }, +}; diff --git a/yarn.lock b/yarn.lock index d598c2d7a..96444a5e4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3097,6 +3097,7 @@ __metadata: dependencies: "@commitlint/config-conventional": ^17.0.2 "@evilmartians/lefthook": ^1.5.0 + "@react-native-community/cli": 18.0.0 "@react-native/babel-preset": 0.79.3 "@react-native/eslint-config": 0.79.3 "@react-native/metro-config": 0.79.3 From 1bfa5b5e323c3c6808c0d6f663bebeb15701078b Mon Sep 17 00:00:00 2001 From: Loren Posen Date: Wed, 25 Jun 2025 13:57:26 -0700 Subject: [PATCH 5/6] feat: enable new architecture support for RNIterableAPI and update configuration --- Iterable-React-Native-SDK.podspec | 28 +- example/ios/Podfile.lock | 2206 +++++++++++++++++ .../project.pbxproj | 58 +- ios/RNIterableAPI/RNIterableAPI.h | 8 + ios/RNIterableAPI/RNIterableAPI.mm | 14 + lefthook.yml | 28 +- package.json | 10 +- react-native.config.js | 4 +- src/hooks/index.ts | 0 9 files changed, 2286 insertions(+), 70 deletions(-) create mode 100644 example/ios/Podfile.lock delete mode 100644 src/hooks/index.ts diff --git a/Iterable-React-Native-SDK.podspec b/Iterable-React-Native-SDK.podspec index 14c6d5966..94afbcc07 100644 --- a/Iterable-React-Native-SDK.podspec +++ b/Iterable-React-Native-SDK.podspec @@ -1,7 +1,6 @@ require "json" package = JSON.parse(File.read(File.join(__dir__, "package.json"))) -folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' Pod::Spec.new do |s| s.name = "Iterable-React-Native-SDK" @@ -14,31 +13,10 @@ Pod::Spec.new do |s| s.platforms = { :ios => min_ios_version_supported } s.source = { :git => "https://github.com/Iterable/react-native-sdk.git", :tag => "#{s.version}" } - s.source_files = "ios/**/*.{h,m,mm,swift}" + s.source_files = "ios/**/*.{h,m,mm,swift,cpp}" - # Use install_modules_dependencies helper to install the dependencies if React Native version >=0.71.0. - # See https://github.com/facebook/react-native/blob/febf6b7f33fdb4904669f99d795eba4c0f95d7bf/scripts/cocoapods/new_architecture.rb#L79. - if respond_to?(:install_modules_dependencies, true) - install_modules_dependencies(s) - else - s.dependency "React-Core" + s.dependency "Iterable-iOS-SDK", "6.5.4" - # Don't install the dependencies when we run `pod install` in the old architecture. - if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then - s.compiler_flags = folly_compiler_flags + " -DRCT_NEW_ARCH_ENABLED=1" - s.pod_target_xcconfig = { - "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\"", - "OTHER_CPLUSPLUSFLAGS" => "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1", - "CLANG_CXX_LANGUAGE_STANDARD" => "c++17" - } - s.dependency "React-Codegen" - s.dependency "RCT-Folly" - s.dependency "RCTRequired" - s.dependency "RCTTypeSafety" - s.dependency "ReactCommon/turbomodule/core" - end - end + install_modules_dependencies(s) - s.dependency "Iterable-iOS-SDK", "6.5.4" - end diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock new file mode 100644 index 000000000..7988300b9 --- /dev/null +++ b/example/ios/Podfile.lock @@ -0,0 +1,2206 @@ +PODS: + - boost (1.84.0) + - DoubleConversion (1.1.6) + - fast_float (6.1.4) + - FBLazyVector (0.79.3) + - fmt (11.0.2) + - glog (0.3.5) + - hermes-engine (0.79.3): + - hermes-engine/Pre-built (= 0.79.3) + - hermes-engine/Pre-built (0.79.3) + - Iterable-iOS-SDK (6.5.4) + - Iterable-React-Native-SDK (2.0.0): + - DoubleConversion + - glog + - hermes-engine + - Iterable-iOS-SDK (= 6.5.4) + - RCT-Folly (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - RCT-Folly (2024.11.18.00): + - boost + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - RCT-Folly/Default (= 2024.11.18.00) + - RCT-Folly/Default (2024.11.18.00): + - boost + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - RCT-Folly/Fabric (2024.11.18.00): + - boost + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - RCTDeprecation (0.79.3) + - RCTRequired (0.79.3) + - RCTTypeSafety (0.79.3): + - FBLazyVector (= 0.79.3) + - RCTRequired (= 0.79.3) + - React-Core (= 0.79.3) + - React (0.79.3): + - React-Core (= 0.79.3) + - React-Core/DevSupport (= 0.79.3) + - React-Core/RCTWebSocket (= 0.79.3) + - React-RCTActionSheet (= 0.79.3) + - React-RCTAnimation (= 0.79.3) + - React-RCTBlob (= 0.79.3) + - React-RCTImage (= 0.79.3) + - React-RCTLinking (= 0.79.3) + - React-RCTNetwork (= 0.79.3) + - React-RCTSettings (= 0.79.3) + - React-RCTText (= 0.79.3) + - React-RCTVibration (= 0.79.3) + - React-callinvoker (0.79.3) + - React-Core (0.79.3): + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - RCTDeprecation + - React-Core/Default (= 0.79.3) + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.1) + - Yoga + - React-Core/CoreModulesHeaders (0.79.3): + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.1) + - Yoga + - React-Core/Default (0.79.3): + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - RCTDeprecation + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.1) + - Yoga + - React-Core/DevSupport (0.79.3): + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - RCTDeprecation + - React-Core/Default (= 0.79.3) + - React-Core/RCTWebSocket (= 0.79.3) + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.1) + - Yoga + - React-Core/RCTActionSheetHeaders (0.79.3): + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.1) + - Yoga + - React-Core/RCTAnimationHeaders (0.79.3): + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.1) + - Yoga + - React-Core/RCTBlobHeaders (0.79.3): + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.1) + - Yoga + - React-Core/RCTImageHeaders (0.79.3): + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.1) + - Yoga + - React-Core/RCTLinkingHeaders (0.79.3): + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.1) + - Yoga + - React-Core/RCTNetworkHeaders (0.79.3): + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.1) + - Yoga + - React-Core/RCTSettingsHeaders (0.79.3): + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.1) + - Yoga + - React-Core/RCTTextHeaders (0.79.3): + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.1) + - Yoga + - React-Core/RCTVibrationHeaders (0.79.3): + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - RCTDeprecation + - React-Core/Default + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.1) + - Yoga + - React-Core/RCTWebSocket (0.79.3): + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - RCTDeprecation + - React-Core/Default (= 0.79.3) + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsitooling + - React-perflogger + - React-runtimescheduler + - React-utils + - SocketRocket (= 0.7.1) + - Yoga + - React-CoreModules (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - RCT-Folly (= 2024.11.18.00) + - RCTTypeSafety (= 0.79.3) + - React-Core/CoreModulesHeaders (= 0.79.3) + - React-jsi (= 0.79.3) + - React-jsinspector + - React-jsinspectortracing + - React-NativeModulesApple + - React-RCTBlob + - React-RCTFBReactNativeSpec + - React-RCTImage (= 0.79.3) + - ReactCommon + - SocketRocket (= 0.7.1) + - React-cxxreact (0.79.3): + - boost + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - React-callinvoker (= 0.79.3) + - React-debug (= 0.79.3) + - React-jsi (= 0.79.3) + - React-jsinspector + - React-jsinspectortracing + - React-logger (= 0.79.3) + - React-perflogger (= 0.79.3) + - React-runtimeexecutor (= 0.79.3) + - React-timing (= 0.79.3) + - React-debug (0.79.3) + - React-defaultsnativemodule (0.79.3): + - hermes-engine + - RCT-Folly + - React-domnativemodule + - React-featureflagsnativemodule + - React-hermes + - React-idlecallbacksnativemodule + - React-jsi + - React-jsiexecutor + - React-microtasksnativemodule + - React-RCTFBReactNativeSpec + - React-domnativemodule (0.79.3): + - hermes-engine + - RCT-Folly + - React-Fabric + - React-FabricComponents + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-RCTFBReactNativeSpec + - ReactCommon/turbomodule/core + - Yoga + - React-Fabric (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric/animations (= 0.79.3) + - React-Fabric/attributedstring (= 0.79.3) + - React-Fabric/componentregistry (= 0.79.3) + - React-Fabric/componentregistrynative (= 0.79.3) + - React-Fabric/components (= 0.79.3) + - React-Fabric/consistency (= 0.79.3) + - React-Fabric/core (= 0.79.3) + - React-Fabric/dom (= 0.79.3) + - React-Fabric/imagemanager (= 0.79.3) + - React-Fabric/leakchecker (= 0.79.3) + - React-Fabric/mounting (= 0.79.3) + - React-Fabric/observers (= 0.79.3) + - React-Fabric/scheduler (= 0.79.3) + - React-Fabric/telemetry (= 0.79.3) + - React-Fabric/templateprocessor (= 0.79.3) + - React-Fabric/uimanager (= 0.79.3) + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/animations (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/attributedstring (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/componentregistry (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/componentregistrynative (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric/components/legacyviewmanagerinterop (= 0.79.3) + - React-Fabric/components/root (= 0.79.3) + - React-Fabric/components/scrollview (= 0.79.3) + - React-Fabric/components/view (= 0.79.3) + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/legacyviewmanagerinterop (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/root (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/scrollview (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/components/view (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-renderercss + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - Yoga + - React-Fabric/consistency (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/core (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/dom (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/imagemanager (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/leakchecker (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/mounting (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/observers (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric/observers/events (= 0.79.3) + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/observers/events (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/scheduler (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric/observers/events + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-performancetimeline + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/telemetry (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/templateprocessor (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/uimanager (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric/uimanager/consistency (= 0.79.3) + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererconsistency + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-Fabric/uimanager/consistency (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererconsistency + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - React-FabricComponents (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-FabricComponents/components (= 0.79.3) + - React-FabricComponents/textlayoutmanager (= 0.79.3) + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - Yoga + - React-FabricComponents/components (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-FabricComponents/components/inputaccessory (= 0.79.3) + - React-FabricComponents/components/iostextinput (= 0.79.3) + - React-FabricComponents/components/modal (= 0.79.3) + - React-FabricComponents/components/rncore (= 0.79.3) + - React-FabricComponents/components/safeareaview (= 0.79.3) + - React-FabricComponents/components/scrollview (= 0.79.3) + - React-FabricComponents/components/text (= 0.79.3) + - React-FabricComponents/components/textinput (= 0.79.3) + - React-FabricComponents/components/unimplementedview (= 0.79.3) + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - Yoga + - React-FabricComponents/components/inputaccessory (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - Yoga + - React-FabricComponents/components/iostextinput (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - Yoga + - React-FabricComponents/components/modal (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - Yoga + - React-FabricComponents/components/rncore (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - Yoga + - React-FabricComponents/components/safeareaview (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - Yoga + - React-FabricComponents/components/scrollview (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - Yoga + - React-FabricComponents/components/text (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - Yoga + - React-FabricComponents/components/textinput (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - Yoga + - React-FabricComponents/components/unimplementedview (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - Yoga + - React-FabricComponents/textlayoutmanager (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-logger + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - Yoga + - React-FabricImage (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - RCTRequired (= 0.79.3) + - RCTTypeSafety (= 0.79.3) + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-jsiexecutor (= 0.79.3) + - React-logger + - React-rendererdebug + - React-utils + - ReactCommon + - Yoga + - React-featureflags (0.79.3): + - RCT-Folly (= 2024.11.18.00) + - React-featureflagsnativemodule (0.79.3): + - hermes-engine + - RCT-Folly + - React-featureflags + - React-hermes + - React-jsi + - React-jsiexecutor + - React-RCTFBReactNativeSpec + - ReactCommon/turbomodule/core + - React-graphics (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - React-hermes + - React-jsi + - React-jsiexecutor + - React-utils + - React-hermes (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - React-cxxreact (= 0.79.3) + - React-jsi + - React-jsiexecutor (= 0.79.3) + - React-jsinspector + - React-jsinspectortracing + - React-perflogger (= 0.79.3) + - React-runtimeexecutor + - React-idlecallbacksnativemodule (0.79.3): + - glog + - hermes-engine + - RCT-Folly + - React-hermes + - React-jsi + - React-jsiexecutor + - React-RCTFBReactNativeSpec + - React-runtimescheduler + - ReactCommon/turbomodule/core + - React-ImageManager (0.79.3): + - glog + - RCT-Folly/Fabric + - React-Core/Default + - React-debug + - React-Fabric + - React-graphics + - React-rendererdebug + - React-utils + - React-jserrorhandler (0.79.3): + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - React-cxxreact + - React-debug + - React-featureflags + - React-jsi + - ReactCommon/turbomodule/bridging + - React-jsi (0.79.3): + - boost + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - React-jsiexecutor (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - React-cxxreact (= 0.79.3) + - React-jsi (= 0.79.3) + - React-jsinspector + - React-jsinspectortracing + - React-perflogger (= 0.79.3) + - React-jsinspector (0.79.3): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly + - React-featureflags + - React-jsi + - React-jsinspectortracing + - React-perflogger (= 0.79.3) + - React-runtimeexecutor (= 0.79.3) + - React-jsinspectortracing (0.79.3): + - RCT-Folly + - React-oscompat + - React-jsitooling (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - RCT-Folly (= 2024.11.18.00) + - React-cxxreact (= 0.79.3) + - React-jsi (= 0.79.3) + - React-jsinspector + - React-jsinspectortracing + - React-jsitracing (0.79.3): + - React-jsi + - React-logger (0.79.3): + - glog + - React-Mapbuffer (0.79.3): + - glog + - React-debug + - React-microtasksnativemodule (0.79.3): + - hermes-engine + - RCT-Folly + - React-hermes + - React-jsi + - React-jsiexecutor + - React-RCTFBReactNativeSpec + - ReactCommon/turbomodule/core + - react-native-safe-area-context (5.4.1): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - react-native-safe-area-context/common (= 5.4.1) + - react-native-safe-area-context/fabric (= 5.4.1) + - React-NativeModulesApple + - React-RCTFabric + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - react-native-safe-area-context/common (5.4.1): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - react-native-safe-area-context/fabric (5.4.1): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - react-native-safe-area-context/common + - React-NativeModulesApple + - React-RCTFabric + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - react-native-webview (13.14.1): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - React-NativeModulesApple (0.79.3): + - glog + - hermes-engine + - React-callinvoker + - React-Core + - React-cxxreact + - React-featureflags + - React-hermes + - React-jsi + - React-jsinspector + - React-runtimeexecutor + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - React-oscompat (0.79.3) + - React-perflogger (0.79.3): + - DoubleConversion + - RCT-Folly (= 2024.11.18.00) + - React-performancetimeline (0.79.3): + - RCT-Folly (= 2024.11.18.00) + - React-cxxreact + - React-featureflags + - React-jsinspectortracing + - React-perflogger + - React-timing + - React-RCTActionSheet (0.79.3): + - React-Core/RCTActionSheetHeaders (= 0.79.3) + - React-RCTAnimation (0.79.3): + - RCT-Folly (= 2024.11.18.00) + - RCTTypeSafety + - React-Core/RCTAnimationHeaders + - React-jsi + - React-NativeModulesApple + - React-RCTFBReactNativeSpec + - ReactCommon + - React-RCTAppDelegate (0.79.3): + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-CoreModules + - React-debug + - React-defaultsnativemodule + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-jsitooling + - React-NativeModulesApple + - React-RCTFabric + - React-RCTFBReactNativeSpec + - React-RCTImage + - React-RCTNetwork + - React-RCTRuntime + - React-rendererdebug + - React-RuntimeApple + - React-RuntimeCore + - React-runtimescheduler + - React-utils + - ReactCommon + - React-RCTBlob (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - React-Core/RCTBlobHeaders + - React-Core/RCTWebSocket + - React-jsi + - React-jsinspector + - React-NativeModulesApple + - React-RCTFBReactNativeSpec + - React-RCTNetwork + - ReactCommon + - React-RCTFabric (0.79.3): + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - React-Core + - React-debug + - React-Fabric + - React-FabricComponents + - React-FabricImage + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-jsinspector + - React-jsinspectortracing + - React-performancetimeline + - React-RCTAnimation + - React-RCTImage + - React-RCTText + - React-rendererconsistency + - React-renderercss + - React-rendererdebug + - React-runtimescheduler + - React-utils + - Yoga + - React-RCTFBReactNativeSpec (0.79.3): + - hermes-engine + - RCT-Folly + - RCTRequired + - RCTTypeSafety + - React-Core + - React-hermes + - React-jsi + - React-jsiexecutor + - React-NativeModulesApple + - ReactCommon + - React-RCTImage (0.79.3): + - RCT-Folly (= 2024.11.18.00) + - RCTTypeSafety + - React-Core/RCTImageHeaders + - React-jsi + - React-NativeModulesApple + - React-RCTFBReactNativeSpec + - React-RCTNetwork + - ReactCommon + - React-RCTLinking (0.79.3): + - React-Core/RCTLinkingHeaders (= 0.79.3) + - React-jsi (= 0.79.3) + - React-NativeModulesApple + - React-RCTFBReactNativeSpec + - ReactCommon + - ReactCommon/turbomodule/core (= 0.79.3) + - React-RCTNetwork (0.79.3): + - RCT-Folly (= 2024.11.18.00) + - RCTTypeSafety + - React-Core/RCTNetworkHeaders + - React-jsi + - React-NativeModulesApple + - React-RCTFBReactNativeSpec + - ReactCommon + - React-RCTRuntime (0.79.3): + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - React-Core + - React-hermes + - React-jsi + - React-jsinspector + - React-jsinspectortracing + - React-jsitooling + - React-RuntimeApple + - React-RuntimeCore + - React-RuntimeHermes + - React-RCTSettings (0.79.3): + - RCT-Folly (= 2024.11.18.00) + - RCTTypeSafety + - React-Core/RCTSettingsHeaders + - React-jsi + - React-NativeModulesApple + - React-RCTFBReactNativeSpec + - ReactCommon + - React-RCTText (0.79.3): + - React-Core/RCTTextHeaders (= 0.79.3) + - Yoga + - React-RCTVibration (0.79.3): + - RCT-Folly (= 2024.11.18.00) + - React-Core/RCTVibrationHeaders + - React-jsi + - React-NativeModulesApple + - React-RCTFBReactNativeSpec + - ReactCommon + - React-rendererconsistency (0.79.3) + - React-renderercss (0.79.3): + - React-debug + - React-utils + - React-rendererdebug (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - RCT-Folly (= 2024.11.18.00) + - React-debug + - React-rncore (0.79.3) + - React-RuntimeApple (0.79.3): + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - React-callinvoker + - React-Core/Default + - React-CoreModules + - React-cxxreact + - React-featureflags + - React-jserrorhandler + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsitooling + - React-Mapbuffer + - React-NativeModulesApple + - React-RCTFabric + - React-RCTFBReactNativeSpec + - React-RuntimeCore + - React-runtimeexecutor + - React-RuntimeHermes + - React-runtimescheduler + - React-utils + - React-RuntimeCore (0.79.3): + - glog + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - React-cxxreact + - React-Fabric + - React-featureflags + - React-hermes + - React-jserrorhandler + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-jsitooling + - React-performancetimeline + - React-runtimeexecutor + - React-runtimescheduler + - React-utils + - React-runtimeexecutor (0.79.3): + - React-jsi (= 0.79.3) + - React-RuntimeHermes (0.79.3): + - hermes-engine + - RCT-Folly/Fabric (= 2024.11.18.00) + - React-featureflags + - React-hermes + - React-jsi + - React-jsinspector + - React-jsinspectortracing + - React-jsitooling + - React-jsitracing + - React-RuntimeCore + - React-utils + - React-runtimescheduler (0.79.3): + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - React-callinvoker + - React-cxxreact + - React-debug + - React-featureflags + - React-hermes + - React-jsi + - React-jsinspectortracing + - React-performancetimeline + - React-rendererconsistency + - React-rendererdebug + - React-runtimeexecutor + - React-timing + - React-utils + - React-timing (0.79.3) + - React-utils (0.79.3): + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - React-debug + - React-hermes + - React-jsi (= 0.79.3) + - ReactAppDependencyProvider (0.79.3): + - ReactCodegen + - ReactCodegen (0.79.3): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-FabricImage + - React-featureflags + - React-graphics + - React-hermes + - React-jsi + - React-jsiexecutor + - React-NativeModulesApple + - React-RCTAppDelegate + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - ReactCommon (0.79.3): + - ReactCommon/turbomodule (= 0.79.3) + - ReactCommon/turbomodule (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - React-callinvoker (= 0.79.3) + - React-cxxreact (= 0.79.3) + - React-jsi (= 0.79.3) + - React-logger (= 0.79.3) + - React-perflogger (= 0.79.3) + - ReactCommon/turbomodule/bridging (= 0.79.3) + - ReactCommon/turbomodule/core (= 0.79.3) + - ReactCommon/turbomodule/bridging (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - React-callinvoker (= 0.79.3) + - React-cxxreact (= 0.79.3) + - React-jsi (= 0.79.3) + - React-logger (= 0.79.3) + - React-perflogger (= 0.79.3) + - ReactCommon/turbomodule/core (0.79.3): + - DoubleConversion + - fast_float (= 6.1.4) + - fmt (= 11.0.2) + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - React-callinvoker (= 0.79.3) + - React-cxxreact (= 0.79.3) + - React-debug (= 0.79.3) + - React-featureflags (= 0.79.3) + - React-jsi (= 0.79.3) + - React-logger (= 0.79.3) + - React-perflogger (= 0.79.3) + - React-utils (= 0.79.3) + - RNGestureHandler (2.25.0): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - RNScreens (4.11.1): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-RCTImage + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - RNScreens/common (= 4.11.1) + - Yoga + - RNScreens/common (4.11.1): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-RCTImage + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - RNVectorIcons (10.2.0): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.11.18.00) + - RCTRequired + - RCTTypeSafety + - React-Core + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-hermes + - React-ImageManager + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - SocketRocket (0.7.1) + - Yoga (0.0.0) + +DEPENDENCIES: + - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) + - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) + - fast_float (from `../node_modules/react-native/third-party-podspecs/fast_float.podspec`) + - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) + - fmt (from `../node_modules/react-native/third-party-podspecs/fmt.podspec`) + - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) + - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) + - Iterable-React-Native-SDK (from `../..`) + - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) + - RCT-Folly/Fabric (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) + - RCTDeprecation (from `../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`) + - RCTRequired (from `../node_modules/react-native/Libraries/Required`) + - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) + - React (from `../node_modules/react-native/`) + - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`) + - 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`) + - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) + - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector-modern`) + - React-jsinspectortracing (from `../node_modules/react-native/ReactCommon/jsinspector-modern/tracing`) + - React-jsitooling (from `../node_modules/react-native/ReactCommon/jsitooling`) + - 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-native-safe-area-context (from `../node_modules/react-native-safe-area-context`) + - react-native-webview (from `../node_modules/react-native-webview`) + - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) + - React-oscompat (from `../node_modules/react-native/ReactCommon/oscompat`) + - 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`) + - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) + - React-RCTFabric (from `../node_modules/react-native/React`) + - React-RCTFBReactNativeSpec (from `../node_modules/react-native/React`) + - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) + - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) + - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) + - React-RCTRuntime (from `../node_modules/react-native/React/Runtime`) + - 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-renderercss (from `../node_modules/react-native/ReactCommon/react/renderer/css`) + - 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`) + - React-RuntimeCore (from `../node_modules/react-native/ReactCommon/react/runtime`) + - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) + - React-RuntimeHermes (from `../node_modules/react-native/ReactCommon/react/runtime`) + - React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) + - React-timing (from `../node_modules/react-native/ReactCommon/react/timing`) + - React-utils (from `../node_modules/react-native/ReactCommon/react/utils`) + - ReactAppDependencyProvider (from `build/generated/ios`) + - ReactCodegen (from `build/generated/ios`) + - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) + - RNGestureHandler (from `../node_modules/react-native-gesture-handler`) + - RNScreens (from `../node_modules/react-native-screens`) + - RNVectorIcons (from `../node_modules/react-native-vector-icons`) + - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) + +SPEC REPOS: + trunk: + - Iterable-iOS-SDK + - SocketRocket + +EXTERNAL SOURCES: + boost: + :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec" + DoubleConversion: + :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" + fast_float: + :podspec: "../node_modules/react-native/third-party-podspecs/fast_float.podspec" + FBLazyVector: + :path: "../node_modules/react-native/Libraries/FBLazyVector" + fmt: + :podspec: "../node_modules/react-native/third-party-podspecs/fmt.podspec" + glog: + :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-2025-06-04-RNv0.79.3-7f9a871eefeb2c3852365ee80f0b6733ec12ac3b + Iterable-React-Native-SDK: + :path: "../.." + RCT-Folly: + :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" + RCTDeprecation: + :path: "../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation" + RCTRequired: + :path: "../node_modules/react-native/Libraries/Required" + RCTTypeSafety: + :path: "../node_modules/react-native/Libraries/TypeSafety" + React: + :path: "../node_modules/react-native/" + React-callinvoker: + :path: "../node_modules/react-native/ReactCommon/callinvoker" + React-Core: + :path: "../node_modules/react-native/" + React-CoreModules: + :path: "../node_modules/react-native/React/CoreModules" + React-cxxreact: + :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: + :path: "../node_modules/react-native/ReactCommon/jserrorhandler" + React-jsi: + :path: "../node_modules/react-native/ReactCommon/jsi" + React-jsiexecutor: + :path: "../node_modules/react-native/ReactCommon/jsiexecutor" + React-jsinspector: + :path: "../node_modules/react-native/ReactCommon/jsinspector-modern" + React-jsinspectortracing: + :path: "../node_modules/react-native/ReactCommon/jsinspector-modern/tracing" + React-jsitooling: + :path: "../node_modules/react-native/ReactCommon/jsitooling" + React-jsitracing: + :path: "../node_modules/react-native/ReactCommon/hermes/executor/" + React-logger: + :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-native-safe-area-context: + :path: "../node_modules/react-native-safe-area-context" + react-native-webview: + :path: "../node_modules/react-native-webview" + React-NativeModulesApple: + :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" + React-oscompat: + :path: "../node_modules/react-native/ReactCommon/oscompat" + 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: + :path: "../node_modules/react-native/Libraries/NativeAnimation" + React-RCTAppDelegate: + :path: "../node_modules/react-native/Libraries/AppDelegate" + React-RCTBlob: + :path: "../node_modules/react-native/Libraries/Blob" + React-RCTFabric: + :path: "../node_modules/react-native/React" + React-RCTFBReactNativeSpec: + :path: "../node_modules/react-native/React" + React-RCTImage: + :path: "../node_modules/react-native/Libraries/Image" + React-RCTLinking: + :path: "../node_modules/react-native/Libraries/LinkingIOS" + React-RCTNetwork: + :path: "../node_modules/react-native/Libraries/Network" + React-RCTRuntime: + :path: "../node_modules/react-native/React/Runtime" + React-RCTSettings: + :path: "../node_modules/react-native/Libraries/Settings" + React-RCTText: + :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-renderercss: + :path: "../node_modules/react-native/ReactCommon/react/renderer/css" + React-rendererdebug: + :path: "../node_modules/react-native/ReactCommon/react/renderer/debug" + React-rncore: + :path: "../node_modules/react-native/ReactCommon" + React-RuntimeApple: + :path: "../node_modules/react-native/ReactCommon/react/runtime/platform/ios" + React-RuntimeCore: + :path: "../node_modules/react-native/ReactCommon/react/runtime" + React-runtimeexecutor: + :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" + React-RuntimeHermes: + :path: "../node_modules/react-native/ReactCommon/react/runtime" + React-runtimescheduler: + :path: "../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler" + React-timing: + :path: "../node_modules/react-native/ReactCommon/react/timing" + React-utils: + :path: "../node_modules/react-native/ReactCommon/react/utils" + ReactAppDependencyProvider: + :path: build/generated/ios + ReactCodegen: + :path: build/generated/ios + ReactCommon: + :path: "../node_modules/react-native/ReactCommon" + RNGestureHandler: + :path: "../node_modules/react-native-gesture-handler" + RNScreens: + :path: "../node_modules/react-native-screens" + RNVectorIcons: + :path: "../node_modules/react-native-vector-icons" + Yoga: + :path: "../node_modules/react-native/ReactCommon/yoga" + +SPEC CHECKSUMS: + boost: 7e761d76ca2ce687f7cc98e698152abd03a18f90 + DoubleConversion: cb417026b2400c8f53ae97020b2be961b59470cb + fast_float: 06eeec4fe712a76acc9376682e4808b05ce978b6 + FBLazyVector: a62a7a5760929b6265e27bc01ab7598dde93ebd3 + fmt: a40bb5bd0294ea969aaaba240a927bd33d878cdd + glog: 5683914934d5b6e4240e497e0f4a3b42d1854183 + hermes-engine: 94ed01537bdeccaab1adbf94b040d115d6fa1a7f + Iterable-iOS-SDK: 710bf6dada7dae9c03a09db7f0bc6c9d9a671f40 + Iterable-React-Native-SDK: 6101feaf6df526c034a78af1b580ac0fea519fb4 + RCT-Folly: e78785aa9ba2ed998ea4151e314036f6c49e6d82 + RCTDeprecation: c3e3f5b4ea83e7ff3bc86ce09e2a54b7affd687d + RCTRequired: ee438439880dffc9425930d1dd1a3c883ee6879c + RCTTypeSafety: fe728195791e1a0222aa83596a570cf377cd475e + React: 114ee161feb204412580928b743e6716aebac987 + React-callinvoker: d175cf3640a993f6cd960044a7657543157f0ba9 + React-Core: cd487c9eeb125c902242bcc76ced12e14adf4ea4 + React-CoreModules: 202df4f342e5c2893d5d1899b2856879a90d4bf1 + React-cxxreact: 72be57cebb9976199e6130ec6f9d511c6ae3b310 + React-debug: 5414189118050ebad6c701942c01c63bb499f5a6 + React-defaultsnativemodule: d9683a9187744c14c6ce7eb1a1a3649d33591e43 + React-domnativemodule: ea54d8fd1ee946a97654635f5a4d9245f6588006 + React-Fabric: 3cdce860fd1079c27f8cd8e029f716e6c4b34a4e + React-FabricComponents: 126c59bb8d69d795492e2a2c97a0c1738a29730b + React-FabricImage: 6cf335909c59746e7aca2180901367978cc21959 + React-featureflags: 670eb7cdf1495ea7bf392f653c19268291acaad1 + React-featureflagsnativemodule: 16b4eae0bf4d838e0a807c6b0cde2b4ae84534ef + React-graphics: 0d6b3201d0414e56897f09693df82d601cac0613 + React-hermes: a40e47b18c31efe4baa7942357e2327ddab63918 + React-idlecallbacksnativemodule: 37c6d6053ad5123405b0fbb695c44841273482dd + React-ImageManager: 1f5cb695a06454329759bfce8548ac0d4fcd069e + React-jserrorhandler: a8214a9f297af6ee3cb004e2cb5185214cfc4360 + React-jsi: ae02c9d6d68dbed80a9fde8f6d6198035ca154ce + React-jsiexecutor: 8c266057f23430685a2d928703e77eda80e1742e + React-jsinspector: 8789c28cbd63ff818d23550556490883caa89cdb + React-jsinspectortracing: 150180f7ed6fd2252308b5608b62ea698ca087b6 + React-jsitooling: 1fd5c99a3688a5152781be4ecfb88ca9c6cb11d8 + React-jsitracing: c87b3d789f4d5053a2518fb8202c1e1ccd6848a9 + React-logger: 514fac028fee60c84591f951c7c04ba1c5023334 + React-Mapbuffer: fae8da2c01aeb7f26ad739731b6dba61fd02fd97 + React-microtasksnativemodule: 20454ffccff553f0ee73fd20873aa8555a5867fb + react-native-safe-area-context: 5594ec631ede9c311c5c0efa244228eff845ce88 + react-native-webview: d3a441825b2dab776c151e5915d5e32c13b6c997 + React-NativeModulesApple: 65b2735133d6ce8a3cb5f23215ef85e427b0139c + React-oscompat: f26aa2a4adc84c34212ab12c07988fe19e9cf16a + React-perflogger: e15a0d43d1928e1c82f4f0b7fc05f7e9bccfede8 + React-performancetimeline: 064f2767a5d4d71547ea32a3cd8a76a101dfd11f + React-RCTActionSheet: c89c8b9b7c3ef87cb6a67e20f5eaea271f4b5f67 + React-RCTAnimation: e00af558ccb5fedd380ae32329be4c38e92e9b90 + React-RCTAppDelegate: 10d98d4867643322fa4fcd04548359ac88c74656 + React-RCTBlob: ef645bccf9c33d3b4391794983744da897474dfb + React-RCTFabric: 06ff9416fc48742bba58ed81a0d0a62bf0f8c7ec + React-RCTFBReactNativeSpec: e0942c2c7efa10303c63e287c1c1788aeb6d99ef + React-RCTImage: 0e3669a0bda8995874736d0f8f12c21d522df3c4 + React-RCTLinking: bd81ec3d1b6686a7c58bc8ed8b7a1f05ff2b3f8b + React-RCTNetwork: 20b8044841a043b80e7027e1bc4049ffa552d1fa + React-RCTRuntime: 0084733b33619670bea35cb02c96412d9271718e + React-RCTSettings: fa1d3e6c302e9980b5670315e2ccc998255ce32a + React-RCTText: 71f01a9261c015b76702e9d7a4153c9ca45f2341 + React-RCTVibration: 0e05fa4647ec1391c409fcc1cbd7cdb4894d80ef + React-rendererconsistency: 6a79c0a31890942940480f6e761365c4f604394f + React-renderercss: 18c7ae4971ae6eb6c6c1d4c8f241a856a8e4243f + React-rendererdebug: d621c08946310b44e58a80b6bf96a6c13e779cff + React-rncore: 91456f1e8feadf5216b37073968c16c14061f8d7 + React-RuntimeApple: 013c318ce9b3506b4fc7abe67369fdd14fc18bea + React-RuntimeCore: 66eaaf42eae393a1d592557493a70b80f051f885 + React-runtimeexecutor: 4e7bc0119ff38f80df43d109ef9508497cac1eee + React-RuntimeHermes: 2878d6e471ac3eb88ecc946d07938c4f9ec4f63e + React-runtimescheduler: ea0278e84e37a64a0f02b5bcb98fec1d49450fe7 + React-timing: 4e298a80e9a41c31d884df0422c9eb73a240ec0d + React-utils: fbb79f805d13e0613bc1f799c7bbe5659a0d5ba9 + ReactAppDependencyProvider: e6d0c3c3cc9862a3ccef0c252835cd7ccb96313d + ReactCodegen: c2f2ec5dd32215237420bedebae0e66867e1e8ea + ReactCommon: e243aa261effc83c10208f0794bade55ca9ae5b6 + RNGestureHandler: ebef699ea17e7c0006c1074e1e423ead60ce0121 + RNScreens: 482e9707f9826230810c92e765751af53826d509 + RNVectorIcons: 941a39b5d3b9d8cf8ac2e2fc09b07bfafbcf9796 + SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748 + Yoga: 29f74a5b77dca8c37669e1e1e867e5f4e12407df + +PODFILE CHECKSUM: d19074a3d4e15e2530c3704a3da09ff5162d45a6 + +COCOAPODS: 1.15.2 diff --git a/example/ios/ReactNativeSdkExample.xcodeproj/project.pbxproj b/example/ios/ReactNativeSdkExample.xcodeproj/project.pbxproj index 6caadca33..25fd3a188 100644 --- a/example/ios/ReactNativeSdkExample.xcodeproj/project.pbxproj +++ b/example/ios/ReactNativeSdkExample.xcodeproj/project.pbxproj @@ -9,10 +9,10 @@ /* Begin PBXBuildFile section */ 00E356F31AD99517003FC87E /* ReactNativeSdkExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* ReactNativeSdkExampleTests.m */; }; 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; - 664D8D7827DB98D0770F6952 /* libPods-ReactNativeSdkExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AD1DA28485B2FA84471ADBF5 /* libPods-ReactNativeSdkExample.a */; }; 779227342DFA3FB500D69EC0 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 779227332DFA3FB500D69EC0 /* AppDelegate.swift */; }; 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; A3A40C20801B8F02005FA4C0 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 1FC6B09E65A7BD9F6864C5D8 /* PrivacyInfo.xcprivacy */; }; + DA894596CCBCF08F93D42405 /* libPods-ReactNativeSdkExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C19AF6760E5D4FC548A16DA4 /* libPods-ReactNativeSdkExample.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -34,14 +34,14 @@ 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = ReactNativeSdkExample/Info.plist; sourceTree = ""; }; 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = PrivacyInfo.xcprivacy; path = ReactNativeSdkExample/PrivacyInfo.xcprivacy; sourceTree = ""; }; 1FC6B09E65A7BD9F6864C5D8 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xml; name = PrivacyInfo.xcprivacy; path = ReactNativeSdkExample/PrivacyInfo.xcprivacy; sourceTree = ""; }; - 5E137A559768F4DA0DE0C506 /* Pods-ReactNativeSdkExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeSdkExample.debug.xcconfig"; path = "Target Support Files/Pods-ReactNativeSdkExample/Pods-ReactNativeSdkExample.debug.xcconfig"; sourceTree = ""; }; 779227312DFA3FB500D69EC0 /* ReactNativeSdkExample-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ReactNativeSdkExample-Bridging-Header.h"; sourceTree = ""; }; 779227322DFA3FB500D69EC0 /* ReactNativeSdkExampleTests-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ReactNativeSdkExampleTests-Bridging-Header.h"; sourceTree = ""; }; 779227332DFA3FB500D69EC0 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path = ReactNativeSdkExample/AppDelegate.swift; sourceTree = ""; }; + 7B1E210479A743F189355D76 /* Pods-ReactNativeSdkExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeSdkExample.release.xcconfig"; path = "Target Support Files/Pods-ReactNativeSdkExample/Pods-ReactNativeSdkExample.release.xcconfig"; sourceTree = ""; }; 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = ReactNativeSdkExample/LaunchScreen.storyboard; sourceTree = ""; }; - 94464541769300B8EB686675 /* Pods-ReactNativeSdkExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeSdkExample.release.xcconfig"; path = "Target Support Files/Pods-ReactNativeSdkExample/Pods-ReactNativeSdkExample.release.xcconfig"; sourceTree = ""; }; - AD1DA28485B2FA84471ADBF5 /* libPods-ReactNativeSdkExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ReactNativeSdkExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + C19AF6760E5D4FC548A16DA4 /* libPods-ReactNativeSdkExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ReactNativeSdkExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; + F35C4A9122344D233B555C15 /* Pods-ReactNativeSdkExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeSdkExample.debug.xcconfig"; path = "Target Support Files/Pods-ReactNativeSdkExample/Pods-ReactNativeSdkExample.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -56,7 +56,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 664D8D7827DB98D0770F6952 /* libPods-ReactNativeSdkExample.a in Frameworks */, + DA894596CCBCF08F93D42405 /* libPods-ReactNativeSdkExample.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -99,7 +99,7 @@ isa = PBXGroup; children = ( ED297162215061F000B7C4FE /* JavaScriptCore.framework */, - AD1DA28485B2FA84471ADBF5 /* libPods-ReactNativeSdkExample.a */, + C19AF6760E5D4FC548A16DA4 /* libPods-ReactNativeSdkExample.a */, ); name = Frameworks; sourceTree = ""; @@ -138,8 +138,8 @@ BBD78D7AC51CEA395F1C20DB /* Pods */ = { isa = PBXGroup; children = ( - 5E137A559768F4DA0DE0C506 /* Pods-ReactNativeSdkExample.debug.xcconfig */, - 94464541769300B8EB686675 /* Pods-ReactNativeSdkExample.release.xcconfig */, + F35C4A9122344D233B555C15 /* Pods-ReactNativeSdkExample.debug.xcconfig */, + 7B1E210479A743F189355D76 /* Pods-ReactNativeSdkExample.release.xcconfig */, ); path = Pods; sourceTree = ""; @@ -169,13 +169,13 @@ isa = PBXNativeTarget; buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "ReactNativeSdkExample" */; buildPhases = ( - EA876BFEB17DBCCB367F6C6B /* [CP] Check Pods Manifest.lock */, + 51F3074D4FE29921310F82D9 /* [CP] Check Pods Manifest.lock */, 13B07F871A680F5B00A75B9A /* Sources */, 13B07F8C1A680F5B00A75B9A /* Frameworks */, 13B07F8E1A680F5B00A75B9A /* Resources */, 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, - D1C5555ED2E89EE9E03D6BDF /* [CP] Embed Pods Frameworks */, - EBE58E4C3CA13AF452862E92 /* [CP] Copy Pods Resources */, + 8D01ECE28FE5B39EC52F0416 /* [CP] Embed Pods Frameworks */, + E68F526FA241C10437C4913A /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -260,46 +260,46 @@ shellPath = /bin/sh; shellScript = "set -e\n\nWITH_ENVIRONMENT=\"$REACT_NATIVE_PATH/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"$REACT_NATIVE_PATH/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n"; }; - D1C5555ED2E89EE9E03D6BDF /* [CP] Embed Pods Frameworks */ = { + 51F3074D4FE29921310F82D9 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-ReactNativeSdkExample/Pods-ReactNativeSdkExample-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-ReactNativeSdkExample/Pods-ReactNativeSdkExample-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-ReactNativeSdkExample-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ReactNativeSdkExample/Pods-ReactNativeSdkExample-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - EA876BFEB17DBCCB367F6C6B /* [CP] Check Pods Manifest.lock */ = { + 8D01ECE28FE5B39EC52F0416 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-ReactNativeSdkExample/Pods-ReactNativeSdkExample-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-ReactNativeSdkExample-checkManifestLockResult.txt", + "${PODS_ROOT}/Target Support Files/Pods-ReactNativeSdkExample/Pods-ReactNativeSdkExample-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ReactNativeSdkExample/Pods-ReactNativeSdkExample-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - EBE58E4C3CA13AF452862E92 /* [CP] Copy Pods Resources */ = { + E68F526FA241C10437C4913A /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -406,7 +406,7 @@ }; 13B07F941A680F5B00A75B9A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5E137A559768F4DA0DE0C506 /* Pods-ReactNativeSdkExample.debug.xcconfig */; + baseConfigurationReference = F35C4A9122344D233B555C15 /* Pods-ReactNativeSdkExample.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; @@ -436,7 +436,7 @@ }; 13B07F951A680F5B00A75B9A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 94464541769300B8EB686675 /* Pods-ReactNativeSdkExample.release.xcconfig */; + baseConfigurationReference = 7B1E210479A743F189355D76 /* Pods-ReactNativeSdkExample.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; diff --git a/ios/RNIterableAPI/RNIterableAPI.h b/ios/RNIterableAPI/RNIterableAPI.h index 77949e6ca..44e3577a5 100644 --- a/ios/RNIterableAPI/RNIterableAPI.h +++ b/ios/RNIterableAPI/RNIterableAPI.h @@ -7,7 +7,15 @@ // #import #import +#ifdef RCT_NEW_ARCH_ENABLED +#import +#endif @interface ReactIterableAPI : NSObject @end +#ifdef RCT_NEW_ARCH_ENABLED +@interface ReactIterableAPI () + +@end +#endif \ No newline at end of file diff --git a/ios/RNIterableAPI/RNIterableAPI.mm b/ios/RNIterableAPI/RNIterableAPI.mm index dc40a6e12..f10f3e200 100644 --- a/ios/RNIterableAPI/RNIterableAPI.mm +++ b/ios/RNIterableAPI/RNIterableAPI.mm @@ -136,4 +136,18 @@ @interface RCT_EXTERN_REMAP_MODULE(RNIterableAPI, ReactIterableAPI, NSObject) RCT_EXTERN_METHOD(passAlongAuthToken: (NSString *) authToken) +// - (std::shared_ptr)getTurboModule: +// (const facebook::react::ObjCTurboModule::InitParams &)params +// { +// return std::make_shared(params); +// } + +#ifdef RCT_NEW_ARCH_ENABLED + - (std::shared_ptr)getTurboModule: + (const facebook::react::ObjCTurboModule::InitParams &)params + { + return std::make_shared(params); + } +#endif + @end diff --git a/lefthook.yml b/lefthook.yml index 8b4be29b7..12e18d7ab 100644 --- a/lefthook.yml +++ b/lefthook.yml @@ -1,14 +1,14 @@ -pre-commit: - parallel: true - commands: - lint: - glob: "*.{js,ts,jsx,tsx}" - run: npx eslint {staged_files} - types: - glob: "*.{js,ts,jsx,tsx}" - run: npx tsc -commit-msg: - parallel: true - commands: - commitlint: - run: npx commitlint --edit +# pre-commit: +# parallel: true +# commands: +# lint: +# glob: "*.{js,ts,jsx,tsx}" +# run: npx eslint {staged_files} +# types: +# glob: "*.{js,ts,jsx,tsx}" +# run: npx tsc +# commit-msg: +# parallel: true +# commands: +# commitlint: +# run: npx commitlint --edit diff --git a/package.json b/package.json index 26d68ca9e..15d7d5e5a 100644 --- a/package.json +++ b/package.json @@ -167,13 +167,21 @@ ] ] }, + "react-native": { + "newArchEnabled": true + }, "codegenConfig": { - "name": "ReactIterableAPI", + "name": "ReactIterableAPISpec", "type": "modules", "jsSrcsDir": "./src/api", "android": { "javaPackageName": "com.iterable.reactnative" }, + "includesGeneratedCode": true, + "outputDir": { + "ios": "ios/generated", + "android": "android/generated" + }, "ios": { "headerSearchPaths": [ "\"$(PODS_ROOT)/boost\"", diff --git a/react-native.config.js b/react-native.config.js index cfca48fd9..e51b7e792 100644 --- a/react-native.config.js +++ b/react-native.config.js @@ -11,7 +11,9 @@ module.exports = { '@iterable/react-native-sdk': { root: __dirname, platforms: { - ios: {}, + ios: { + // modules: true, + }, android: {}, }, }, diff --git a/src/hooks/index.ts b/src/hooks/index.ts deleted file mode 100644 index e69de29bb..000000000 From b2d8285bba6cae4daeb82d1f334bced43ee51578 Mon Sep 17 00:00:00 2001 From: Loren Posen Date: Wed, 25 Jun 2025 15:20:56 -0700 Subject: [PATCH 6/6] feat: add @babel/core dependency for improved build process --- package.json | 9 +-------- yarn.lock | 40 +++++++++++++++++++++++++++++++++++++--- 2 files changed, 38 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 15d7d5e5a..868e16715 100644 --- a/package.json +++ b/package.json @@ -65,6 +65,7 @@ "registry": "https://registry.npmjs.org/" }, "devDependencies": { + "@babel/core": "^7.27.4", "@commitlint/config-conventional": "^17.0.2", "@evilmartians/lefthook": "^1.5.0", "@react-native-community/cli": "18.0.0", @@ -183,14 +184,6 @@ "android": "android/generated" }, "ios": { - "headerSearchPaths": [ - "\"$(PODS_ROOT)/boost\"", - "\"$(PODS_ROOT)/DoubleConversion\"", - "\"$(PODS_ROOT)/RCT-Folly\"", - "\"$(PODS_ROOT)/Headers/Public/React-Codegen/react/renderer/components\"", - "\"$(PODS_ROOT)/Headers/Private/React-Fabric\"", - "\"$(PODS_ROOT)/Headers/Private/React-RCTFabric\"" - ], "podspecPath": "./Iterable-React-Native-SDK.podspec" } }, diff --git a/yarn.lock b/yarn.lock index 96444a5e4..4f50446ee 100644 --- a/yarn.lock +++ b/yarn.lock @@ -89,6 +89,29 @@ __metadata: languageName: node linkType: hard +"@babel/core@npm:^7.27.4": + version: 7.27.4 + resolution: "@babel/core@npm:7.27.4" + dependencies: + "@ampproject/remapping": ^2.2.0 + "@babel/code-frame": ^7.27.1 + "@babel/generator": ^7.27.3 + "@babel/helper-compilation-targets": ^7.27.2 + "@babel/helper-module-transforms": ^7.27.3 + "@babel/helpers": ^7.27.4 + "@babel/parser": ^7.27.4 + "@babel/template": ^7.27.2 + "@babel/traverse": ^7.27.4 + "@babel/types": ^7.27.3 + convert-source-map: ^2.0.0 + debug: ^4.1.0 + gensync: ^1.0.0-beta.2 + json5: ^2.2.3 + semver: ^6.3.1 + checksum: e7f961274f2cfc14c81e32dc0f10b06123a847e9fe73ec7b4df90411c3ebdad8ffecd7086f06aa46c2b24d8d27f2f8bef4b7c7319228c768256fc0e13819d395 + languageName: node + linkType: hard + "@babel/eslint-parser@npm:^7.25.1": version: 7.27.5 resolution: "@babel/eslint-parser@npm:7.27.5" @@ -326,7 +349,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.27.1": +"@babel/helper-module-transforms@npm:^7.27.1, @babel/helper-module-transforms@npm:^7.27.3": version: 7.27.3 resolution: "@babel/helper-module-transforms@npm:7.27.3" dependencies: @@ -527,6 +550,16 @@ __metadata: languageName: node linkType: hard +"@babel/helpers@npm:^7.27.4": + version: 7.27.6 + resolution: "@babel/helpers@npm:7.27.6" + dependencies: + "@babel/template": ^7.27.2 + "@babel/types": ^7.27.6 + checksum: 12f96a5800ff677481dbc0a022c617303e945210cac4821ad5377a31201ffd8d9c4d00f039ed1487cf2a3d15868fb2d6cabecdb1aba334bd40a846f1938053a2 + languageName: node + linkType: hard + "@babel/highlight@npm:^7.24.7": version: 7.24.7 resolution: "@babel/highlight@npm:7.24.7" @@ -2633,7 +2666,7 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.27.3": +"@babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.27.3, @babel/traverse@npm:^7.27.4": version: 7.27.4 resolution: "@babel/traverse@npm:7.27.4" dependencies: @@ -2659,7 +2692,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3": +"@babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.27.6": version: 7.27.6 resolution: "@babel/types@npm:7.27.6" dependencies: @@ -3095,6 +3128,7 @@ __metadata: version: 0.0.0-use.local resolution: "@iterable/react-native-sdk@workspace:." dependencies: + "@babel/core": ^7.27.4 "@commitlint/config-conventional": ^17.0.2 "@evilmartians/lefthook": ^1.5.0 "@react-native-community/cli": 18.0.0