@attentive-mobile/attentive-react-native-sdk 2.0.0-beta.1 → 2.0.0-beta.3

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.
@@ -181,27 +181,6 @@ customIdentifiers:(NSDictionary *)customIdentifiers {
181
181
  [_sdk handlePushOpenFromRN:userInfo authorizationStatus:authorizationStatus];
182
182
  }
183
183
 
184
- // Helper method to convert string to UNAuthorizationStatus
185
- - (UNAuthorizationStatus)authorizationStatusFromString:(NSString *)statusString {
186
- if ([statusString isEqualToString:@"authorized"]) {
187
- return UNAuthorizationStatusAuthorized;
188
- } else if ([statusString isEqualToString:@"denied"]) {
189
- return UNAuthorizationStatusDenied;
190
- } else if ([statusString isEqualToString:@"notDetermined"]) {
191
- return UNAuthorizationStatusNotDetermined;
192
- } else if ([statusString isEqualToString:@"provisional"]) {
193
- if (@available(iOS 12.0, *)) {
194
- return UNAuthorizationStatusProvisional;
195
- }
196
- return UNAuthorizationStatusNotDetermined;
197
- } else if ([statusString isEqualToString:@"ephemeral"]) {
198
- if (@available(iOS 14.0, *)) {
199
- return UNAuthorizationStatusEphemeral;
200
- }
201
- return UNAuthorizationStatusNotDetermined;
202
- }
203
- return UNAuthorizationStatusNotDetermined;
204
- }
205
184
 
206
185
  - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
207
186
  (const facebook::react::ObjCTurboModule::InitParams &)params
@@ -334,6 +313,28 @@ customIdentifiers:(NSDictionary *)customIdentifiers {
334
313
  }
335
314
  #endif
336
315
 
316
+
317
+ // Helper method to convert string to UNAuthorizationStatus
318
+ - (UNAuthorizationStatus)authorizationStatusFromString:(NSString *)statusString {
319
+ if ([statusString isEqualToString:@"authorized"]) {
320
+ return UNAuthorizationStatusAuthorized;
321
+ } else if ([statusString isEqualToString:@"denied"]) {
322
+ return UNAuthorizationStatusDenied;
323
+ } else if ([statusString isEqualToString:@"notDetermined"]) {
324
+ return UNAuthorizationStatusNotDetermined;
325
+ } else if ([statusString isEqualToString:@"provisional"]) {
326
+ if (@available(iOS 12.0, *)) {
327
+ return UNAuthorizationStatusProvisional;
328
+ }
329
+ return UNAuthorizationStatusNotDetermined;
330
+ } else if ([statusString isEqualToString:@"ephemeral"]) {
331
+ if (@available(iOS 14.0, *)) {
332
+ return UNAuthorizationStatusEphemeral;
333
+ }
334
+ return UNAuthorizationStatusNotDetermined;
335
+ }
336
+ return UNAuthorizationStatusNotDetermined;
337
+ }
337
338
  - (void)triggerCreative:(NSString *)creativeId {
338
339
  dispatch_async(dispatch_get_main_queue(), ^{
339
340
  UIWindow *window = [[UIApplication sharedApplication] keyWindow];
@@ -8,7 +8,9 @@
8
8
 
9
9
  /* Begin PBXBuildFile section */
10
10
  58F287A429D7860100C7DF09 /* AttentiveReactNativeSdk.mm in Sources */ = {isa = PBXBuildFile; fileRef = 58F2879D29D7860000C7DF09 /* AttentiveReactNativeSdk.mm */; };
11
+ 7FC30FA61B6E0426001A4BCC /* libPods-AttentiveReactNativeSdk.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6CABAEF39FD802FFF9317045 /* libPods-AttentiveReactNativeSdk.a */; };
11
12
  FBED3EEA2C2F3F3900E7D5EB /* ATTNNativeSDK.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBED3EE92C2F3F3900E7D5EB /* ATTNNativeSDK.swift */; };
13
+ 5C622475A2F0B4C034C942DD /* AttentiveSDKManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68A0D5612CE7FA50664CB37B /* AttentiveSDKManager.swift */; };
12
14
  /* End PBXBuildFile section */
13
15
 
14
16
  /* Begin PBXCopyFilesBuildPhase section */
@@ -25,11 +27,15 @@
25
27
 
26
28
  /* Begin PBXFileReference section */
27
29
  134814201AA4EA6300B7C361 /* libAttentiveReactNativeSdk.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libAttentiveReactNativeSdk.a; sourceTree = BUILT_PRODUCTS_DIR; };
30
+ 33355F3FC1852AA82C07D693 /* Pods-AttentiveReactNativeSdk.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AttentiveReactNativeSdk.debug.xcconfig"; path = "Target Support Files/Pods-AttentiveReactNativeSdk/Pods-AttentiveReactNativeSdk.debug.xcconfig"; sourceTree = "<group>"; };
28
31
  58F2879C29D7860000C7DF09 /* attentive-sdk-umbrella.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "attentive-sdk-umbrella.h"; sourceTree = "<group>"; };
29
32
  58F2879D29D7860000C7DF09 /* AttentiveReactNativeSdk.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AttentiveReactNativeSdk.mm; sourceTree = "<group>"; };
33
+ 6CABAEF39FD802FFF9317045 /* libPods-AttentiveReactNativeSdk.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-AttentiveReactNativeSdk.a"; sourceTree = BUILT_PRODUCTS_DIR; };
34
+ 949D2E1F5D8BA4C00733B1FD /* Pods-AttentiveReactNativeSdk.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AttentiveReactNativeSdk.release.xcconfig"; path = "Target Support Files/Pods-AttentiveReactNativeSdk/Pods-AttentiveReactNativeSdk.release.xcconfig"; sourceTree = "<group>"; };
30
35
  B3E7B5881CC2AC0600A0062D /* AttentiveReactNativeSdk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AttentiveReactNativeSdk.h; sourceTree = "<group>"; };
31
36
  FBED3EE82C2F3F3900E7D5EB /* AttentiveReactNativeSdk-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "AttentiveReactNativeSdk-Bridging-Header.h"; sourceTree = "<group>"; };
32
37
  FBED3EE92C2F3F3900E7D5EB /* ATTNNativeSDK.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ATTNNativeSDK.swift; sourceTree = "<group>"; };
38
+ 68A0D5612CE7FA50664CB37B /* AttentiveSDKManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AttentiveSDKManager.swift; sourceTree = "<group>"; };
33
39
  FBED3EEB2C2F413D00E7D5EB /* attentive-react-native-sdk.podspec */ = {isa = PBXFileReference; lastKnownFileType = text; name = "attentive-react-native-sdk.podspec"; path = "../attentive-react-native-sdk.podspec"; sourceTree = "<group>"; };
34
40
  /* End PBXFileReference section */
35
41
 
@@ -38,6 +44,7 @@
38
44
  isa = PBXFrameworksBuildPhase;
39
45
  buildActionMask = 2147483647;
40
46
  files = (
47
+ 7FC30FA61B6E0426001A4BCC /* libPods-AttentiveReactNativeSdk.a in Frameworks */,
41
48
  );
42
49
  runOnlyForDeploymentPostprocessing = 0;
43
50
  };
@@ -52,6 +59,14 @@
52
59
  name = Products;
53
60
  sourceTree = "<group>";
54
61
  };
62
+ 45BE13C5EF781B9439E0E17D /* Frameworks */ = {
63
+ isa = PBXGroup;
64
+ children = (
65
+ 6CABAEF39FD802FFF9317045 /* libPods-AttentiveReactNativeSdk.a */,
66
+ );
67
+ name = Frameworks;
68
+ sourceTree = "<group>";
69
+ };
55
70
  58B511D21A9E6C8500147676 = {
56
71
  isa = PBXGroup;
57
72
  children = (
@@ -62,12 +77,15 @@
62
77
  58F2879D29D7860000C7DF09 /* AttentiveReactNativeSdk.mm */,
63
78
  134814211AA4EA7D00B7C361 /* Products */,
64
79
  5F65DBE5DB1751003CF3E431 /* Pods */,
80
+ 45BE13C5EF781B9439E0E17D /* Frameworks */,
65
81
  );
66
82
  sourceTree = "<group>";
67
83
  };
68
84
  5F65DBE5DB1751003CF3E431 /* Pods */ = {
69
85
  isa = PBXGroup;
70
86
  children = (
87
+ 33355F3FC1852AA82C07D693 /* Pods-AttentiveReactNativeSdk.debug.xcconfig */,
88
+ 949D2E1F5D8BA4C00733B1FD /* Pods-AttentiveReactNativeSdk.release.xcconfig */,
71
89
  );
72
90
  path = Pods;
73
91
  sourceTree = "<group>";
@@ -76,6 +94,7 @@
76
94
  isa = PBXGroup;
77
95
  children = (
78
96
  FBED3EE92C2F3F3900E7D5EB /* ATTNNativeSDK.swift */,
97
+ 68A0D5612CE7FA50664CB37B /* AttentiveSDKManager.swift */,
79
98
  FBED3EE82C2F3F3900E7D5EB /* AttentiveReactNativeSdk-Bridging-Header.h */,
80
99
  );
81
100
  path = Bridging;
@@ -88,6 +107,7 @@
88
107
  isa = PBXNativeTarget;
89
108
  buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "AttentiveReactNativeSdk" */;
90
109
  buildPhases = (
110
+ 75E06E153E35C6A0B50E809C /* [CP] Check Pods Manifest.lock */,
91
111
  58B511D71A9E6C8500147676 /* Sources */,
92
112
  58B511D81A9E6C8500147676 /* Frameworks */,
93
113
  58B511D91A9E6C8500147676 /* CopyFiles */,
@@ -134,12 +154,38 @@
134
154
  };
135
155
  /* End PBXProject section */
136
156
 
157
+ /* Begin PBXShellScriptBuildPhase section */
158
+ 75E06E153E35C6A0B50E809C /* [CP] Check Pods Manifest.lock */ = {
159
+ isa = PBXShellScriptBuildPhase;
160
+ buildActionMask = 2147483647;
161
+ files = (
162
+ );
163
+ inputFileListPaths = (
164
+ );
165
+ inputPaths = (
166
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
167
+ "${PODS_ROOT}/Manifest.lock",
168
+ );
169
+ name = "[CP] Check Pods Manifest.lock";
170
+ outputFileListPaths = (
171
+ );
172
+ outputPaths = (
173
+ "$(DERIVED_FILE_DIR)/Pods-AttentiveReactNativeSdk-checkManifestLockResult.txt",
174
+ );
175
+ runOnlyForDeploymentPostprocessing = 0;
176
+ shellPath = /bin/sh;
177
+ 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";
178
+ showEnvVarsInLog = 0;
179
+ };
180
+ /* End PBXShellScriptBuildPhase section */
181
+
137
182
  /* Begin PBXSourcesBuildPhase section */
138
183
  58B511D71A9E6C8500147676 /* Sources */ = {
139
184
  isa = PBXSourcesBuildPhase;
140
185
  buildActionMask = 2147483647;
141
186
  files = (
142
187
  FBED3EEA2C2F3F3900E7D5EB /* ATTNNativeSDK.swift in Sources */,
188
+ 5C622475A2F0B4C034C942DD /* AttentiveSDKManager.swift in Sources */,
143
189
  58F287A429D7860100C7DF09 /* AttentiveReactNativeSdk.mm in Sources */,
144
190
  );
145
191
  runOnlyForDeploymentPostprocessing = 0;
@@ -151,7 +197,8 @@
151
197
  isa = XCBuildConfiguration;
152
198
  buildSettings = {
153
199
  ALWAYS_SEARCH_USER_PATHS = NO;
154
- CLANG_CXX_LANGUAGE_STANDARD = "c++17";
200
+ CC = "";
201
+ CLANG_CXX_LANGUAGE_STANDARD = "c++20";
155
202
  CLANG_CXX_LIBRARY = "libc++";
156
203
  CLANG_ENABLE_MODULES = YES;
157
204
  CLANG_ENABLE_OBJC_ARC = YES;
@@ -173,6 +220,7 @@
173
220
  CLANG_WARN_UNREACHABLE_CODE = YES;
174
221
  CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
175
222
  COPY_PHASE_STRIP = NO;
223
+ CXX = "";
176
224
  ENABLE_STRICT_OBJC_MSGSEND = YES;
177
225
  ENABLE_TESTABILITY = YES;
178
226
  "EXCLUDED_ARCHS[sdk=*]" = arm64;
@@ -194,6 +242,8 @@
194
242
  GCC_WARN_UNUSED_FUNCTION = YES;
195
243
  GCC_WARN_UNUSED_VARIABLE = YES;
196
244
  IPHONEOS_DEPLOYMENT_TARGET = 14.0;
245
+ LD = "";
246
+ LDPLUSPLUS = "";
197
247
  MTL_ENABLE_DEBUG_INFO = YES;
198
248
  ONLY_ACTIVE_ARCH = YES;
199
249
  OTHER_LDFLAGS = (
@@ -202,6 +252,8 @@
202
252
  );
203
253
  REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
204
254
  SDKROOT = iphoneos;
255
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG";
256
+ USE_HERMES = true;
205
257
  };
206
258
  name = Debug;
207
259
  };
@@ -209,7 +261,8 @@
209
261
  isa = XCBuildConfiguration;
210
262
  buildSettings = {
211
263
  ALWAYS_SEARCH_USER_PATHS = NO;
212
- CLANG_CXX_LANGUAGE_STANDARD = "c++17";
264
+ CC = "";
265
+ CLANG_CXX_LANGUAGE_STANDARD = "c++20";
213
266
  CLANG_CXX_LIBRARY = "libc++";
214
267
  CLANG_ENABLE_MODULES = YES;
215
268
  CLANG_ENABLE_OBJC_ARC = YES;
@@ -231,6 +284,7 @@
231
284
  CLANG_WARN_UNREACHABLE_CODE = YES;
232
285
  CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
233
286
  COPY_PHASE_STRIP = YES;
287
+ CXX = "";
234
288
  ENABLE_NS_ASSERTIONS = NO;
235
289
  ENABLE_STRICT_OBJC_MSGSEND = YES;
236
290
  "EXCLUDED_ARCHS[sdk=*]" = arm64;
@@ -248,6 +302,8 @@
248
302
  GCC_WARN_UNUSED_FUNCTION = YES;
249
303
  GCC_WARN_UNUSED_VARIABLE = YES;
250
304
  IPHONEOS_DEPLOYMENT_TARGET = 14.0;
305
+ LD = "";
306
+ LDPLUSPLUS = "";
251
307
  MTL_ENABLE_DEBUG_INFO = NO;
252
308
  OTHER_LDFLAGS = (
253
309
  "$(inherited)",
@@ -255,12 +311,14 @@
255
311
  );
256
312
  REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
257
313
  SDKROOT = iphoneos;
314
+ USE_HERMES = true;
258
315
  VALIDATE_PRODUCT = YES;
259
316
  };
260
317
  name = Release;
261
318
  };
262
319
  58B511F01A9E6C8500147676 /* Debug */ = {
263
320
  isa = XCBuildConfiguration;
321
+ baseConfigurationReference = 33355F3FC1852AA82C07D693 /* Pods-AttentiveReactNativeSdk.debug.xcconfig */;
264
322
  buildSettings = {
265
323
  ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
266
324
  CLANG_ENABLE_MODULES = YES;
@@ -284,6 +342,7 @@
284
342
  };
285
343
  58B511F11A9E6C8500147676 /* Release */ = {
286
344
  isa = XCBuildConfiguration;
345
+ baseConfigurationReference = 949D2E1F5D8BA4C00733B1FD /* Pods-AttentiveReactNativeSdk.release.xcconfig */;
287
346
  buildSettings = {
288
347
  ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
289
348
  CLANG_ENABLE_MODULES = YES;
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Workspace
3
+ version = "1.0">
4
+ <FileRef
5
+ location = "group:AttentiveReactNativeSdk.xcodeproj">
6
+ </FileRef>
7
+ <FileRef
8
+ location = "group:Pods/Pods.xcodeproj">
9
+ </FileRef>
10
+ </Workspace>
@@ -558,7 +558,33 @@ public extension ATTNNativeSDK {
558
558
  ATTNEventTracker.sharedInstance()?.record(event: event)
559
559
 
560
560
  if debuggingEnabled {
561
- showDebugInfo(event: "Add To Cart Event", data: ["items_count": "\(items.count)", "deeplink": deeplink, "payload": attributes])
561
+ // Enhanced debug data to show parsed item details
562
+ var debugData: [String: Any] = [
563
+ "items_count": "\(items.count)",
564
+ "deeplink": deeplink,
565
+ "payload": attributes
566
+ ]
567
+
568
+ // Add item details to debug output
569
+ if let firstItem = items.first {
570
+ var itemDetails: [String: Any] = [
571
+ "productId": firstItem.productId,
572
+ "productVariantId": firstItem.productVariantId
573
+ ]
574
+ if let name = firstItem.name {
575
+ itemDetails["name"] = name
576
+ }
577
+ if let productImage = firstItem.productImage {
578
+ itemDetails["productImage"] = productImage
579
+ }
580
+ if let category = firstItem.category {
581
+ itemDetails["category"] = category
582
+ }
583
+ itemDetails["quantity"] = firstItem.quantity
584
+ debugData["first_item"] = itemDetails
585
+ }
586
+
587
+ showDebugInfo(event: "Add To Cart Event", data: debugData)
562
588
  }
563
589
  }
564
590
 
@@ -570,7 +596,33 @@ public extension ATTNNativeSDK {
570
596
  ATTNEventTracker.sharedInstance()?.record(event: event)
571
597
 
572
598
  if debuggingEnabled {
573
- showDebugInfo(event: "Product View Event", data: ["items_count": "\(items.count)", "deeplink": deeplink, "payload": attributes])
599
+ // Enhanced debug data to show parsed item details
600
+ var debugData: [String: Any] = [
601
+ "items_count": "\(items.count)",
602
+ "deeplink": deeplink,
603
+ "payload": attributes
604
+ ]
605
+
606
+ // Add item details to debug output
607
+ if let firstItem = items.first {
608
+ var itemDetails: [String: Any] = [
609
+ "productId": firstItem.productId,
610
+ "productVariantId": firstItem.productVariantId
611
+ ]
612
+ if let name = firstItem.name {
613
+ itemDetails["name"] = name
614
+ }
615
+ if let productImage = firstItem.productImage {
616
+ itemDetails["productImage"] = productImage
617
+ }
618
+ if let category = firstItem.category {
619
+ itemDetails["category"] = category
620
+ }
621
+ itemDetails["quantity"] = firstItem.quantity
622
+ debugData["first_item"] = itemDetails
623
+ }
624
+
625
+ showDebugInfo(event: "Product View Event", data: debugData)
574
626
  }
575
627
  }
576
628
 
@@ -584,7 +636,33 @@ public extension ATTNNativeSDK {
584
636
  ATTNEventTracker.sharedInstance()?.record(event: event)
585
637
 
586
638
  if debuggingEnabled {
587
- showDebugInfo(event: "Purchase Event", data: ["items_count": "\(items.count)", "order_id": orderId, "payload": attributes])
639
+ // Enhanced debug data to show parsed item details
640
+ var debugData: [String: Any] = [
641
+ "items_count": "\(items.count)",
642
+ "order_id": orderId,
643
+ "payload": attributes
644
+ ]
645
+
646
+ // Add item details to debug output
647
+ if let firstItem = items.first {
648
+ var itemDetails: [String: Any] = [
649
+ "productId": firstItem.productId,
650
+ "productVariantId": firstItem.productVariantId
651
+ ]
652
+ if let name = firstItem.name {
653
+ itemDetails["name"] = name
654
+ }
655
+ if let productImage = firstItem.productImage {
656
+ itemDetails["productImage"] = productImage
657
+ }
658
+ if let category = firstItem.category {
659
+ itemDetails["category"] = category
660
+ }
661
+ itemDetails["quantity"] = firstItem.quantity
662
+ debugData["first_item"] = itemDetails
663
+ }
664
+
665
+ showDebugInfo(event: "Purchase Event", data: debugData)
588
666
  }
589
667
  }
590
668
 
@@ -606,21 +684,38 @@ private extension ATTNNativeSDK {
606
684
  var itemsToReturn: [ATTNItem] = []
607
685
 
608
686
  for rawItem in rawItems {
609
- if let rawPrice = rawItem["price"] as? [String: Any],
610
- let priceString = rawPrice["price"] as? String,
611
- let currency = rawPrice["currency"] as? String {
687
+ // Parse price - flattened structure (not nested)
688
+ guard let priceString = rawItem["price"] as? String,
689
+ let currency = rawItem["currency"] as? String,
690
+ let productId = rawItem["productId"] as? String,
691
+ let productVariantId = rawItem["productVariantId"] as? String else {
692
+ continue
693
+ }
612
694
 
613
- let price = NSDecimalNumber(string: priceString)
695
+ let price = NSDecimalNumber(string: priceString)
696
+ let attnPrice = ATTNPrice(price: price, currency: currency)
614
697
 
615
- let attnPrice = ATTNPrice(price: price, currency: currency)
698
+ let item = ATTNItem(productId: productId, productVariantId: productVariantId, price: attnPrice)
616
699
 
617
- if let productId = rawItem["productId"] as? String,
618
- let productVariantId = rawItem["productVariantId"] as? String {
700
+ // Parse optional fields to match Android implementation
701
+ if let productImage = rawItem["productImage"] as? String {
702
+ item.productImage = productImage
703
+ }
619
704
 
620
- let item = ATTNItem(productId: productId, productVariantId: productVariantId, price: attnPrice)
621
- itemsToReturn.append(item)
622
- }
705
+ if let name = rawItem["name"] as? String {
706
+ item.name = name
623
707
  }
708
+
709
+ // React Native bridges JS numbers as NSNumber, so accept NSNumber directly
710
+ if let quantity = rawItem["quantity"] as? NSNumber {
711
+ item.quantity = quantity.intValue
712
+ }
713
+
714
+ if let category = rawItem["category"] as? String {
715
+ item.category = category
716
+ }
717
+
718
+ itemsToReturn.append(item)
624
719
  }
625
720
 
626
721
  return itemsToReturn
package/ios/Podfile CHANGED
@@ -36,10 +36,10 @@ target 'AttentiveReactNativeSdk' do
36
36
  post_install do |installer|
37
37
  react_native_post_install(
38
38
  installer,
39
+ config[:reactNativePath],
39
40
  # Set `mac_catalyst_enabled` to `true` in order to apply patches
40
41
  # necessary for Mac Catalyst builds
41
42
  :mac_catalyst_enabled => false
42
43
  )
43
- __apply_Xcode_12_5_M1_post_install_workaround(installer)
44
44
  end
45
45
  end
@@ -0,0 +1,37 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>NSPrivacyAccessedAPITypes</key>
6
+ <array>
7
+ <dict>
8
+ <key>NSPrivacyAccessedAPIType</key>
9
+ <string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
10
+ <key>NSPrivacyAccessedAPITypeReasons</key>
11
+ <array>
12
+ <string>C617.1</string>
13
+ </array>
14
+ </dict>
15
+ <dict>
16
+ <key>NSPrivacyAccessedAPIType</key>
17
+ <string>NSPrivacyAccessedAPICategoryUserDefaults</string>
18
+ <key>NSPrivacyAccessedAPITypeReasons</key>
19
+ <array>
20
+ <string>CA92.1</string>
21
+ </array>
22
+ </dict>
23
+ <dict>
24
+ <key>NSPrivacyAccessedAPIType</key>
25
+ <string>NSPrivacyAccessedAPICategorySystemBootTime</string>
26
+ <key>NSPrivacyAccessedAPITypeReasons</key>
27
+ <array>
28
+ <string>35F9.1</string>
29
+ </array>
30
+ </dict>
31
+ </array>
32
+ <key>NSPrivacyCollectedDataTypes</key>
33
+ <array/>
34
+ <key>NSPrivacyTracking</key>
35
+ <false/>
36
+ </dict>
37
+ </plist>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@attentive-mobile/attentive-react-native-sdk",
3
- "version": "2.0.0-beta.1",
3
+ "version": "2.0.0-beta.3",
4
4
  "description": "React Native Module for the Attentive SDK",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",