@convivainc/conviva-react-native-appanalytics 0.0.1 → 0.1.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.
Files changed (29) hide show
  1. package/CHANGELOG.md +8 -1
  2. package/README.md +2 -12
  3. package/RNConvivaAppAnalytics.podspec +24 -0
  4. package/android/build.gradle +55 -0
  5. package/android/gradle/wrapper/gradle-wrapper.properties +6 -0
  6. package/android/gradle.properties +2 -0
  7. package/android/gradlew +172 -0
  8. package/android/gradlew.bat +84 -0
  9. package/android/src/main/AndroidManifest.xml +1 -0
  10. package/android/src/main/java/com/conviva/react/apptracker/RNConvivaTrackerModule.java +804 -0
  11. package/android/src/main/java/com/conviva/react/apptracker/RNConvivaTrackerPackage.java +29 -0
  12. package/android/src/main/java/com/conviva/react/apptracker/util/ConfigUtil.java +346 -0
  13. package/android/src/main/java/com/conviva/react/apptracker/util/EventUtil.java +339 -0
  14. package/android/src/main/java/com/conviva/react/apptracker/util/TrackerVersion.java +9 -0
  15. package/{index.js → conviva-react-native-appanalytics.js} +3 -3
  16. package/ios/RNConvivaAppAnalytics.h +34 -0
  17. package/ios/RNConvivaAppAnalytics.m +1022 -0
  18. package/ios/RNConvivaAppAnalytics.xcodeproj/project.pbxproj +325 -0
  19. package/ios/RNConvivaAppAnalytics.xcodeproj/xcshareddata/xcschemes/RNSnowplowTracker.xcscheme +76 -0
  20. package/ios/Util/NSDictionary+RNCAT_TypeMethods.h +33 -0
  21. package/ios/Util/NSDictionary+RNCAT_TypeMethods.m +40 -0
  22. package/ios/Util/RNConfigUtils.h +44 -0
  23. package/ios/Util/RNConfigUtils.m +209 -0
  24. package/ios/Util/RNTrackerVersion.h +27 -0
  25. package/ios/Util/RNTrackerVersion.m +27 -0
  26. package/ios/Util/RNUtilities.h +32 -0
  27. package/ios/Util/RNUtilities.m +68 -0
  28. package/package.json +1 -1
  29. /package/{index.d.ts → conviva-react-native-appanalytics.d.ts} +0 -0
@@ -0,0 +1,325 @@
1
+ // !$*UTF8*$!
2
+ {
3
+ archiveVersion = 1;
4
+ classes = {
5
+ };
6
+ objectVersion = 46;
7
+ objects = {
8
+
9
+ /* Begin PBXBuildFile section */
10
+ 0562F54E146600A44BDEF45D /* libPods-RNSnowplowTracker.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E15379B78A468FF69B0BDCA /* libPods-RNSnowplowTracker.a */; };
11
+ 75D5EB7F2293B206005C8629 /* RNConvivaAppAnalytics.h in Headers */ = {isa = PBXBuildFile; fileRef = B3E7B5881CC2AC0600A0062D /* RNConvivaAppAnalytics.h */; settings = {ATTRIBUTES = (Private, ); }; };
12
+ B3E7B58A1CC2AC0600A0062D /* RNConvivaAppAnalytics.m in Sources */ = {isa = PBXBuildFile; fileRef = B3E7B5891CC2AC0600A0062D /* RNConvivaAppAnalytics.m */; };
13
+ /* End PBXBuildFile section */
14
+
15
+ /* Begin PBXCopyFilesBuildPhase section */
16
+ 58B511D91A9E6C8500147676 /* CopyFiles */ = {
17
+ isa = PBXCopyFilesBuildPhase;
18
+ buildActionMask = 2147483647;
19
+ dstPath = "include/$(PRODUCT_NAME)";
20
+ dstSubfolderSpec = 16;
21
+ files = (
22
+ );
23
+ runOnlyForDeploymentPostprocessing = 0;
24
+ };
25
+ /* End PBXCopyFilesBuildPhase section */
26
+
27
+ /* Begin PBXFileReference section */
28
+ 134814201AA4EA6300B7C361 /* libRNConvivaAppAnalytics.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRNConvivaAppAnalytics.a; sourceTree = BUILT_PRODUCTS_DIR; };
29
+ 4D25182CF98251495D063E8A /* Pods-RNConvivaAppAnalytics.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNConvivaAppAnalytics.release.xcconfig"; path = "Target Support Files/Pods-RNSnowplowTracker/Pods-RNConvivaAppAnalytics.release.xcconfig"; sourceTree = "<group>"; };
30
+ 7D2A97B8BEC452B270B0AA54 /* Pods-RNConvivaAppAnalytics.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNConvivaAppAnalytics.debug.xcconfig"; path = "Target Support Files/Pods-RNSnowplowTracker/Pods-RNConvivaAppAnalytics.debug.xcconfig"; sourceTree = "<group>"; };
31
+ 8E15379B78A468FF69B0BDCA /* libPods-RNSnowplowTracker.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RNSnowplowTracker.a"; sourceTree = BUILT_PRODUCTS_DIR; };
32
+ B3E7B5881CC2AC0600A0062D /* RNConvivaAppAnalytics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNConvivaAppAnalytics.h; sourceTree = "<group>"; };
33
+ B3E7B5891CC2AC0600A0062D /* RNConvivaAppAnalytics.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNConvivaAppAnalytics.m; sourceTree = "<group>"; };
34
+ /* End PBXFileReference section */
35
+
36
+ /* Begin PBXFrameworksBuildPhase section */
37
+ 58B511D81A9E6C8500147676 /* Frameworks */ = {
38
+ isa = PBXFrameworksBuildPhase;
39
+ buildActionMask = 2147483647;
40
+ files = (
41
+ 0562F54E146600A44BDEF45D /* libPods-RNSnowplowTracker.a in Frameworks */,
42
+ );
43
+ runOnlyForDeploymentPostprocessing = 0;
44
+ };
45
+ /* End PBXFrameworksBuildPhase section */
46
+
47
+ /* Begin PBXGroup section */
48
+ 134814211AA4EA7D00B7C361 /* Products */ = {
49
+ isa = PBXGroup;
50
+ children = (
51
+ 134814201AA4EA6300B7C361 /* libRNConvivaAppAnalytics.a */,
52
+ );
53
+ name = Products;
54
+ sourceTree = "<group>";
55
+ };
56
+ 47AD2C542223E36A7CFE72AE /* Frameworks */ = {
57
+ isa = PBXGroup;
58
+ children = (
59
+ 8E15379B78A468FF69B0BDCA /* libPods-RNSnowplowTracker.a */,
60
+ );
61
+ name = Frameworks;
62
+ sourceTree = "<group>";
63
+ };
64
+ 58B511D21A9E6C8500147676 = {
65
+ isa = PBXGroup;
66
+ children = (
67
+ B3E7B5881CC2AC0600A0062D /* RNConvivaAppAnalytics.h */,
68
+ B3E7B5891CC2AC0600A0062D /* RNConvivaAppAnalytics.m */,
69
+ 134814211AA4EA7D00B7C361 /* Products */,
70
+ 7FFB9F310E25AB7A09247AE0 /* Pods */,
71
+ 47AD2C542223E36A7CFE72AE /* Frameworks */,
72
+ );
73
+ sourceTree = "<group>";
74
+ };
75
+ 7FFB9F310E25AB7A09247AE0 /* Pods */ = {
76
+ isa = PBXGroup;
77
+ children = (
78
+ 7D2A97B8BEC452B270B0AA54 /* Pods-RNConvivaAppAnalytics.debug.xcconfig */,
79
+ 4D25182CF98251495D063E8A /* Pods-RNConvivaAppAnalytics.release.xcconfig */,
80
+ );
81
+ path = Pods;
82
+ sourceTree = "<group>";
83
+ };
84
+ /* End PBXGroup section */
85
+
86
+ /* Begin PBXHeadersBuildPhase section */
87
+ 75D5EB7D2293B1F8005C8629 /* Headers */ = {
88
+ isa = PBXHeadersBuildPhase;
89
+ buildActionMask = 2147483647;
90
+ files = (
91
+ 75D5EB7F2293B206005C8629 /* RNConvivaAppAnalytics.h in Headers */,
92
+ );
93
+ runOnlyForDeploymentPostprocessing = 0;
94
+ };
95
+ /* End PBXHeadersBuildPhase section */
96
+
97
+ /* Begin PBXNativeTarget section */
98
+ 58B511DA1A9E6C8500147676 /* RNConvivaAppAnalytics */ = {
99
+ isa = PBXNativeTarget;
100
+ buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "RNConvivaAppAnalytics" */;
101
+ buildPhases = (
102
+ 4CCD70066BBE9C051429F7AF /* [CP] Check Pods Manifest.lock */,
103
+ 75D5EB7D2293B1F8005C8629 /* Headers */,
104
+ 58B511D71A9E6C8500147676 /* Sources */,
105
+ 58B511D81A9E6C8500147676 /* Frameworks */,
106
+ 58B511D91A9E6C8500147676 /* CopyFiles */,
107
+ );
108
+ buildRules = (
109
+ );
110
+ dependencies = (
111
+ );
112
+ name = RNConvivaAppAnalytics;
113
+ productName = RCTDataManager;
114
+ productReference = 134814201AA4EA6300B7C361 /* libRNConvivaAppAnalytics.a */;
115
+ productType = "com.apple.product-type.library.static";
116
+ };
117
+ /* End PBXNativeTarget section */
118
+
119
+ /* Begin PBXProject section */
120
+ 58B511D31A9E6C8500147676 /* Project object */ = {
121
+ isa = PBXProject;
122
+ attributes = {
123
+ LastUpgradeCheck = 0830;
124
+ ORGANIZATIONNAME = Facebook;
125
+ TargetAttributes = {
126
+ 58B511DA1A9E6C8500147676 = {
127
+ CreatedOnToolsVersion = 6.1.1;
128
+ };
129
+ };
130
+ };
131
+ buildConfigurationList = 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "RNConvivaAppAnalytics" */;
132
+ compatibilityVersion = "Xcode 3.2";
133
+ developmentRegion = English;
134
+ hasScannedForEncodings = 0;
135
+ knownRegions = (
136
+ English,
137
+ en,
138
+ );
139
+ mainGroup = 58B511D21A9E6C8500147676;
140
+ productRefGroup = 58B511D21A9E6C8500147676;
141
+ projectDirPath = "";
142
+ projectRoot = "";
143
+ targets = (
144
+ 58B511DA1A9E6C8500147676 /* RNConvivaAppAnalytics */,
145
+ );
146
+ };
147
+ /* End PBXProject section */
148
+
149
+ /* Begin PBXShellScriptBuildPhase section */
150
+ 4CCD70066BBE9C051429F7AF /* [CP] Check Pods Manifest.lock */ = {
151
+ isa = PBXShellScriptBuildPhase;
152
+ buildActionMask = 2147483647;
153
+ files = (
154
+ );
155
+ inputFileListPaths = (
156
+ );
157
+ inputPaths = (
158
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
159
+ "${PODS_ROOT}/Manifest.lock",
160
+ );
161
+ name = "[CP] Check Pods Manifest.lock";
162
+ outputFileListPaths = (
163
+ );
164
+ outputPaths = (
165
+ "$(DERIVED_FILE_DIR)/Pods-RNSnowplowTracker-checkManifestLockResult.txt",
166
+ );
167
+ runOnlyForDeploymentPostprocessing = 0;
168
+ shellPath = /bin/sh;
169
+ 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";
170
+ showEnvVarsInLog = 0;
171
+ };
172
+ /* End PBXShellScriptBuildPhase section */
173
+
174
+ /* Begin PBXSourcesBuildPhase section */
175
+ 58B511D71A9E6C8500147676 /* Sources */ = {
176
+ isa = PBXSourcesBuildPhase;
177
+ buildActionMask = 2147483647;
178
+ files = (
179
+ B3E7B58A1CC2AC0600A0062D /* RNConvivaAppAnalytics.m in Sources */,
180
+ );
181
+ runOnlyForDeploymentPostprocessing = 0;
182
+ };
183
+ /* End PBXSourcesBuildPhase section */
184
+
185
+ /* Begin XCBuildConfiguration section */
186
+ 58B511ED1A9E6C8500147676 /* Debug */ = {
187
+ isa = XCBuildConfiguration;
188
+ buildSettings = {
189
+ ALWAYS_SEARCH_USER_PATHS = NO;
190
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
191
+ CLANG_CXX_LIBRARY = "libc++";
192
+ CLANG_ENABLE_MODULES = YES;
193
+ CLANG_ENABLE_OBJC_ARC = YES;
194
+ CLANG_WARN_BOOL_CONVERSION = YES;
195
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
196
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
197
+ CLANG_WARN_EMPTY_BODY = YES;
198
+ CLANG_WARN_ENUM_CONVERSION = YES;
199
+ CLANG_WARN_INFINITE_RECURSION = YES;
200
+ CLANG_WARN_INT_CONVERSION = YES;
201
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
202
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
203
+ CLANG_WARN_UNREACHABLE_CODE = YES;
204
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
205
+ COPY_PHASE_STRIP = NO;
206
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
207
+ ENABLE_TESTABILITY = YES;
208
+ GCC_C_LANGUAGE_STANDARD = gnu99;
209
+ GCC_DYNAMIC_NO_PIC = NO;
210
+ GCC_NO_COMMON_BLOCKS = YES;
211
+ GCC_OPTIMIZATION_LEVEL = 0;
212
+ GCC_PREPROCESSOR_DEFINITIONS = (
213
+ "DEBUG=1",
214
+ "$(inherited)",
215
+ );
216
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
217
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
218
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
219
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
220
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
221
+ GCC_WARN_UNUSED_FUNCTION = YES;
222
+ GCC_WARN_UNUSED_VARIABLE = YES;
223
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
224
+ MTL_ENABLE_DEBUG_INFO = YES;
225
+ ONLY_ACTIVE_ARCH = YES;
226
+ SDKROOT = iphoneos;
227
+ };
228
+ name = Debug;
229
+ };
230
+ 58B511EE1A9E6C8500147676 /* Release */ = {
231
+ isa = XCBuildConfiguration;
232
+ buildSettings = {
233
+ ALWAYS_SEARCH_USER_PATHS = NO;
234
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
235
+ CLANG_CXX_LIBRARY = "libc++";
236
+ CLANG_ENABLE_MODULES = YES;
237
+ CLANG_ENABLE_OBJC_ARC = YES;
238
+ CLANG_WARN_BOOL_CONVERSION = YES;
239
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
240
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
241
+ CLANG_WARN_EMPTY_BODY = YES;
242
+ CLANG_WARN_ENUM_CONVERSION = YES;
243
+ CLANG_WARN_INFINITE_RECURSION = YES;
244
+ CLANG_WARN_INT_CONVERSION = YES;
245
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
246
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
247
+ CLANG_WARN_UNREACHABLE_CODE = YES;
248
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
249
+ COPY_PHASE_STRIP = YES;
250
+ ENABLE_NS_ASSERTIONS = NO;
251
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
252
+ GCC_C_LANGUAGE_STANDARD = gnu99;
253
+ GCC_NO_COMMON_BLOCKS = YES;
254
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
255
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
256
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
257
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
258
+ GCC_WARN_UNUSED_FUNCTION = YES;
259
+ GCC_WARN_UNUSED_VARIABLE = YES;
260
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
261
+ MTL_ENABLE_DEBUG_INFO = NO;
262
+ SDKROOT = iphoneos;
263
+ VALIDATE_PRODUCT = YES;
264
+ };
265
+ name = Release;
266
+ };
267
+ 58B511F01A9E6C8500147676 /* Debug */ = {
268
+ isa = XCBuildConfiguration;
269
+ baseConfigurationReference = 7D2A97B8BEC452B270B0AA54 /* Pods-RNConvivaAppAnalytics.debug.xcconfig */;
270
+ buildSettings = {
271
+ HEADER_SEARCH_PATHS = (
272
+ "$(inherited)",
273
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
274
+ "$(SRCROOT)/../../../React/**",
275
+ "$(SRCROOT)/../../react-native/React/**",
276
+ );
277
+ LIBRARY_SEARCH_PATHS = "$(inherited)";
278
+ OTHER_LDFLAGS = "-ObjC";
279
+ PRODUCT_NAME = RNConvivaAppAnalytics;
280
+ SKIP_INSTALL = YES;
281
+ };
282
+ name = Debug;
283
+ };
284
+ 58B511F11A9E6C8500147676 /* Release */ = {
285
+ isa = XCBuildConfiguration;
286
+ baseConfigurationReference = 4D25182CF98251495D063E8A /* Pods-RNConvivaAppAnalytics.release.xcconfig */;
287
+ buildSettings = {
288
+ HEADER_SEARCH_PATHS = (
289
+ "$(inherited)",
290
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
291
+ "$(SRCROOT)/../../../React/**",
292
+ "$(SRCROOT)/../../react-native/React/**",
293
+ );
294
+ LIBRARY_SEARCH_PATHS = "$(inherited)";
295
+ OTHER_LDFLAGS = "-ObjC";
296
+ PRODUCT_NAME = RNConvivaAppAnalytics;
297
+ SKIP_INSTALL = YES;
298
+ };
299
+ name = Release;
300
+ };
301
+ /* End XCBuildConfiguration section */
302
+
303
+ /* Begin XCConfigurationList section */
304
+ 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "RNConvivaAppAnalytics" */ = {
305
+ isa = XCConfigurationList;
306
+ buildConfigurations = (
307
+ 58B511ED1A9E6C8500147676 /* Debug */,
308
+ 58B511EE1A9E6C8500147676 /* Release */,
309
+ );
310
+ defaultConfigurationIsVisible = 0;
311
+ defaultConfigurationName = Release;
312
+ };
313
+ 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "RNConvivaAppAnalytics" */ = {
314
+ isa = XCConfigurationList;
315
+ buildConfigurations = (
316
+ 58B511F01A9E6C8500147676 /* Debug */,
317
+ 58B511F11A9E6C8500147676 /* Release */,
318
+ );
319
+ defaultConfigurationIsVisible = 0;
320
+ defaultConfigurationName = Release;
321
+ };
322
+ /* End XCConfigurationList section */
323
+ };
324
+ rootObject = 58B511D31A9E6C8500147676 /* Project object */;
325
+ }
@@ -0,0 +1,76 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Scheme
3
+ LastUpgradeVersion = "1020"
4
+ version = "1.3">
5
+ <BuildAction
6
+ parallelizeBuildables = "YES"
7
+ buildImplicitDependencies = "YES">
8
+ <BuildActionEntries>
9
+ <BuildActionEntry
10
+ buildForTesting = "YES"
11
+ buildForRunning = "YES"
12
+ buildForProfiling = "YES"
13
+ buildForArchiving = "YES"
14
+ buildForAnalyzing = "YES">
15
+ <BuildableReference
16
+ BuildableIdentifier = "primary"
17
+ BlueprintIdentifier = "58B511DA1A9E6C8500147676"
18
+ BuildableName = "libRNSnowplowTracker.a"
19
+ BlueprintName = "RNConvivaAppAnalytics"
20
+ ReferencedContainer = "container:RNConvivaAppAnalytics.xcodeproj">
21
+ </BuildableReference>
22
+ </BuildActionEntry>
23
+ </BuildActionEntries>
24
+ </BuildAction>
25
+ <TestAction
26
+ buildConfiguration = "Debug"
27
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
28
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29
+ shouldUseLaunchSchemeArgsEnv = "YES">
30
+ <Testables>
31
+ </Testables>
32
+ </TestAction>
33
+ <LaunchAction
34
+ buildConfiguration = "Debug"
35
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
36
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
37
+ launchStyle = "0"
38
+ useCustomWorkingDirectory = "NO"
39
+ ignoresPersistentStateOnLaunch = "NO"
40
+ debugDocumentVersioning = "YES"
41
+ debugServiceExtension = "internal"
42
+ allowLocationSimulation = "YES">
43
+ <MacroExpansion>
44
+ <BuildableReference
45
+ BuildableIdentifier = "primary"
46
+ BlueprintIdentifier = "58B511DA1A9E6C8500147676"
47
+ BuildableName = "libRNSnowplowTracker.a"
48
+ BlueprintName = "RNConvivaAppAnalytics"
49
+ ReferencedContainer = "container:RNConvivaAppAnalytics.xcodeproj">
50
+ </BuildableReference>
51
+ </MacroExpansion>
52
+ </LaunchAction>
53
+ <ProfileAction
54
+ buildConfiguration = "Release"
55
+ shouldUseLaunchSchemeArgsEnv = "YES"
56
+ savedToolIdentifier = ""
57
+ useCustomWorkingDirectory = "NO"
58
+ debugDocumentVersioning = "YES">
59
+ <MacroExpansion>
60
+ <BuildableReference
61
+ BuildableIdentifier = "primary"
62
+ BlueprintIdentifier = "58B511DA1A9E6C8500147676"
63
+ BuildableName = "libRNSnowplowTracker.a"
64
+ BlueprintName = "RNConvivaAppAnalytics"
65
+ ReferencedContainer = "container:RNConvivaAppAnalytics.xcodeproj">
66
+ </BuildableReference>
67
+ </MacroExpansion>
68
+ </ProfileAction>
69
+ <AnalyzeAction
70
+ buildConfiguration = "Debug">
71
+ </AnalyzeAction>
72
+ <ArchiveAction
73
+ buildConfiguration = "Release"
74
+ revealArchiveInOrganizer = "YES">
75
+ </ArchiveAction>
76
+ </Scheme>
@@ -0,0 +1,33 @@
1
+ //
2
+ // NSDictionary+RNCAT_TypeMethods.h
3
+ //
4
+ // Copyright (c) 2021-2023 Snowplow Analytics Ltd. All rights reserved.
5
+ //
6
+ // This program is licensed to you under the Apache License Version 2.0,
7
+ // and you may not use this file except in compliance with the Apache License
8
+ // Version 2.0. You may obtain a copy of the Apache License Version 2.0 at
9
+ // http://www.apache.org/licenses/LICENSE-2.0.
10
+ //
11
+ // Unless required by applicable law or agreed to in writing,
12
+ // software distributed under the Apache License Version 2.0 is distributed on
13
+ // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
14
+ // express or implied. See the Apache License Version 2.0 for the specific
15
+ // language governing permissions and limitations there under.
16
+ //
17
+ // Copyright: Copyright (c) 2023 Snowplow Analytics Ltd
18
+ // License: Apache License Version 2.0
19
+ //
20
+
21
+ #import <Foundation/Foundation.h>
22
+
23
+ NS_ASSUME_NONNULL_BEGIN
24
+
25
+ @interface NSDictionary (RNCAT_TypeMethods)
26
+
27
+ - (nullable NSString *)rncat_stringForKey:(NSString *)key defaultValue:(nullable NSString *)defaultValue;
28
+ - (nullable NSNumber *)rncat_numberForKey:(NSString *)key defaultValue:(nullable NSNumber *)defaultValue;
29
+ - (BOOL)rncat_boolForKey:(NSString *)key defaultValue:(BOOL)defaultValue;
30
+
31
+ @end
32
+
33
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,40 @@
1
+ //
2
+ // NSDictionary+RNCAT_TypeMethods.m
3
+ //
4
+ // Copyright (c) 2021-2023 Snowplow Analytics Ltd. All rights reserved.
5
+ //
6
+ // This program is licensed to you under the Apache License Version 2.0,
7
+ // and you may not use this file except in compliance with the Apache License
8
+ // Version 2.0. You may obtain a copy of the Apache License Version 2.0 at
9
+ // http://www.apache.org/licenses/LICENSE-2.0.
10
+ //
11
+ // Unless required by applicable law or agreed to in writing,
12
+ // software distributed under the Apache License Version 2.0 is distributed on
13
+ // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
14
+ // express or implied. See the Apache License Version 2.0 for the specific
15
+ // language governing permissions and limitations there under.
16
+ //
17
+ // Copyright: Copyright (c) 2023 Snowplow Analytics Ltd
18
+ // License: Apache License Version 2.0
19
+ //
20
+
21
+ #import "NSDictionary+RNCAT_TypeMethods.h"
22
+
23
+ @implementation NSDictionary (RNCAT_TypeMethods)
24
+
25
+ - (nullable NSString *)rncat_stringForKey:(NSString *)key defaultValue:(nullable NSString *)defaultValue {
26
+ NSObject *obj = [self objectForKey:key];
27
+ return [obj isKindOfClass:NSString.class] ? (NSString *)obj : defaultValue;
28
+ }
29
+
30
+ - (nullable NSNumber *)rncat_numberForKey:(NSString *)key defaultValue:(nullable NSNumber *)defaultValue {
31
+ NSObject *obj = [self objectForKey:key];
32
+ return [obj isKindOfClass:NSNumber.class] ? (NSNumber *)obj : defaultValue;
33
+ }
34
+
35
+ - (BOOL)rncat_boolForKey:(NSString *)key defaultValue:(BOOL)defaultValue {
36
+ NSNumber *num = [self rncat_numberForKey:key defaultValue:nil];
37
+ return num ? num.boolValue : defaultValue;
38
+ }
39
+
40
+ @end
@@ -0,0 +1,44 @@
1
+ //
2
+ // RNConfigUtils.h
3
+ //
4
+ // Copyright (c) 2021-2023 Snowplow Analytics Ltd. All rights reserved.
5
+ //
6
+ // This program is licensed to you under the Apache License Version 2.0,
7
+ // and you may not use this file except in compliance with the Apache License
8
+ // Version 2.0. You may obtain a copy of the Apache License Version 2.0 at
9
+ // http://www.apache.org/licenses/LICENSE-2.0.
10
+ //
11
+ // Unless required by applicable law or agreed to in writing,
12
+ // software distributed under the Apache License Version 2.0 is distributed on
13
+ // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
14
+ // express or implied. See the Apache License Version 2.0 for the specific
15
+ // language governing permissions and limitations there under.
16
+ //
17
+ // Copyright: Copyright (c) 2023 Snowplow Analytics Ltd
18
+ // License: Apache License Version 2.0
19
+ //
20
+
21
+ #import <Foundation/Foundation.h>
22
+
23
+ #import <ConvivaAppAnalytics/CATTrackerConfiguration.h>
24
+ #import <ConvivaAppAnalytics/CATSessionConfiguration.h>
25
+ #import <ConvivaAppAnalytics/CATEmitterConfiguration.h>
26
+ #import <ConvivaAppAnalytics/CATSubjectConfiguration.h>
27
+ #import <ConvivaAppAnalytics/CATGDPRConfiguration.h>
28
+ #import <ConvivaAppAnalytics/CATGlobalContextsConfiguration.h>
29
+
30
+ @interface RNConfigUtils : NSObject
31
+
32
+ + (CATTrackerConfiguration *) mkTrackerConfig:(NSDictionary *) trackerConfig;
33
+
34
+ + (CATSessionConfiguration *) mkSessionConfig:(NSDictionary *) sessionConfig;
35
+
36
+ + (CATEmitterConfiguration *) mkEmitterConfig:(NSDictionary *) emitterConfig;
37
+
38
+ + (CATSubjectConfiguration *) mkSubjectConfig:(NSDictionary *) subjectConfig;
39
+
40
+ + (CATGDPRConfiguration *) mkGdprConfig:(NSDictionary *) gdprConfig;
41
+
42
+ + (CATGlobalContextsConfiguration *) mkGCConfig:(NSArray *) gcConfig;
43
+
44
+ @end