Skip to content

Commit 714362f

Browse files
Rel/2.3.0 (#319)
* Make Forms and Location pods optional, true on default (#313) * Make Forms and Location pods optional, true on default * Add compiler flag wraps * Remove README updates (for now) * Surface missing module to ts error * Use no-op approach to make forms and location optional modules (#312) Make Forms and Location native modules optional with graceful degradation iOS: KLAVIYO_INCLUDE_FORMS/KLAVIYO_INCLUDE_LOCATION Podfile ENV vars control pod inclusion Android: FORMS_AVAILABLE/LOCATION_AVAILABLE constants, MissingKlaviyoModule catches in bridge JS: Module unavailability logs console.error and no-ops (no throw, no crash) * Bump to 2.3.0 | Swift 5.2.1 | Android 4.3.0 (#317) * Bump to 5.2.1 * unversion pods for testing for now * Point to android release branch * Point to Swift SDK 5.2.1, Android SDK 4.3.0 * Unversion readme links * Run pod install --------- Co-authored-by: Evan C Masseau <[email protected]>
1 parent bd6cc1e commit 714362f

16 files changed

Lines changed: 343 additions & 92 deletions

README.md

Lines changed: 45 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -555,6 +555,26 @@ In-App Forms supports advanced targeting and segmentation. In your Klaviyo accou
555555
| Audience Targeting | 2.0.0 |
556556
| Event Triggers | 2.1.0 |
557557

558+
### Module Configuration
559+
560+
The In-App Forms module is included by default. If you need to reduce your app's binary size and are not using In-App Forms, you can exclude it:
561+
562+
**iOS** — In your `Podfile`, before the `target` block:
563+
564+
```ruby
565+
ENV['KLAVIYO_INCLUDE_FORMS'] = 'false'
566+
```
567+
568+
Then run `pod install`.
569+
570+
**Android** — In your app's `gradle.properties`:
571+
572+
```properties
573+
klaviyoIncludeForms=false
574+
```
575+
576+
If the module is excluded, calls to `registerForInAppForms()` and `unregisterFromInAppForms()` will log an error and no-op.
577+
558578
### Setup
559579

560580
To configure your app to display In-App Forms, call `Klaviyo.registerForInAppForms()` after initializing the SDK with your public API key. Once registered, the SDK may launch an overlay view at any time to present a form according to its targeting and behavior settings configured in your Klaviyo account.
@@ -607,8 +627,31 @@ Note that after unregistering, the next call to `registerForInAppForms()` will b
607627
Integrating geofencing is highly platform-specific as it utilizes the native monitoring systems. Begin by thoroughly reviewing the setup
608628
instructions for Geofencing in the README from each native Klaviyo SDK:
609629

610-
- [Android](https://github.com/klaviyo/klaviyo-android-sdk/tree/rel/4.2.0-rc.1?tab=readme-ov-file#geofencing)
611-
- [iOS](https://github.com/klaviyo/klaviyo-swift-sdk/tree/rel/5.2.0-alpha.1?tab=readme-ov-file#geofencing)
630+
- [Android](https://github.com/klaviyo/klaviyo-android-sdk?tab=readme-ov-file#geofencing)
631+
- [iOS](https://github.com/klaviyo/klaviyo-swift-sdk?tab=readme-ov-file#geofencing)
632+
633+
### Module Configuration
634+
635+
The Location module is included by default. To exclude it (e.g. if you are not using geofencing and want to reduce binary size or avoid location permission requirements):
636+
637+
> **Note:** In the next major version, the Location module likely will be **excluded by default**.
638+
> If your app uses geofencing, we recommend explicitly opting in now to avoid disruption during the upgrade.
639+
640+
**iOS** — In your `Podfile`, before the `target` block:
641+
642+
```ruby
643+
ENV['KLAVIYO_INCLUDE_LOCATION'] = 'false'
644+
```
645+
646+
Then run `pod install`.
647+
648+
**Android** — In your app's `gradle.properties`:
649+
650+
```properties
651+
klaviyoIncludeLocation=false
652+
```
653+
654+
If the module is excluded, calls to geofencing methods will log an error and no-op.
612655

613656
### Setup
614657

android/build.gradle

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,17 @@ if (rootProject.file("local.properties").canRead()) {
9696
}
9797
def reactNativeAndroidVersion = localProperties['reactNativeAndroidVersion'] ?: ""
9898

99+
// Whether to include the full location module (geofencing + location permissions).
100+
// Set klaviyoIncludeLocation=false in your gradle.properties to use lightweight location-core instead.
101+
def includeLocation = rootProject.hasProperty('klaviyoIncludeLocation')
102+
? rootProject.property('klaviyoIncludeLocation').toBoolean()
103+
: true
104+
105+
// Whether to include the full forms module (in-app forms rendering).
106+
// Set klaviyoIncludeForms=false in your gradle.properties to use lightweight forms-core instead.
107+
def includeForms = rootProject.hasProperty('klaviyoIncludeForms')
108+
? rootProject.property('klaviyoIncludeForms').toBoolean()
109+
: true
99110

100111
dependencies {
101112
if (reactNativeAndroidVersion) {
@@ -116,10 +127,22 @@ dependencies {
116127
// Klaviyo Android SDK
117128
api "com.github.klaviyo.klaviyo-android-sdk:analytics:$klaviyoAndroidSdkVersion"
118129
api "com.github.klaviyo.klaviyo-android-sdk:push-fcm:$klaviyoAndroidSdkVersion"
119-
api "com.github.klaviyo.klaviyo-android-sdk:forms:$klaviyoAndroidSdkVersion"
120-
api "com.github.klaviyo.klaviyo-android-sdk:location:$klaviyoAndroidSdkVersion"
121130
implementation "com.github.klaviyo.klaviyo-android-sdk:core:$klaviyoAndroidSdkVersion"
122131

132+
// Location: full module (includes -core transitively), or just -core for lightweight
133+
if (includeLocation) {
134+
api "com.github.klaviyo.klaviyo-android-sdk:location:$klaviyoAndroidSdkVersion"
135+
} else {
136+
implementation "com.github.klaviyo.klaviyo-android-sdk:location-core:$klaviyoAndroidSdkVersion"
137+
}
138+
139+
// Forms: full module (includes -core transitively), or just -core for lightweight
140+
if (includeForms) {
141+
api "com.github.klaviyo.klaviyo-android-sdk:forms:$klaviyoAndroidSdkVersion"
142+
} else {
143+
implementation "com.github.klaviyo.klaviyo-android-sdk:forms-core:$klaviyoAndroidSdkVersion"
144+
}
145+
123146
// We used reflection to enumerate keywords in the Klaviyo Android SDK dynamically
124147
implementation "org.jetbrains.kotlin:kotlin-reflect:1.8.21"
125148
}

android/gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ android.useAndroidX=true
1717
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
1818
# org.gradle.parallel=true
1919
#Tue Dec 19 15:08:27 EST 2023
20-
KlaviyoReactNativeSdk_klaviyoAndroidSdkVersion=4.2.0
20+
KlaviyoReactNativeSdk_klaviyoAndroidSdkVersion=4.3.0
2121
KlaviyoReactNativeSdk_kotlinVersion=1.8.0
2222
KlaviyoReactNativeSdk_minSdkVersion=23
2323
KlaviyoReactNativeSdk_targetSdkVersion=36

android/settings.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@ if (localPropertiesFile.exists() && localPropertiesFile.canRead()) {
2323
substitute module("com.github.klaviyo.klaviyo-android-sdk:core") using project(":sdk:core")
2424
substitute module("com.github.klaviyo.klaviyo-android-sdk:analytics") using project(":sdk:analytics")
2525
substitute module("com.github.klaviyo.klaviyo-android-sdk:forms") using project(":sdk:forms")
26+
substitute module("com.github.klaviyo.klaviyo-android-sdk:forms-core") using project(":sdk:forms-core")
2627
substitute module("com.github.klaviyo.klaviyo-android-sdk:location") using project(":sdk:location")
28+
substitute module("com.github.klaviyo.klaviyo-android-sdk:location-core") using project(":sdk:location-core")
2729
substitute module("com.github.klaviyo.klaviyo-android-sdk:push-fcm") using project(":sdk:push-fcm")
2830
}
2931
}

android/src/main/java/com/klaviyoreactnativesdk/KlaviyoReactNativeSdkModule.kt

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,15 @@ import com.klaviyo.analytics.model.EventMetric
1515
import com.klaviyo.analytics.model.Keyword
1616
import com.klaviyo.analytics.model.Profile
1717
import com.klaviyo.analytics.model.ProfileKey
18+
import com.klaviyo.core.MissingKlaviyoModule
1819
import com.klaviyo.core.Registry
1920
import com.klaviyo.core.config.Config
2021
import com.klaviyo.core.utils.AdvancedAPI
22+
import com.klaviyo.forms.FormsProvider
2123
import com.klaviyo.forms.InAppFormsConfig
2224
import com.klaviyo.forms.registerForInAppForms
2325
import com.klaviyo.forms.unregisterFromInAppForms
26+
import com.klaviyo.location.GeofencingProvider
2427
import com.klaviyo.location.LocationManager
2528
import com.klaviyo.location.registerGeofencing
2629
import com.klaviyo.location.unregisterGeofencing
@@ -47,6 +50,8 @@ class KlaviyoReactNativeSdkModule(
4750
this[PROPERTIES] = PROPERTIES
4851
},
4952
"EVENT_NAMES" to this.extractConstants<EventMetric>(),
53+
"FORMS_AVAILABLE" to Registry.isRegistered<FormsProvider>(),
54+
"LOCATION_AVAILABLE" to Registry.isRegistered<GeofencingProvider>(),
5055
)
5156

5257
private inline fun <reified T> extractConstants(): Map<String, String> where T : Keyword =
@@ -78,6 +83,8 @@ class KlaviyoReactNativeSdkModule(
7883
sessionTimeoutDuration = timeout ?: InAppFormsConfig.DEFAULT_SESSION_TIMEOUT,
7984
),
8085
)
86+
} catch (e: MissingKlaviyoModule) {
87+
Registry.log.error("Forms module is not available", e)
8188
} catch (e: Exception) {
8289
Registry.log.error("Android unable to register for in app forms on main thread", e)
8390
}
@@ -87,18 +94,30 @@ class KlaviyoReactNativeSdkModule(
8794
@ReactMethod
8895
fun unregisterFromInAppForms() {
8996
UiThreadUtil.runOnUiThread {
90-
Klaviyo.unregisterFromInAppForms()
97+
try {
98+
Klaviyo.unregisterFromInAppForms()
99+
} catch (e: MissingKlaviyoModule) {
100+
Registry.log.error("Forms module is not available", e)
101+
}
91102
}
92103
}
93104

94105
@ReactMethod
95106
fun registerGeofencing() {
96-
Klaviyo.registerGeofencing()
107+
try {
108+
Klaviyo.registerGeofencing()
109+
} catch (e: MissingKlaviyoModule) {
110+
Registry.log.error("Location module is not available", e)
111+
}
97112
}
98113

99114
@ReactMethod
100115
fun unregisterGeofencing() {
101-
Klaviyo.unregisterGeofencing()
116+
try {
117+
Klaviyo.unregisterGeofencing()
118+
} catch (e: MissingKlaviyoModule) {
119+
Registry.log.error("Location module is not available", e)
120+
}
102121
}
103122

104123
@ReactMethod
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
<resources>
2-
<string name="klaviyo_sdk_version_override">2.2.0</string>
2+
<string name="klaviyo_sdk_version_override">2.3.0</string>
33
<string name="klaviyo_sdk_name_override">react_native</string>
44
</resources>

example/android/settings.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,9 @@ if (localPropertiesFile.exists() && localPropertiesFile.canRead()) {
3030
substitute module("com.github.klaviyo.klaviyo-android-sdk:core") using project(":sdk:core")
3131
substitute module("com.github.klaviyo.klaviyo-android-sdk:analytics") using project(":sdk:analytics")
3232
substitute module("com.github.klaviyo.klaviyo-android-sdk:forms") using project(":sdk:forms")
33+
substitute module("com.github.klaviyo.klaviyo-android-sdk:forms-core") using project(":sdk:forms-core")
3334
substitute module("com.github.klaviyo.klaviyo-android-sdk:location") using project(":sdk:location")
35+
substitute module("com.github.klaviyo.klaviyo-android-sdk:location-core") using project(":sdk:location-core")
3436
substitute module("com.github.klaviyo.klaviyo-android-sdk:push-fcm") using project(":sdk:push-fcm")
3537
}
3638
}

example/ios/Podfile

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
def node_require(script)
1+
# Set environment variables to opt in or out of KlaviyoForms and KlaviyoLocation pods
2+
ENV['KLAVIYO_INCLUDE_FORMS'] = 'true'
3+
ENV['KLAVIYO_INCLUDE_LOCATION'] = 'true'
4+
5+
def node_require(script)
26
require Pod::Executable.execute_command('node', ['-p',
37
"require.resolve(
48
'#{script}',

example/ios/Podfile.lock

Lines changed: 75 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,21 @@ PODS:
99
- hermes-engine (0.81.5):
1010
- hermes-engine/Pre-built (= 0.81.5)
1111
- hermes-engine/Pre-built (0.81.5)
12-
- klaviyo-react-native-sdk (2.2.0):
13-
- KlaviyoForms (= 5.2.0)
14-
- KlaviyoLocation (= 5.2.0)
15-
- KlaviyoSwift (= 5.2.0)
12+
- klaviyo-react-native-sdk (2.3.0):
13+
- KlaviyoForms (= 5.2.1)
14+
- KlaviyoLocation (= 5.2.1)
15+
- KlaviyoSwift (= 5.2.1)
1616
- React-Core
17-
- KlaviyoCore (5.2.0):
17+
- KlaviyoCore (5.2.1):
1818
- AnyCodable-FlightSchool
19-
- KlaviyoForms (5.2.0):
20-
- KlaviyoSwift (~> 5.2.0)
21-
- KlaviyoLocation (5.2.0):
22-
- KlaviyoSwift (~> 5.2.0)
23-
- KlaviyoSwift (5.2.0):
19+
- KlaviyoForms (5.2.1):
20+
- KlaviyoSwift (~> 5.2.1)
21+
- KlaviyoLocation (5.2.1):
22+
- KlaviyoSwift (~> 5.2.1)
23+
- KlaviyoSwift (5.2.1):
2424
- AnyCodable-FlightSchool
25-
- KlaviyoCore (~> 5.2.0)
26-
- KlaviyoSwiftExtension (5.1.1)
25+
- KlaviyoCore (~> 5.2.1)
26+
- KlaviyoSwiftExtension (5.2.1)
2727
- RCT-Folly (2024.11.18.00):
2828
- boost
2929
- DoubleConversion
@@ -2636,80 +2636,80 @@ SPEC CHECKSUMS:
26362636
fmt: a40bb5bd0294ea969aaaba240a927bd33d878cdd
26372637
glog: 5683914934d5b6e4240e497e0f4a3b42d1854183
26382638
hermes-engine: 9f4dfe93326146a1c99eb535b1cb0b857a3cd172
2639-
klaviyo-react-native-sdk: 870b6aa1bd6e7a7eef0701d84893f483bd7c5b6b
2640-
KlaviyoCore: a115bccc00fcfa43f71aec3f6de7488769e96de3
2641-
KlaviyoForms: 180aeb1dc7e191f2645e95eab862bf455efe8cd9
2642-
KlaviyoLocation: e727d38622101270b19f8212e6d1a62527b992bd
2643-
KlaviyoSwift: fb1cc45675c0a6a6e8998c1347c171bd81ef12f9
2644-
KlaviyoSwiftExtension: 311e81a7b272010de996676451de5e4b385ddd64
2645-
RCT-Folly: 59ec0ac1f2f39672a0c6e6cecdd39383b764646f
2639+
klaviyo-react-native-sdk: 02652261abd5924399e55f97da5af55b7397c1d7
2640+
KlaviyoCore: 0b1bc8e7503e049973e546911506c620f4b448d9
2641+
KlaviyoForms: fe41b424513fe5f002cbf046c5995daa6dd1f3ac
2642+
KlaviyoLocation: 3c8bb05c0f7ae485f7464f0c8b4105738a4ed8fa
2643+
KlaviyoSwift: a895fa89cfb1533971937c88f17ebeeb2ec43be2
2644+
KlaviyoSwiftExtension: 310a32489eeca1b2a540903a55028b1ffef6b070
2645+
RCT-Folly: 846fda9475e61ec7bcbf8a3fe81edfcaeb090669
26462646
RCTDeprecation: 5eb1d2eeff5fb91151e8a8eef45b6c7658b6c897
26472647
RCTRequired: cebcf9442fc296c9b89ac791dfd463021d9f6f23
26482648
RCTTypeSafety: b99aa872829ee18f6e777e0ef55852521c5a6788
26492649
React: 914f8695f9bf38e6418228c2ffb70021e559f92f
26502650
React-callinvoker: 23cd4e33928608bd0cc35357597568b8b9a5f068
2651-
React-Core: 895a479e2e0331f48af3ad919bece917926a0b7d
2652-
React-CoreModules: dfa38212cf3a91f2eb84ccd43d747d006d33449e
2653-
React-cxxreact: 7a4e2c77e564792252131e63270f6184d93343b3
2651+
React-Core: 6a0a97598e9455348113bfe4c573fe8edac34469
2652+
React-CoreModules: a88a6ca48b668401b9780e272e2a607e70f9f955
2653+
React-cxxreact: 06265fd7e8d5c3b6b49e00d328ef76e5f1ae9c8b
26542654
React-debug: 29aed758c756956a51b4560223edbd15191ca4c5
2655-
React-defaultsnativemodule: ee4e3ca63b29c8b91448a6760d72063196ed0796
2656-
React-domnativemodule: 4d29aad12ebb2b5aa34043e5bdd191a92821f3aa
2657-
React-Fabric: 21f78a4856240d39a663a52c452e223c5e412098
2658-
React-FabricComponents: 13fc0ac39a488cea00c83ffa7b16113f024d66e6
2659-
React-FabricImage: 8961abe0372d20679ee093d144aaf5fb1227bf41
2660-
React-featureflags: 018934f958e6b83907e71631599b02144e6b17f4
2661-
React-featureflagsnativemodule: 89fef5751203b7d3cdde43e1e10407983735a4b4
2662-
React-graphics: 1c62dd11f47071482ca90238981f0147cce4089d
2663-
React-hermes: 36704d7354fff9c9e3fbb2490e8eeb2ac027f6f0
2664-
React-idlecallbacksnativemodule: 5f7cbecc1479b53e665f2cd6c2af2c21a80d2ffd
2665-
React-ImageManager: 4cb6318bb2bcc947106e29f9297a1c24c85a9233
2666-
React-jserrorhandler: 4b9344f5794cfe8946f8752d38094649f53dd3f3
2667-
React-jsi: 3a8c6f94a52033b0cca53c38d9bb568306aa9dc1
2668-
React-jsiexecutor: d7cf79b1c2771c6b21c46691a96dd2e32d4454c7
2669-
React-jsinspector: 651483ea1d79859e0ed21b86e9042b2a3f4d2b40
2670-
React-jsinspectorcdp: c800035023789b8bf32b4f5a4c9003c2dc28ee49
2671-
React-jsinspectornetwork: 249ee46e9de930d773ff6e4726aa8eeb5854b589
2672-
React-jsinspectortracing: 80e251e13a6071607f06f0e39e03d3f2ce2645cb
2673-
React-jsitooling: 6ce395671d0139ec1c4721953a4d3d92172fc06f
2674-
React-jsitracing: 4a4d89334b14d96de0387876751528433d1d2fbd
2675-
React-logger: 8bcfaf06f8c536fb9e9760526cf3d17ccd53e4ce
2676-
React-Mapbuffer: 4649384414066eb77e30a3124dbb48732a3aa173
2677-
React-microtasksnativemodule: e39f94cc96d61b8174a5cfb2d5862a73fa8c0d35
2678-
react-native-safe-area-context: fea29ae0275beaa22f72d0a8be1eb0ab09c3feae
2679-
React-NativeModulesApple: 8ce162c145e6b9767bb37a090c77d3d28f7d32b5
2655+
React-defaultsnativemodule: c406bf7cd78036efffb7dec9df469257a1bca58c
2656+
React-domnativemodule: 925ea5ff8cb05c68e910057e6349e5898cce00f3
2657+
React-Fabric: 13130d0a70f17e913865b04673ee64603d6c42fe
2658+
React-FabricComponents: 1f01ea24a1314bf9abcac4743bb7ad8791336be6
2659+
React-FabricImage: f364dc54fcf8b0ef77192674a009aa4f65b34d75
2660+
React-featureflags: 32217ac18a8c216fc571044186fb04164af72772
2661+
React-featureflagsnativemodule: 9c552bb908a7434baa846002ee1752a77b1a5520
2662+
React-graphics: 3034a698e46e947f74a443e761f1feef742e9d71
2663+
React-hermes: a852be3ab9e1f515e46ba3ea9f48c31d4a9df437
2664+
React-idlecallbacksnativemodule: c43fe1f2221b0548cc366bf15f88efb3b3221bbf
2665+
React-ImageManager: 7efd7b19cdfaa3a82482e9e6ac0b56606a3ec271
2666+
React-jserrorhandler: 597057d0b9d158c03e02aa376a4a95f64f46a910
2667+
React-jsi: 7b53959aea60909ac6bbe4dd0bdec6c10d7dc597
2668+
React-jsiexecutor: 19938072af05ade148474bac41e0324a2d733f44
2669+
React-jsinspector: eb6bb244a75cbd56f32767daf2efdb344e2ff10c
2670+
React-jsinspectorcdp: 727f37537e9c7ab22b6b86c802d879efae5e2757
2671+
React-jsinspectornetwork: 11d47e644701c58038ef8d7f54a405ddd62b3b16
2672+
React-jsinspectortracing: 8875637e6c65b3b9a3852b006856562e874e7a78
2673+
React-jsitooling: b6e6a2551459a6ef9e1529df2ea981fa27ed3a91
2674+
React-jsitracing: 879e2b2f80dd33d84175989de0a8db5d662505db
2675+
React-logger: a913317214a26565cd4c045347edf1bcacb80a3f
2676+
React-Mapbuffer: 017336879e2e0fb7537bbc08c24f34e2384c9260
2677+
React-microtasksnativemodule: 63ee6730cec233feab9cdcc0c100dc28a12e4165
2678+
react-native-safe-area-context: 0a3b034bb63a5b684dd2f5fffd3c90ef6ed41ee8
2679+
React-NativeModulesApple: cbceb3c4cb726838c461b13802a76cefa6f3476f
26802680
React-oscompat: eb0626e8ba1a2c61673c991bf9dc21834898475d
2681-
React-perflogger: d0d0d1b884120fa0a13bd38ac5e9c3c8e8bfe82a
2682-
React-performancetimeline: ae60fb7a7447c44d4d3227fc4eeba606403aaee3
2681+
React-perflogger: 509e1f9a3ee28df71b0a66de806ac515ce951246
2682+
React-performancetimeline: 9ce28cce1cded27410c293283f99fe62bebdb920
26832683
React-RCTActionSheet: 30fe8f9f8d86db4a25ff34595a658ecd837485fc
2684-
React-RCTAnimation: e86dacf8a982f42341a44ec87ea8a30964a15f9f
2685-
React-RCTAppDelegate: d7214067e796732b5d22960270593945f1ab8a14
2686-
React-RCTBlob: af1fc227a5aa55564afbe84530a8bd28834fda15
2687-
React-RCTFabric: 8d92e851cc6cdf9771c52a18b144424c92b72082
2688-
React-RCTFBReactNativeSpec: c9ec2130e3c9366d30a85886e1776210054763f5
2689-
React-RCTImage: 70a10a5b957ca124b8d0b0fdeec369f11194782c
2690-
React-RCTLinking: 67f8a024192b4844c40ace955c54bb34f40d47f0
2691-
React-RCTNetwork: a7679ee67e7d34797a00cefaa879a3f9ea8cee9c
2692-
React-RCTRuntime: 3d25c69970924b597c339aead60168026d7cbc2c
2693-
React-RCTSettings: 18d8674195383c4fd51b9fc98ee815b329fba7e4
2694-
React-RCTText: 125574af8e29d0ceb430cbe2a03381d62ba45a47
2695-
React-RCTVibration: e96d43017757197d46834c50a0acfb78429c9b30
2684+
React-RCTAnimation: 3126eb1cb8e7a6ca33a52fd833d8018aa9311af1
2685+
React-RCTAppDelegate: b03981c790aa40cf26e0f78cc0f1f2df8287ead4
2686+
React-RCTBlob: 53c35e85c85d6bdaa55dc81a0b290d4e78431095
2687+
React-RCTFabric: 59ad9008775f123019c508efff260594a8509791
2688+
React-RCTFBReactNativeSpec: 82b605ab4f6f8da0a7ad88641161df5a0bafb1fb
2689+
React-RCTImage: 074b2faa71a152a456c974e118b60c9eeda94a64
2690+
React-RCTLinking: e5ca17a4f7ae2ad7b0c0483be77e1b383ecd0a8a
2691+
React-RCTNetwork: c508d7548c9eceac30a8100a846ea00033a03366
2692+
React-RCTRuntime: 6979568c0bc276fe785e085894f954fa15e0ec7e
2693+
React-RCTSettings: dd84c857a4fce42c1e08c1dabcda894e25af4a6e
2694+
React-RCTText: 6e4b177d047f98bccb90d6fb1ebdd3391cf8b299
2695+
React-RCTVibration: 9572d4a06a0c92650bcc62913e50eb2a89f19fb6
26962696
React-rendererconsistency: a7b47f8b186af64ff8509c8caec4114a2f1ae63f
2697-
React-renderercss: 0a5b6b7aefc3f5e46a61b0e41b1179a0750cf077
2698-
React-rendererdebug: 7da01af21ab31661c3040ef647e6e2bc55575771
2699-
React-RuntimeApple: 788ca3b8e5485a46654e8a316d4c1e40bf82c5d4
2700-
React-RuntimeCore: 1730e6e5cba6f0af4e0319f891da6426b491e39f
2701-
React-runtimeexecutor: 79894322e55268854dc04ff1bee083f24725f6c8
2702-
React-RuntimeHermes: 86bf03cbf11ef05803a2e32087667c8a3cc45f72
2703-
React-runtimescheduler: 70601d598a8a71582fa69a9ba488a27c5d12790d
2704-
React-timing: 5717558f0bea206d7557df53015ee9efe1eb57b2
2705-
React-utils: 55e54e497e3d3f373ebfcf844eb77e24ed013356
2706-
ReactAppDependencyProvider: c277c5b231881ad4f00cd59e3aa0671b99d7ebee
2707-
ReactCodegen: 1e847cf77c1402fe7394dae41b3829c95569e76e
2708-
ReactCommon: 5cfd842fcd893bb40fc835f98fadc60c42906a20
2709-
RNPermissions: 86933bcc014e7fa7d77e09b7b0b0b858287d611f
2697+
React-renderercss: 9845c5063b3a2d0462ed4e4c7fc34219a5d608ed
2698+
React-rendererdebug: 3905e346c06347b86c6e49d427062cdd638a3044
2699+
React-RuntimeApple: 97233caf2b635c40819bf5be38d818777f8229ab
2700+
React-RuntimeCore: dc41f86fcdf1fbb42a5b8388a29bf59dfa56b2f8
2701+
React-runtimeexecutor: d16d045faaf6cd7de8d1aa8e31a51c13d8db84a4
2702+
React-RuntimeHermes: 5a9d132554c8d6b416d794cd4ac7d927b2f88f7b
2703+
React-runtimescheduler: 689d805d43c28b8fb1ab390914e042d10e2ea2ab
2704+
React-timing: c39eeb992274aeaeb9f4666dc97a36a31d33fe94
2705+
React-utils: 2f9ba0088251788ad66aa1855ff99ed2424024d2
2706+
ReactAppDependencyProvider: 1bcd3527ac0390a1c898c114f81ff954be35ed79
2707+
ReactCodegen: 2e921a931c5a4dd1d8ab37ade085fdf58fcfe1dd
2708+
ReactCommon: 6d0fa86a4510730da7c72560e0ced14258292ab9
2709+
RNPermissions: 3cd4b57620639fed3e31c3423228e5fd2f897fe8
27102710
SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
27112711
Yoga: cc4a6600d61e4e9276e860d4d68eebb834a050ba
27122712

2713-
PODFILE CHECKSUM: f86c411b9982a4581e93ad973eda7aaa3d287096
2713+
PODFILE CHECKSUM: 03bdd0145df6393c4c141686be3a82ab1eb4ee5d
27142714

27152715
COCOAPODS: 1.16.2

0 commit comments

Comments
 (0)