@usercentrics/react-native-sdk 2.25.0 → 2.25.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- def usercentrics_version = "2.25.0"
1
+ def usercentrics_version = "2.25.1"
2
2
  version usercentrics_version
3
3
 
4
4
  buildscript {
@@ -1,4 +1,4 @@
1
- val usercentricsVersion = "2.25.0"
1
+ val usercentricsVersion = "2.25.1"
2
2
  val reactNativeVersion = "+"
3
3
 
4
4
  fun BooleanProperty(name: String): Boolean {
@@ -0,0 +1,34 @@
1
+ //
2
+ // RNUsercentricsModule+TurboModule.mm
3
+ // getTurboModule: implementation for RN 0.78+ (New Architecture).
4
+ // RCTTurboModule protocol requires C++ return type (shared_ptr<TurboModule>), hence Obj-C++.
5
+ //
6
+
7
+ #import <React/RCTBridgeModule.h>
8
+
9
+ #if RCT_NEW_ARCH_ENABLED
10
+
11
+ #import <ReactCommon/RCTTurboModule.h>
12
+
13
+ // Header generated by the app's codegen (ReactCodegen pod; path may vary by RN version)
14
+ #if __has_include(<ReactCodegen/RNUsercentricsModule/RNUsercentricsModule.h>)
15
+ #import <ReactCodegen/RNUsercentricsModule/RNUsercentricsModule.h>
16
+ #else
17
+ #import "RNUsercentricsModule/RNUsercentricsModule.h"
18
+ #endif
19
+
20
+ // RNUsercentricsModule is defined in Swift (RNUsercentricsModule.swift).
21
+ // Minimal declaration so the compiler accepts the category; the real implementation is in Swift.
22
+ @interface RNUsercentricsModule : NSObject
23
+ @end
24
+
25
+ @implementation RNUsercentricsModule (TurboModule)
26
+
27
+ - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
28
+ (const facebook::react::ObjCTurboModule::InitParams &)params {
29
+ return std::make_shared<facebook::react::NativeUsercentricsModuleSpecJSI>(params);
30
+ }
31
+
32
+ @end
33
+
34
+ #endif // RCT_NEW_ARCH_ENABLED
@@ -5,12 +5,14 @@ import UIKit
5
5
  import React
6
6
 
7
7
  #if RCT_NEW_ARCH_ENABLED
8
- #if canImport(RNUsercentricsModuleSpec)
8
+ #if canImport(ReactCodegen)
9
+ // RN ≥ 0.79: getTurboModule: implemented in RNUsercentricsModule+TurboModule.mm (do not import ReactCodegen in Swift — C++ module)
10
+ #elseif canImport(React_Codegen)
11
+ // RN 0.78
12
+ import React_Codegen
13
+ #elseif canImport(RNUsercentricsModuleSpec)
9
14
  // RN ≤ 0.77
10
15
  import RNUsercentricsModuleSpec
11
- #else
12
- // RN ≥ 0.78
13
- import React_Codegen
14
16
  #endif
15
17
  #endif
16
18
 
@@ -229,13 +231,21 @@ class RNUsercentricsModule: NSObject {
229
231
 
230
232
  // MARK: - RCTBridgeModule & TurboModule Conformance
231
233
  #if RCT_NEW_ARCH_ENABLED
234
+ #if canImport(React_Codegen)
235
+ // RN 0.78: codegen-generated protocol
236
+ extension RNUsercentricsModule: NativeUsercentricsModuleSpec {
237
+ func getTurboModule(jsInvoker: RCTJSInvoker) -> Any {
238
+ return self
239
+ }
240
+ }
241
+ #elseif canImport(RNUsercentricsModuleSpec)
242
+ // RN ≤ 0.77
232
243
  extension RNUsercentricsModule: NativeUsercentricsSpec {
233
244
  func getTurboModule(jsInvoker: RCTJSInvoker) -> Any {
234
245
  return self
235
246
  }
236
247
  }
248
+ #endif
237
249
  #else
238
- extension RNUsercentricsModule: RCTBridgeModule {
239
-
240
- }
250
+ extension RNUsercentricsModule: RCTBridgeModule {}
241
251
  #endif
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@usercentrics/react-native-sdk",
3
- "version": "2.25.0",
3
+ "version": "2.25.1",
4
4
  "description": "Usercentrics SDK",
5
5
  "homepage": "https://usercentrics.com",
6
6
  "main": "lib/index.js",
7
7
  "types": "lib/index.d.ts",
8
8
  "author": "Usercentrics <developer@usercentrics.com>",
9
9
  "iosPackageName": "react-native-usercentrics",
10
- "iosPackageVersion": "2.25.0",
10
+ "iosPackageVersion": "2.25.1",
11
11
  "license": "SEE LICENSE IN LICENSE",
12
12
  "files": [
13
13
  "android",
@@ -12,7 +12,6 @@ Pod::Spec.new do |s|
12
12
  s.homepage = package['homepage']
13
13
  s.platform = :ios, "11.0"
14
14
 
15
- # Use apenas o path local para desenvolvimento
16
15
  s.source = { :path => '.' }
17
16
 
18
17
  s.source_files = 'ios/**/*.{h,m,mm,swift}'
@@ -21,9 +20,12 @@ Pod::Spec.new do |s|
21
20
  s.dependency 'React-NativeModulesApple'
22
21
  s.dependency 'UsercentricsUI', "#{package['iosPackageVersion']}"
23
22
 
24
- # Base C++ configuration
25
- # Note: RCT_NEW_ARCH_ENABLED is inherited from parent project build settings
26
- # This ensures compatibility with Expo's prebuild process
23
+ # Required for TurboModules RN 0.78+: injects codegen dependencies (ReactCodegen, etc.)
24
+ if defined?(install_modules_dependencies)
25
+ install_modules_dependencies(s)
26
+ end
27
+
28
+ # C++ configuration (compatible with Expo prebuild and New Architecture)
27
29
  base_cpp_flags = {
28
30
  'CLANG_CXX_LANGUAGE_STANDARD' => 'c++20',
29
31
  'CLANG_CXX_LIBRARY' => 'libc++',
@@ -50,14 +52,6 @@ Pod::Spec.new do |s|
50
52
  '$(PODS_ROOT)/Headers/Public/ReactCommon'
51
53
  ]
52
54
 
53
- # Add new architecture paths if available (will be resolved at build time)
54
- header_search_paths += [
55
- '$(PODS_ROOT)/Headers/Public/React-Fabric',
56
- '$(PODS_ROOT)/Headers/Public/React-Codegen',
57
- '$(PODS_CONFIGURATION_BUILD_DIR)/React-Codegen/React_Codegen.framework/Headers',
58
- '$(PODS_CONFIGURATION_BUILD_DIR)/React-Fabric/React_Fabric.framework/Headers'
59
- ]
60
-
61
55
  base_cpp_flags['HEADER_SEARCH_PATHS'] = header_search_paths.map { |path| "\"#{path}\"" }.join(' ')
62
56
 
63
57
  # Preprocessor definitions - inherit RCT_NEW_ARCH_ENABLED from parent project