react-native-quicktracking-analytics-module 1.0.0-beta.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 (36) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +110 -0
  3. package/android/.gradle/7.4.2/checksums/checksums.lock +0 -0
  4. package/android/.gradle/7.4.2/dependencies-accessors/dependencies-accessors.lock +0 -0
  5. package/android/.gradle/7.4.2/dependencies-accessors/gc.properties +0 -0
  6. package/android/.gradle/7.4.2/fileChanges/last-build.bin +0 -0
  7. package/android/.gradle/7.4.2/fileHashes/fileHashes.lock +0 -0
  8. package/android/.gradle/7.4.2/gc.properties +0 -0
  9. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  10. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  11. package/android/.gradle/vcs-1/gc.properties +0 -0
  12. package/android/build.gradle +146 -0
  13. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  14. package/android/gradle/wrapper/gradle-wrapper.properties +5 -0
  15. package/android/gradle.properties +5 -0
  16. package/android/gradlew +234 -0
  17. package/android/gradlew.bat +89 -0
  18. package/android/src/main/AndroidManifest.xml +4 -0
  19. package/android/src/main/java/com/reactnativequicktrackinganalyticsmodule/MainApplication.java +47 -0
  20. package/android/src/main/java/com/reactnativequicktrackinganalyticsmodule/QuicktrackingAnalyticsModuleModule.java +151 -0
  21. package/android/src/main/java/com/reactnativequicktrackinganalyticsmodule/QuicktrackingAnalyticsModulePackage.java +28 -0
  22. package/ios/QuicktrackingAnalyticsModule.h +5 -0
  23. package/ios/QuicktrackingAnalyticsModule.m +147 -0
  24. package/ios/QuicktrackingAnalyticsModule.xcodeproj/project.pbxproj +282 -0
  25. package/ios/QuicktrackingAnalyticsModule.xcodeproj/project.xcworkspace/contents.xcworkspacedata +4 -0
  26. package/ios/QuicktrackingAnalyticsModule.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  27. package/ios/QuicktrackingAnalyticsModule.xcodeproj/project.xcworkspace/xcuserdata/yuzhao.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  28. package/ios/QuicktrackingAnalyticsModule.xcodeproj/xcuserdata/yuzhao.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
  29. package/lib/commonjs/index.js +219 -0
  30. package/lib/commonjs/index.js.map +1 -0
  31. package/lib/module/index.js +212 -0
  32. package/lib/module/index.js.map +1 -0
  33. package/lib/typescript/index.d.ts +62 -0
  34. package/package.json +135 -0
  35. package/react-native-quicktracking-analytics-module.podspec +37 -0
  36. package/src/index.tsx +215 -0
@@ -0,0 +1,151 @@
1
+ package com.reactnativequicktrackinganalyticsmodule;
2
+
3
+ import androidx.annotation.NonNull;
4
+
5
+ import java.util.ArrayList;
6
+ import java.util.HashMap;
7
+ import java.util.List;
8
+ import java.util.Map;
9
+ import org.json.JSONObject;
10
+ import org.json.JSONException;
11
+ import java.util.Iterator;
12
+
13
+ import com.facebook.react.bridge.Callback;
14
+ import com.facebook.react.bridge.Promise;
15
+ import com.facebook.react.bridge.ReactApplicationContext;
16
+ import com.facebook.react.bridge.ReactContextBaseJavaModule;
17
+ import com.facebook.react.bridge.ReactMethod;
18
+ import com.facebook.react.bridge.ReadableArray;
19
+ import com.facebook.react.bridge.ReadableMap;
20
+ import com.facebook.react.bridge.ReadableMapKeySetIterator;
21
+ import com.facebook.react.bridge.ReadableNativeMap;
22
+ import com.facebook.react.bridge.ReadableType;
23
+ import com.facebook.react.module.annotations.ReactModule;
24
+
25
+ import com.quick.qt.analytics.QtTrackAgent;
26
+ import com.quick.qt.spm.SpmAgent;
27
+
28
+ @ReactModule(name = QuicktrackingAnalyticsModuleModule.NAME)
29
+ public class QuicktrackingAnalyticsModuleModule extends ReactContextBaseJavaModule {
30
+ public static final String NAME = "QuicktrackingAnalyticsModule";
31
+ public static final String TAG = "GlobalProperty";
32
+ private ReactApplicationContext context;
33
+
34
+ public QuicktrackingAnalyticsModuleModule(ReactApplicationContext reactContext) {
35
+ super(reactContext);
36
+ context = reactContext;
37
+ }
38
+
39
+ @Override
40
+ @NonNull
41
+ public String getName() {
42
+ return NAME;
43
+ }
44
+
45
+ @ReactMethod
46
+ public void onPageStart(String pageName) {
47
+ // android.util.Log.e("xxxxxx","onPageStart="+mPageName);
48
+ QtTrackAgent.onPageStart(pageName);
49
+ }
50
+
51
+ @ReactMethod
52
+ public void onPageEnd(String pageName) {
53
+ //android.util.Log.e("xxxxxx","onPageEnd="+mPageName);
54
+ QtTrackAgent.onPageEnd(pageName);
55
+ }
56
+
57
+
58
+ @ReactMethod
59
+ public void onEventObject(String eventID, ReadableMap property) {
60
+ Map<String, Object> map = new HashMap();
61
+ ReadableMapKeySetIterator iterator = property.keySetIterator();
62
+ while (iterator.hasNextKey()) {
63
+ String key = iterator.nextKey();
64
+ if (ReadableType.Array == property.getType(key)) {
65
+ map.put(key, property.getArray(key).toString());
66
+ } else if (ReadableType.Boolean == property.getType(key)) {
67
+ map.put(key, String.valueOf(property.getBoolean(key)));
68
+ } else if (ReadableType.Number == property.getType(key)) {
69
+ map.put(key, String.valueOf(property.getInt(key)));
70
+ } else if (ReadableType.String == property.getType(key)) {
71
+ map.put(key, property.getString(key));
72
+ } else if (ReadableType.Map == property.getType(key)) {
73
+ map.put(key, property.getMap(key).toString());
74
+ }
75
+ }
76
+ QtTrackAgent.onEventObject(context, eventID, map);
77
+ }
78
+
79
+ @ReactMethod
80
+ public void onEventForH5(String params) {
81
+ SpmAgent.CALL(params);
82
+ }
83
+
84
+ @ReactMethod
85
+ public void registerGlobalProperties(ReadableMap map) {
86
+ ReadableNativeMap map2 = (ReadableNativeMap) map;
87
+ Map<String, Object> map3 = map2.toHashMap();
88
+ Iterator entries = map3.entrySet().iterator();
89
+ Map json = new HashMap();
90
+ while (entries.hasNext()) {
91
+ Map.Entry entry = (Map.Entry) entries.next();
92
+ String key = (String)entry.getKey();
93
+ String value = (String)entry.getValue();
94
+ json.put(key,value);
95
+ }
96
+ QtTrackAgent.registerGlobalProperties(context, json);
97
+ }
98
+
99
+ @ReactMethod
100
+ public void unregisterGlobalProperty(String propertyName) {
101
+ if(propertyName == null || propertyName.length() == 0) {
102
+ return;
103
+ }
104
+ QtTrackAgent.unregisterGlobalProperty(context, propertyName);
105
+ }
106
+
107
+ @ReactMethod
108
+ public void getGlobalProperty(String propertyName, Promise promise) {
109
+ try {
110
+ if(propertyName == null || propertyName.length() == 0) {
111
+ return;
112
+ }
113
+ String result = QtTrackAgent.getGlobalProperty(context, propertyName).toString();
114
+ promise.resolve(result);
115
+ } catch (Exception e) {
116
+ // promise.reject("获取单个全局属性失败",e);
117
+ android.util.Log.e(TAG, "获取单个全局属性失败",e);
118
+ }
119
+ }
120
+
121
+ @ReactMethod
122
+ public void getGlobalProperties(Promise promise) {
123
+ try {
124
+ String result = QtTrackAgent.getGlobalProperties(context);
125
+ promise.resolve(result);
126
+ } catch (Exception e) {
127
+ // promise.reject("获取所有全局属性失败",e);
128
+ android.util.Log.e(TAG, "获取所有全局属性失败",e);
129
+ }
130
+ }
131
+
132
+ @ReactMethod
133
+ public void clearGlobalProperties() {
134
+ QtTrackAgent.clearGlobalProperties(context);
135
+ }
136
+
137
+ @ReactMethod
138
+ public void profileSignIn(String ID) {
139
+ QtTrackAgent.onProfileSignIn(ID);
140
+ }
141
+
142
+ @ReactMethod
143
+ public void profileSignInWithProvider(String ID, String Provider) {
144
+ QtTrackAgent.onProfileSignIn(Provider, ID);
145
+ }
146
+
147
+ @ReactMethod
148
+ public void profileSignOff() {
149
+ QtTrackAgent.onProfileSignOff();
150
+ }
151
+ }
@@ -0,0 +1,28 @@
1
+ package com.reactnativequicktrackinganalyticsmodule;
2
+
3
+ import androidx.annotation.NonNull;
4
+
5
+ import com.facebook.react.ReactPackage;
6
+ import com.facebook.react.bridge.NativeModule;
7
+ import com.facebook.react.bridge.ReactApplicationContext;
8
+ import com.facebook.react.uimanager.ViewManager;
9
+
10
+ import java.util.ArrayList;
11
+ import java.util.Collections;
12
+ import java.util.List;
13
+
14
+ public class QuicktrackingAnalyticsModulePackage implements ReactPackage {
15
+ @NonNull
16
+ @Override
17
+ public List<NativeModule> createNativeModules(@NonNull ReactApplicationContext reactContext) {
18
+ List<NativeModule> modules = new ArrayList<>();
19
+ modules.add(new QuicktrackingAnalyticsModuleModule(reactContext));
20
+ return modules;
21
+ }
22
+
23
+ @NonNull
24
+ @Override
25
+ public List<ViewManager> createViewManagers(@NonNull ReactApplicationContext reactContext) {
26
+ return Collections.emptyList();
27
+ }
28
+ }
@@ -0,0 +1,5 @@
1
+ #import <React/RCTBridgeModule.h>
2
+ #import <Foundation/Foundation.h>
3
+ @interface QuicktrackingAnalyticsModule : NSObject <RCTBridgeModule>
4
+
5
+ @end
@@ -0,0 +1,147 @@
1
+ //#if __has_include(<QTCommon/MobClick.h>)
2
+ #import <QTCommon/MobClick.h>
3
+ //#else
4
+ //#import "MobClick.h"
5
+ //#endif
6
+
7
+ #import "QuicktrackingAnalyticsModule.h"
8
+
9
+ #import <React/RCTConvert.h>
10
+ #import <React/RCTEventDispatcher.h>
11
+ #import <React/RCTLog.h>
12
+
13
+
14
+ @implementation QuicktrackingAnalyticsModule
15
+
16
+ RCT_EXPORT_MODULE()
17
+ //======================================页面事件相关===========================================//
18
+ //页面启动事件,在该页面展示时调用
19
+ RCT_EXPORT_METHOD(onPageStart:(NSString *)pageName)
20
+ {
21
+ if (pageName == nil || [pageName isKindOfClass:[NSNull class]]) {
22
+ return;
23
+ }
24
+ [QTMobClick beginLogPageView:pageName];
25
+ }
26
+ //页面离开事件,在该页面离开时候调用
27
+ RCT_EXPORT_METHOD(onPageEnd:(NSString *)pageName)
28
+ {
29
+ if (pageName == nil || [pageName isKindOfClass:[NSNull class]]) {
30
+ return;
31
+ }
32
+ [QTMobClick endLogPageView:pageName];
33
+ }
34
+
35
+ //======================================自定义事件相关===========================================//
36
+ /**
37
+ * @description QtAnalytics.onEventObject(String eventId, Object params)
38
+ * @eventId 自定义事件名(字符串类型)
39
+ * @params 一级平铺自定义参数属性键值对,不支持嵌套,并且iOS端不支持值为 null 和 "" 类型的键
40
+ */
41
+ RCT_EXPORT_METHOD(onEventObject:(NSString*)eventId parameters:(NSDictionary*)parameters)
42
+ {
43
+ if (eventId == nil || [eventId isKindOfClass:[NSNull class]]) {
44
+ return;
45
+ }
46
+ if (parameters == nil && [parameters isKindOfClass:[NSNull class]]) {
47
+ parameters = nil;
48
+ }
49
+ [QTMobClick event:eventId attributes:parameters];
50
+ }
51
+
52
+ RCT_EXPORT_METHOD(onEvent:(NSString *)eventId)
53
+ {
54
+ if (eventId == nil || [eventId isKindOfClass:[NSNull class]]) {
55
+ return;
56
+ }
57
+ [QTMobClick event:eventId];
58
+ }
59
+
60
+ RCT_EXPORT_METHOD(onEventWithParamsAndCount:(NSString *)eventId parameters:(NSDictionary *)parameters eventNum:(int)eventNum)
61
+ {
62
+ if (eventId == nil || [eventId isKindOfClass:[NSNull class]]) {
63
+ return;
64
+ }
65
+ if (parameters == nil && [parameters isKindOfClass:[NSNull class]]) {
66
+ parameters = nil;
67
+ }
68
+
69
+ [QTMobClick event:eventId attributes:parameters counter:eventNum];
70
+ }
71
+
72
+ RCT_EXPORT_METHOD(onEventForH5:(NSString*)eventId attributes:(NSDictionary *)attributes) {
73
+
74
+ Class _MobClickEvent = NSClassFromString(@"QTMobClickEvent");
75
+ if (_MobClickEvent){
76
+ SEL sel = NSSelectorFromString(@"eventForH5:attributes:");
77
+ if (sel && [_MobClickEvent respondsToSelector:sel] ) {
78
+ #pragma clang diagnostic push
79
+ #pragma clang diagnostic ignored "-Warc-performSelector-leaks"
80
+ [_MobClickEvent performSelector:sel withObject:eventId withObject:attributes];
81
+ #pragma clang diagnostic pop
82
+ }
83
+ }
84
+ }
85
+
86
+ //======================================全局属性相关===========================================//
87
+ RCT_EXPORT_METHOD(registerGlobalProperty:(NSDictionary*)globalproperty)
88
+ {
89
+ if (globalproperty == nil && [globalproperty isKindOfClass:[NSNull class]]) {
90
+ globalproperty = nil;
91
+ }
92
+ [QTMobClick registerGlobalProperty:globalproperty];
93
+ }
94
+
95
+ RCT_EXPORT_METHOD(clearGlobalProperties)
96
+ {
97
+ [QTMobClick clearGlobalProperties];
98
+ }
99
+
100
+ RCT_EXPORT_METHOD(getGlobalProperty:(NSString*)propertyName resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
101
+ if (propertyName == nil || [propertyName isKindOfClass:[NSNull class]]) {
102
+ return;
103
+ }
104
+ @try {
105
+ NSString* property = [QTMobClick getGlobalProperty:propertyName];
106
+ resolve(property);
107
+ } @catch (NSException *exception) {
108
+ NSLog(@"QTAnalytics error:%@", exception);
109
+ }
110
+ }
111
+
112
+ RCT_EXPORT_METHOD(unregisterGlobalProperty:(NSString*)propertyName)
113
+ {
114
+ if (propertyName == nil && [propertyName isKindOfClass:[NSNull class]]) {
115
+ propertyName = nil;
116
+ }
117
+ [QTMobClick unregisterGlobalProperty:propertyName];
118
+ }
119
+
120
+ RCT_EXPORT_METHOD(getGlobalProperties:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject) {
121
+ @try {
122
+ NSDictionary* dict = [QTMobClick getGlobalProperties];
123
+ resolve(dict);
124
+ } @catch (NSException *exception) {
125
+ NSLog(@"QTAnalytics error:%@", exception);
126
+ }
127
+ }
128
+
129
+ //======================================用户账号和用户属性相关===========================================//
130
+ RCT_EXPORT_METHOD(profileSignIn:(NSString*)puid provider:(NSString*)provider)
131
+ {
132
+ if (puid == nil || [puid isKindOfClass:[NSNull class]]) {
133
+ return;
134
+ }
135
+ if (provider == nil || [provider isKindOfClass:[NSNull class]]) {
136
+ [QTMobClick profileSignInWithPUID:puid];
137
+ } else {
138
+ [QTMobClick profileSignInWithPUID:puid provider:provider];
139
+ }
140
+ }
141
+
142
+ RCT_EXPORT_METHOD(profileSignOff)
143
+ {
144
+ [QTMobClick profileSignOff];
145
+ }
146
+
147
+ @end
@@ -0,0 +1,282 @@
1
+ // !$*UTF8*$!
2
+ {
3
+ archiveVersion = 1;
4
+ classes = {
5
+ };
6
+ objectVersion = 46;
7
+ objects = {
8
+
9
+ /* Begin PBXBuildFile section */
10
+ 61F36BEB29128CC600DA59D7 /* QuicktrackingAnalyticsModule.m in Sources */ = {isa = PBXBuildFile; fileRef = B3E7B5891CC2AC0600A0062D /* QuicktrackingAnalyticsModule.m */; };
11
+ /* End PBXBuildFile section */
12
+
13
+ /* Begin PBXCopyFilesBuildPhase section */
14
+ 58B511D91A9E6C8500147676 /* CopyFiles */ = {
15
+ isa = PBXCopyFilesBuildPhase;
16
+ buildActionMask = 2147483647;
17
+ dstPath = "include/$(PRODUCT_NAME)";
18
+ dstSubfolderSpec = 16;
19
+ files = (
20
+ );
21
+ runOnlyForDeploymentPostprocessing = 0;
22
+ };
23
+ /* End PBXCopyFilesBuildPhase section */
24
+
25
+ /* Begin PBXFileReference section */
26
+ 134814201AA4EA6300B7C361 /* libQuicktrackingAnalyticsModule.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libQuicktrackingAnalyticsModule.a; sourceTree = BUILT_PRODUCTS_DIR; };
27
+ B3E7B5881CC2AC0600A0062D /* QuicktrackingAnalyticsModule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QuicktrackingAnalyticsModule.h; sourceTree = "<group>"; };
28
+ B3E7B5891CC2AC0600A0062D /* QuicktrackingAnalyticsModule.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QuicktrackingAnalyticsModule.m; sourceTree = "<group>"; };
29
+ /* End PBXFileReference section */
30
+
31
+ /* Begin PBXFrameworksBuildPhase section */
32
+ 58B511D81A9E6C8500147676 /* Frameworks */ = {
33
+ isa = PBXFrameworksBuildPhase;
34
+ buildActionMask = 2147483647;
35
+ files = (
36
+ );
37
+ runOnlyForDeploymentPostprocessing = 0;
38
+ };
39
+ /* End PBXFrameworksBuildPhase section */
40
+
41
+ /* Begin PBXGroup section */
42
+ 134814211AA4EA7D00B7C361 /* Products */ = {
43
+ isa = PBXGroup;
44
+ children = (
45
+ 134814201AA4EA6300B7C361 /* libQuicktrackingAnalyticsModule.a */,
46
+ );
47
+ name = Products;
48
+ sourceTree = "<group>";
49
+ };
50
+ 58B511D21A9E6C8500147676 = {
51
+ isa = PBXGroup;
52
+ children = (
53
+ B3E7B5881CC2AC0600A0062D /* QuicktrackingAnalyticsModule.h */,
54
+ B3E7B5891CC2AC0600A0062D /* QuicktrackingAnalyticsModule.m */,
55
+ 134814211AA4EA7D00B7C361 /* Products */,
56
+ );
57
+ sourceTree = "<group>";
58
+ };
59
+ /* End PBXGroup section */
60
+
61
+ /* Begin PBXNativeTarget section */
62
+ 58B511DA1A9E6C8500147676 /* QuicktrackingAnalyticsModule */ = {
63
+ isa = PBXNativeTarget;
64
+ buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "QuicktrackingAnalyticsModule" */;
65
+ buildPhases = (
66
+ 58B511D71A9E6C8500147676 /* Sources */,
67
+ 58B511D81A9E6C8500147676 /* Frameworks */,
68
+ 58B511D91A9E6C8500147676 /* CopyFiles */,
69
+ );
70
+ buildRules = (
71
+ );
72
+ dependencies = (
73
+ );
74
+ name = QuicktrackingAnalyticsModule;
75
+ productName = RCTDataManager;
76
+ productReference = 134814201AA4EA6300B7C361 /* libQuicktrackingAnalyticsModule.a */;
77
+ productType = "com.apple.product-type.library.static";
78
+ };
79
+ /* End PBXNativeTarget section */
80
+
81
+ /* Begin PBXProject section */
82
+ 58B511D31A9E6C8500147676 /* Project object */ = {
83
+ isa = PBXProject;
84
+ attributes = {
85
+ LastUpgradeCheck = 0920;
86
+ ORGANIZATIONNAME = Facebook;
87
+ TargetAttributes = {
88
+ 58B511DA1A9E6C8500147676 = {
89
+ CreatedOnToolsVersion = 6.1.1;
90
+ };
91
+ };
92
+ };
93
+ buildConfigurationList = 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "QuicktrackingAnalyticsModule" */;
94
+ compatibilityVersion = "Xcode 3.2";
95
+ developmentRegion = English;
96
+ hasScannedForEncodings = 0;
97
+ knownRegions = (
98
+ English,
99
+ en,
100
+ );
101
+ mainGroup = 58B511D21A9E6C8500147676;
102
+ productRefGroup = 58B511D21A9E6C8500147676;
103
+ projectDirPath = "";
104
+ projectRoot = "";
105
+ targets = (
106
+ 58B511DA1A9E6C8500147676 /* QuicktrackingAnalyticsModule */,
107
+ );
108
+ };
109
+ /* End PBXProject section */
110
+
111
+ /* Begin PBXSourcesBuildPhase section */
112
+ 58B511D71A9E6C8500147676 /* Sources */ = {
113
+ isa = PBXSourcesBuildPhase;
114
+ buildActionMask = 2147483647;
115
+ files = (
116
+ 61F36BEB29128CC600DA59D7 /* QuicktrackingAnalyticsModule.m in Sources */,
117
+ );
118
+ runOnlyForDeploymentPostprocessing = 0;
119
+ };
120
+ /* End PBXSourcesBuildPhase section */
121
+
122
+ /* Begin XCBuildConfiguration section */
123
+ 58B511ED1A9E6C8500147676 /* Debug */ = {
124
+ isa = XCBuildConfiguration;
125
+ buildSettings = {
126
+ ALWAYS_SEARCH_USER_PATHS = NO;
127
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
128
+ CLANG_CXX_LIBRARY = "libc++";
129
+ CLANG_ENABLE_MODULES = YES;
130
+ CLANG_ENABLE_OBJC_ARC = YES;
131
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
132
+ CLANG_WARN_BOOL_CONVERSION = YES;
133
+ CLANG_WARN_COMMA = YES;
134
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
135
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
136
+ CLANG_WARN_EMPTY_BODY = YES;
137
+ CLANG_WARN_ENUM_CONVERSION = YES;
138
+ CLANG_WARN_INFINITE_RECURSION = YES;
139
+ CLANG_WARN_INT_CONVERSION = YES;
140
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
141
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
142
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
143
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
144
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
145
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
146
+ CLANG_WARN_UNREACHABLE_CODE = YES;
147
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
148
+ COPY_PHASE_STRIP = NO;
149
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
150
+ ENABLE_TESTABILITY = YES;
151
+ "EXCLUDED_ARCHS[sdk=*]" = arm64;
152
+ GCC_C_LANGUAGE_STANDARD = gnu99;
153
+ GCC_DYNAMIC_NO_PIC = NO;
154
+ GCC_NO_COMMON_BLOCKS = YES;
155
+ GCC_OPTIMIZATION_LEVEL = 0;
156
+ GCC_PREPROCESSOR_DEFINITIONS = (
157
+ "DEBUG=1",
158
+ "$(inherited)",
159
+ );
160
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
161
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
162
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
163
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
164
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
165
+ GCC_WARN_UNUSED_FUNCTION = YES;
166
+ GCC_WARN_UNUSED_VARIABLE = YES;
167
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
168
+ MTL_ENABLE_DEBUG_INFO = YES;
169
+ ONLY_ACTIVE_ARCH = YES;
170
+ SDKROOT = iphoneos;
171
+ };
172
+ name = Debug;
173
+ };
174
+ 58B511EE1A9E6C8500147676 /* Release */ = {
175
+ isa = XCBuildConfiguration;
176
+ buildSettings = {
177
+ ALWAYS_SEARCH_USER_PATHS = NO;
178
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
179
+ CLANG_CXX_LIBRARY = "libc++";
180
+ CLANG_ENABLE_MODULES = YES;
181
+ CLANG_ENABLE_OBJC_ARC = YES;
182
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
183
+ CLANG_WARN_BOOL_CONVERSION = YES;
184
+ CLANG_WARN_COMMA = YES;
185
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
186
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
187
+ CLANG_WARN_EMPTY_BODY = YES;
188
+ CLANG_WARN_ENUM_CONVERSION = YES;
189
+ CLANG_WARN_INFINITE_RECURSION = YES;
190
+ CLANG_WARN_INT_CONVERSION = YES;
191
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
192
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
193
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
194
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
195
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
196
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
197
+ CLANG_WARN_UNREACHABLE_CODE = YES;
198
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
199
+ COPY_PHASE_STRIP = YES;
200
+ ENABLE_NS_ASSERTIONS = NO;
201
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
202
+ "EXCLUDED_ARCHS[sdk=*]" = arm64;
203
+ GCC_C_LANGUAGE_STANDARD = gnu99;
204
+ GCC_NO_COMMON_BLOCKS = YES;
205
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
206
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
207
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
208
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
209
+ GCC_WARN_UNUSED_FUNCTION = YES;
210
+ GCC_WARN_UNUSED_VARIABLE = YES;
211
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
212
+ MTL_ENABLE_DEBUG_INFO = NO;
213
+ SDKROOT = iphoneos;
214
+ VALIDATE_PRODUCT = YES;
215
+ };
216
+ name = Release;
217
+ };
218
+ 58B511F01A9E6C8500147676 /* Debug */ = {
219
+ isa = XCBuildConfiguration;
220
+ buildSettings = {
221
+ FRAMEWORK_SEARCH_PATHS = (
222
+ "$(inherited)",
223
+ "$(PROJECT_DIR)",
224
+ );
225
+ HEADER_SEARCH_PATHS = (
226
+ "$(inherited)",
227
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
228
+ "$(SRCROOT)/../../../React/**",
229
+ "$(SRCROOT)/../../react-native/React/**",
230
+ );
231
+ LIBRARY_SEARCH_PATHS = "$(inherited)";
232
+ OTHER_LDFLAGS = "-ObjC";
233
+ PRODUCT_NAME = QuicktrackingAnalyticsModule;
234
+ SKIP_INSTALL = YES;
235
+ };
236
+ name = Debug;
237
+ };
238
+ 58B511F11A9E6C8500147676 /* Release */ = {
239
+ isa = XCBuildConfiguration;
240
+ buildSettings = {
241
+ FRAMEWORK_SEARCH_PATHS = (
242
+ "$(inherited)",
243
+ "$(PROJECT_DIR)",
244
+ );
245
+ HEADER_SEARCH_PATHS = (
246
+ "$(inherited)",
247
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
248
+ "$(SRCROOT)/../../../React/**",
249
+ "$(SRCROOT)/../../react-native/React/**",
250
+ );
251
+ LIBRARY_SEARCH_PATHS = "$(inherited)";
252
+ OTHER_LDFLAGS = "-ObjC";
253
+ PRODUCT_NAME = QuicktrackingAnalyticsModule;
254
+ SKIP_INSTALL = YES;
255
+ };
256
+ name = Release;
257
+ };
258
+ /* End XCBuildConfiguration section */
259
+
260
+ /* Begin XCConfigurationList section */
261
+ 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "QuicktrackingAnalyticsModule" */ = {
262
+ isa = XCConfigurationList;
263
+ buildConfigurations = (
264
+ 58B511ED1A9E6C8500147676 /* Debug */,
265
+ 58B511EE1A9E6C8500147676 /* Release */,
266
+ );
267
+ defaultConfigurationIsVisible = 0;
268
+ defaultConfigurationName = Release;
269
+ };
270
+ 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "QuicktrackingAnalyticsModule" */ = {
271
+ isa = XCConfigurationList;
272
+ buildConfigurations = (
273
+ 58B511F01A9E6C8500147676 /* Debug */,
274
+ 58B511F11A9E6C8500147676 /* Release */,
275
+ );
276
+ defaultConfigurationIsVisible = 0;
277
+ defaultConfigurationName = Release;
278
+ };
279
+ /* End XCConfigurationList section */
280
+ };
281
+ rootObject = 58B511D31A9E6C8500147676 /* Project object */;
282
+ }
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Workspace
3
+ version = "1.0">
4
+ </Workspace>
@@ -0,0 +1,8 @@
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>IDEDidComputeMac32BitWarning</key>
6
+ <true/>
7
+ </dict>
8
+ </plist>
@@ -0,0 +1,14 @@
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>SchemeUserState</key>
6
+ <dict>
7
+ <key>QuicktrackingAnalyticsModule.xcscheme_^#shared#^_</key>
8
+ <dict>
9
+ <key>orderHint</key>
10
+ <integer>0</integer>
11
+ </dict>
12
+ </dict>
13
+ </dict>
14
+ </plist>