@dashx/react-native 0.1.25 → 1.0.2
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.
- package/android/build.gradle +22 -148
- package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/android/gradle/wrapper/gradle-wrapper.properties +1 -2
- package/android/gradlew +34 -21
- package/android/gradlew.bat +24 -19
- package/android/src/main/AndroidManifest.xml +2 -7
- package/android/src/main/java/com/dashx/rn/sdk/DashXReactNativeModule.kt +250 -0
- package/android/src/main/java/com/dashx/rn/sdk/{DashXPackage.kt → DashXReactNativePackage.kt} +2 -1
- package/android/src/main/java/com/dashx/rn/sdk/util/ArrayUtil.java +163 -0
- package/android/src/main/java/com/dashx/rn/sdk/util/MapUtil.java +168 -0
- package/android/src/main/java/com/dashx/rn/sdk/{Utils.kt → util/Utils.kt} +5 -5
- package/index.js +54 -74
- package/ios/DashX.swift +101 -93
- package/ios/DashXReactNative-Bridging-Header.h +4 -0
- package/ios/DashXReactNative.m +24 -0
- package/ios/DashXReactNative.xcodeproj/project.pbxproj +280 -0
- package/ios/{DashX.xcworkspace → DashXReactNative.xcworkspace}/contents.xcworkspacedata +1 -1
- package/ios/{DashX.xcworkspace → DashXReactNative.xcworkspace}/xcshareddata/IDEWorkspaceChecks.plist +0 -0
- package/package.json +4 -13
- package/DashX.podspec +0 -27
- package/android/README.md +0 -23
- package/android/src/main/java/com/dashx/rn/sdk/DashXActivityLifecycleCallbacks.kt +0 -93
- package/android/src/main/java/com/dashx/rn/sdk/DashXClientInterceptor.kt +0 -66
- package/android/src/main/java/com/dashx/rn/sdk/DashXExceptionHandler.kt +0 -28
- package/android/src/main/java/com/dashx/rn/sdk/DashXMessagingService.kt +0 -176
- package/android/src/main/java/com/dashx/rn/sdk/DashXModule.kt +0 -193
- package/android/src/main/java/com/dashx/rn/sdk/NotificationReceiver.kt +0 -17
- package/ios/API.swift +0 -2420
- package/ios/Constants.swift +0 -14
- package/ios/DashX.m +0 -17
- package/ios/DashX.xcodeproj/project.pbxproj +0 -356
- package/ios/DashX.xcodeproj/xcshareddata/xcschemes/DashX.xcscheme +0 -67
- package/ios/DashXAppDelegate.swift +0 -73
- package/ios/DashXApplicationLifecycleCallbacks.swift +0 -65
- package/ios/DashXClient.swift +0 -319
- package/ios/DashXData.swift +0 -19
- package/ios/DashXLog.swift +0 -44
- package/ios/DashXUIViewController.swift +0 -15
- package/ios/Network.swift +0 -74
- package/ios/README.md +0 -80
- package/ios/Utils.swift +0 -13
- package/ios/graphql/AddContent.graphql +0 -8
- package/ios/graphql/AddItemToCart.graphql +0 -33
- package/ios/graphql/EditContent.graphql +0 -8
- package/ios/graphql/FetchCart.graphql +0 -33
- package/ios/graphql/FetchContent.graphql +0 -3
- package/ios/graphql/IdentifyAccount.graphql +0 -5
- package/ios/graphql/SearchContent.graphql +0 -3
- package/ios/graphql/SubscribeContact.graphql +0 -6
- package/ios/graphql/TrackEvent.graphql +0 -5
- package/ios/schema.json +0 -37038
package/ios/Constants.swift
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import Foundation
|
|
2
|
-
|
|
3
|
-
struct Constants {
|
|
4
|
-
static let PACKAGE_NAME = "com.dashx.sdk"
|
|
5
|
-
static let USER_PREFERENCES_KEY_ANONYMOUS_UID = "\(PACKAGE_NAME).anonymous_uid"
|
|
6
|
-
static let USER_PREFERENCES_KEY_DEVICE_TOKEN = "\(PACKAGE_NAME).device_token"
|
|
7
|
-
static let USER_PREFERENCES_KEY_BUILD = "\(PACKAGE_NAME).build"
|
|
8
|
-
static let INTERNAL_EVENT_APP_INSTALLED = "Application Installed"
|
|
9
|
-
static let INTERNAL_EVENT_APP_UPDATED = "Application Updated"
|
|
10
|
-
static let INTERNAL_EVENT_APP_OPENED = "Application Opened"
|
|
11
|
-
static let INTERNAL_EVENT_APP_BACKGROUNDED = "Application Backgrounded"
|
|
12
|
-
static let INTERNAL_EVENT_APP_CRASHED = "Application Crashed"
|
|
13
|
-
static let INTERNAL_EVENT_APP_SCREEN_VIEWED = "Screen Viewed"
|
|
14
|
-
}
|
package/ios/DashX.m
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
#import <React/RCTBridgeModule.h>
|
|
2
|
-
#import <React/RCTEventEmitter.h>
|
|
3
|
-
|
|
4
|
-
@interface RCT_EXTERN_MODULE(DashX, RCTEventEmitter)
|
|
5
|
-
RCT_EXTERN_METHOD(setLogLevel:(NSInteger *)to)
|
|
6
|
-
RCT_EXTERN_METHOD(setup:(NSDictionary *)options)
|
|
7
|
-
RCT_EXTERN_METHOD(getConnectionConfig:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
|
|
8
|
-
RCT_EXTERN_METHOD(identify:(NSString *)uid options:(NSDictionary *)options)
|
|
9
|
-
RCT_EXTERN_METHOD(setIdentityToken:(NSString *)identityToken)
|
|
10
|
-
RCT_EXTERN_METHOD(reset)
|
|
11
|
-
RCT_EXTERN_METHOD(track:(NSString *)event data:(NSDictionary *)data)
|
|
12
|
-
RCT_EXTERN_METHOD(searchContent:(NSString *)contentType options:(NSDictionary *)options resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
|
|
13
|
-
RCT_EXTERN_METHOD(fetchContent:(NSString *)urn options:(NSDictionary *)options resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
|
|
14
|
-
RCT_EXTERN_METHOD(addItemToCart:(NSString *)itemId pricingId:(NSString *)pricingId quantity:(NSString *)quantity reset:(BOOL)reset custom:(NSDictionary *)custom resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
|
|
15
|
-
RCT_EXTERN_METHOD(fetchCart:resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
|
|
16
|
-
RCT_EXTERN_METHOD(subscribe)
|
|
17
|
-
@end
|
|
@@ -1,356 +0,0 @@
|
|
|
1
|
-
// !$*UTF8*$!
|
|
2
|
-
{
|
|
3
|
-
archiveVersion = 1;
|
|
4
|
-
classes = {
|
|
5
|
-
};
|
|
6
|
-
objectVersion = 46;
|
|
7
|
-
objects = {
|
|
8
|
-
|
|
9
|
-
/* Begin PBXBuildFile section */
|
|
10
|
-
71050BB925E3B8C3008EA385 /* Network.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71050BB825E3B8C3008EA385 /* Network.swift */; };
|
|
11
|
-
7167F91B250F97BA0078BFFB /* DashXApplicationLifecycleCallbacks.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7167F91A250F97BA0078BFFB /* DashXApplicationLifecycleCallbacks.swift */; };
|
|
12
|
-
7167F91D250F97E10078BFFB /* DashXUIViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7167F91C250F97E10078BFFB /* DashXUIViewController.swift */; };
|
|
13
|
-
71758CAB25038D00007197D5 /* DashXData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71758CAA25038D00007197D5 /* DashXData.swift */; };
|
|
14
|
-
71829DAB2519BABA0024EF73 /* DashXEventEmitter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71829DAA2519BABA0024EF73 /* DashXEventEmitter.swift */; };
|
|
15
|
-
71829DAD2519BAD50024EF73 /* DashXAppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71829DAC2519BAD50024EF73 /* DashXAppDelegate.swift */; };
|
|
16
|
-
71A405A4251B09D300230332 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71A405A3251B09D300230332 /* Utils.swift */; };
|
|
17
|
-
71FCBF0E2500031100EE19F0 /* DashX.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71FCBF0D2500031100EE19F0 /* DashX.swift */; };
|
|
18
|
-
71FCBF1025001E9200EE19F0 /* DashX.m in Sources */ = {isa = PBXBuildFile; fileRef = 71FCBF0F25001E9200EE19F0 /* DashX.m */; };
|
|
19
|
-
71FCBF142501959800EE19F0 /* DashXLog.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71FCBF132501959800EE19F0 /* DashXLog.swift */; };
|
|
20
|
-
71FCBF172502106D00EE19F0 /* OSLog.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 71FCBF162502106D00EE19F0 /* OSLog.framework */; };
|
|
21
|
-
71FCBF1925035B2600EE19F0 /* DashXClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71FCBF1825035B2600EE19F0 /* DashXClient.swift */; };
|
|
22
|
-
71FCBF1B25036BC000EE19F0 /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71FCBF1A25036BC000EE19F0 /* Constants.swift */; };
|
|
23
|
-
/* End PBXBuildFile section */
|
|
24
|
-
|
|
25
|
-
/* Begin PBXCopyFilesBuildPhase section */
|
|
26
|
-
58B511D91A9E6C8500147676 /* CopyFiles */ = {
|
|
27
|
-
isa = PBXCopyFilesBuildPhase;
|
|
28
|
-
buildActionMask = 2147483647;
|
|
29
|
-
dstPath = "include/$(PRODUCT_NAME)";
|
|
30
|
-
dstSubfolderSpec = 16;
|
|
31
|
-
files = (
|
|
32
|
-
);
|
|
33
|
-
runOnlyForDeploymentPostprocessing = 0;
|
|
34
|
-
};
|
|
35
|
-
/* End PBXCopyFilesBuildPhase section */
|
|
36
|
-
|
|
37
|
-
/* Begin PBXFileReference section */
|
|
38
|
-
134814201AA4EA6300B7C361 /* libDashX.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libDashX.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
39
|
-
71050BB825E3B8C3008EA385 /* Network.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Network.swift; sourceTree = "<group>"; usesTabs = 0; };
|
|
40
|
-
7167F91A250F97BA0078BFFB /* DashXApplicationLifecycleCallbacks.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DashXApplicationLifecycleCallbacks.swift; sourceTree = "<group>"; };
|
|
41
|
-
7167F91C250F97E10078BFFB /* DashXUIViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DashXUIViewController.swift; sourceTree = "<group>"; };
|
|
42
|
-
71758CAA25038D00007197D5 /* DashXData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DashXData.swift; sourceTree = "<group>"; };
|
|
43
|
-
71829DAA2519BABA0024EF73 /* DashXEventEmitter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DashXEventEmitter.swift; sourceTree = "<group>"; };
|
|
44
|
-
71829DAC2519BAD50024EF73 /* DashXAppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DashXAppDelegate.swift; sourceTree = "<group>"; };
|
|
45
|
-
71A405A3251B09D300230332 /* Utils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Utils.swift; sourceTree = "<group>"; };
|
|
46
|
-
71FCBF0C2500031000EE19F0 /* DashX-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "DashX-Bridging-Header.h"; sourceTree = "<group>"; };
|
|
47
|
-
71FCBF0D2500031100EE19F0 /* DashX.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DashX.swift; sourceTree = "<group>"; };
|
|
48
|
-
71FCBF0F25001E9200EE19F0 /* DashX.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DashX.m; sourceTree = "<group>"; };
|
|
49
|
-
71FCBF132501959800EE19F0 /* DashXLog.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DashXLog.swift; sourceTree = "<group>"; };
|
|
50
|
-
71FCBF162502106D00EE19F0 /* OSLog.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OSLog.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/OSLog.framework; sourceTree = DEVELOPER_DIR; };
|
|
51
|
-
71FCBF1825035B2600EE19F0 /* DashXClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DashXClient.swift; sourceTree = "<group>"; };
|
|
52
|
-
71FCBF1A25036BC000EE19F0 /* Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = "<group>"; };
|
|
53
|
-
/* End PBXFileReference section */
|
|
54
|
-
|
|
55
|
-
/* Begin PBXFrameworksBuildPhase section */
|
|
56
|
-
58B511D81A9E6C8500147676 /* Frameworks */ = {
|
|
57
|
-
isa = PBXFrameworksBuildPhase;
|
|
58
|
-
buildActionMask = 2147483647;
|
|
59
|
-
files = (
|
|
60
|
-
71FCBF172502106D00EE19F0 /* OSLog.framework in Frameworks */,
|
|
61
|
-
);
|
|
62
|
-
runOnlyForDeploymentPostprocessing = 0;
|
|
63
|
-
};
|
|
64
|
-
/* End PBXFrameworksBuildPhase section */
|
|
65
|
-
|
|
66
|
-
/* Begin PBXGroup section */
|
|
67
|
-
134814211AA4EA7D00B7C361 /* Products */ = {
|
|
68
|
-
isa = PBXGroup;
|
|
69
|
-
children = (
|
|
70
|
-
134814201AA4EA6300B7C361 /* libDashX.a */,
|
|
71
|
-
);
|
|
72
|
-
name = Products;
|
|
73
|
-
sourceTree = "<group>";
|
|
74
|
-
};
|
|
75
|
-
58B511D21A9E6C8500147676 = {
|
|
76
|
-
isa = PBXGroup;
|
|
77
|
-
children = (
|
|
78
|
-
71050BB825E3B8C3008EA385 /* Network.swift */,
|
|
79
|
-
71A405A3251B09D300230332 /* Utils.swift */,
|
|
80
|
-
71829DAC2519BAD50024EF73 /* DashXAppDelegate.swift */,
|
|
81
|
-
71829DAA2519BABA0024EF73 /* DashXEventEmitter.swift */,
|
|
82
|
-
7167F91C250F97E10078BFFB /* DashXUIViewController.swift */,
|
|
83
|
-
7167F91A250F97BA0078BFFB /* DashXApplicationLifecycleCallbacks.swift */,
|
|
84
|
-
71758CAA25038D00007197D5 /* DashXData.swift */,
|
|
85
|
-
71FCBF1A25036BC000EE19F0 /* Constants.swift */,
|
|
86
|
-
71FCBF1825035B2600EE19F0 /* DashXClient.swift */,
|
|
87
|
-
71FCBF132501959800EE19F0 /* DashXLog.swift */,
|
|
88
|
-
71FCBF0F25001E9200EE19F0 /* DashX.m */,
|
|
89
|
-
71FCBF0D2500031100EE19F0 /* DashX.swift */,
|
|
90
|
-
134814211AA4EA7D00B7C361 /* Products */,
|
|
91
|
-
71FCBF0C2500031000EE19F0 /* DashX-Bridging-Header.h */,
|
|
92
|
-
71FCBF152502106C00EE19F0 /* Frameworks */,
|
|
93
|
-
);
|
|
94
|
-
sourceTree = "<group>";
|
|
95
|
-
};
|
|
96
|
-
71FCBF152502106C00EE19F0 /* Frameworks */ = {
|
|
97
|
-
isa = PBXGroup;
|
|
98
|
-
children = (
|
|
99
|
-
71FCBF162502106D00EE19F0 /* OSLog.framework */,
|
|
100
|
-
);
|
|
101
|
-
name = Frameworks;
|
|
102
|
-
sourceTree = "<group>";
|
|
103
|
-
};
|
|
104
|
-
/* End PBXGroup section */
|
|
105
|
-
|
|
106
|
-
/* Begin PBXNativeTarget section */
|
|
107
|
-
58B511DA1A9E6C8500147676 /* DashX */ = {
|
|
108
|
-
isa = PBXNativeTarget;
|
|
109
|
-
buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "DashX" */;
|
|
110
|
-
buildPhases = (
|
|
111
|
-
58B511D71A9E6C8500147676 /* Sources */,
|
|
112
|
-
58B511D81A9E6C8500147676 /* Frameworks */,
|
|
113
|
-
58B511D91A9E6C8500147676 /* CopyFiles */,
|
|
114
|
-
);
|
|
115
|
-
buildRules = (
|
|
116
|
-
);
|
|
117
|
-
dependencies = (
|
|
118
|
-
);
|
|
119
|
-
name = DashX;
|
|
120
|
-
productName = RCTDataManager;
|
|
121
|
-
productReference = 134814201AA4EA6300B7C361 /* libDashX.a */;
|
|
122
|
-
productType = "com.apple.product-type.library.static";
|
|
123
|
-
};
|
|
124
|
-
/* End PBXNativeTarget section */
|
|
125
|
-
|
|
126
|
-
/* Begin PBXProject section */
|
|
127
|
-
58B511D31A9E6C8500147676 /* Project object */ = {
|
|
128
|
-
isa = PBXProject;
|
|
129
|
-
attributes = {
|
|
130
|
-
LastUpgradeCheck = 1160;
|
|
131
|
-
ORGANIZATIONNAME = Facebook;
|
|
132
|
-
TargetAttributes = {
|
|
133
|
-
58B511DA1A9E6C8500147676 = {
|
|
134
|
-
CreatedOnToolsVersion = 6.1.1;
|
|
135
|
-
LastSwiftMigration = 1160;
|
|
136
|
-
};
|
|
137
|
-
};
|
|
138
|
-
};
|
|
139
|
-
buildConfigurationList = 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "DashX" */;
|
|
140
|
-
compatibilityVersion = "Xcode 3.2";
|
|
141
|
-
developmentRegion = en;
|
|
142
|
-
hasScannedForEncodings = 0;
|
|
143
|
-
knownRegions = (
|
|
144
|
-
en,
|
|
145
|
-
Base,
|
|
146
|
-
);
|
|
147
|
-
mainGroup = 58B511D21A9E6C8500147676;
|
|
148
|
-
productRefGroup = 58B511D21A9E6C8500147676;
|
|
149
|
-
projectDirPath = "";
|
|
150
|
-
projectRoot = "";
|
|
151
|
-
targets = (
|
|
152
|
-
58B511DA1A9E6C8500147676 /* DashX */,
|
|
153
|
-
);
|
|
154
|
-
};
|
|
155
|
-
/* End PBXProject section */
|
|
156
|
-
|
|
157
|
-
/* Begin PBXSourcesBuildPhase section */
|
|
158
|
-
58B511D71A9E6C8500147676 /* Sources */ = {
|
|
159
|
-
isa = PBXSourcesBuildPhase;
|
|
160
|
-
buildActionMask = 2147483647;
|
|
161
|
-
files = (
|
|
162
|
-
71FCBF1B25036BC000EE19F0 /* Constants.swift in Sources */,
|
|
163
|
-
71FCBF1025001E9200EE19F0 /* DashX.m in Sources */,
|
|
164
|
-
71050BB925E3B8C3008EA385 /* Network.swift in Sources */,
|
|
165
|
-
71758CAB25038D00007197D5 /* DashXData.swift in Sources */,
|
|
166
|
-
71829DAD2519BAD50024EF73 /* DashXAppDelegate.swift in Sources */,
|
|
167
|
-
7167F91D250F97E10078BFFB /* DashXUIViewController.swift in Sources */,
|
|
168
|
-
71829DAB2519BABA0024EF73 /* DashXEventEmitter.swift in Sources */,
|
|
169
|
-
71FCBF142501959800EE19F0 /* DashXLog.swift in Sources */,
|
|
170
|
-
71A405A4251B09D300230332 /* Utils.swift in Sources */,
|
|
171
|
-
7167F91B250F97BA0078BFFB /* DashXApplicationLifecycleCallbacks.swift in Sources */,
|
|
172
|
-
71FCBF0E2500031100EE19F0 /* DashX.swift in Sources */,
|
|
173
|
-
71FCBF1925035B2600EE19F0 /* DashXClient.swift in Sources */,
|
|
174
|
-
);
|
|
175
|
-
runOnlyForDeploymentPostprocessing = 0;
|
|
176
|
-
};
|
|
177
|
-
/* End PBXSourcesBuildPhase section */
|
|
178
|
-
|
|
179
|
-
/* Begin XCBuildConfiguration section */
|
|
180
|
-
58B511ED1A9E6C8500147676 /* Debug */ = {
|
|
181
|
-
isa = XCBuildConfiguration;
|
|
182
|
-
buildSettings = {
|
|
183
|
-
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
184
|
-
CLANG_ANALYZER_NONNULL = YES;
|
|
185
|
-
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
|
186
|
-
CLANG_CXX_LIBRARY = "libc++";
|
|
187
|
-
CLANG_ENABLE_MODULES = YES;
|
|
188
|
-
CLANG_ENABLE_OBJC_ARC = YES;
|
|
189
|
-
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
|
190
|
-
CLANG_WARN_BOOL_CONVERSION = YES;
|
|
191
|
-
CLANG_WARN_COMMA = YES;
|
|
192
|
-
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
|
193
|
-
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
|
194
|
-
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
|
195
|
-
CLANG_WARN_EMPTY_BODY = YES;
|
|
196
|
-
CLANG_WARN_ENUM_CONVERSION = YES;
|
|
197
|
-
CLANG_WARN_INFINITE_RECURSION = YES;
|
|
198
|
-
CLANG_WARN_INT_CONVERSION = YES;
|
|
199
|
-
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
|
200
|
-
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
|
201
|
-
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
|
202
|
-
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
|
203
|
-
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
|
204
|
-
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
|
205
|
-
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
|
206
|
-
CLANG_WARN_UNREACHABLE_CODE = YES;
|
|
207
|
-
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
|
208
|
-
COPY_PHASE_STRIP = NO;
|
|
209
|
-
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
|
210
|
-
ENABLE_TESTABILITY = YES;
|
|
211
|
-
GCC_C_LANGUAGE_STANDARD = gnu99;
|
|
212
|
-
GCC_DYNAMIC_NO_PIC = NO;
|
|
213
|
-
GCC_NO_COMMON_BLOCKS = YES;
|
|
214
|
-
GCC_OPTIMIZATION_LEVEL = 0;
|
|
215
|
-
GCC_PREPROCESSOR_DEFINITIONS = (
|
|
216
|
-
"DEBUG=1",
|
|
217
|
-
"$(inherited)",
|
|
218
|
-
);
|
|
219
|
-
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
|
220
|
-
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
|
221
|
-
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
|
222
|
-
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
|
223
|
-
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
|
224
|
-
GCC_WARN_UNUSED_FUNCTION = YES;
|
|
225
|
-
GCC_WARN_UNUSED_VARIABLE = YES;
|
|
226
|
-
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
|
227
|
-
LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)";
|
|
228
|
-
LIBRARY_SEARCH_PATHS = (
|
|
229
|
-
"\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"",
|
|
230
|
-
"\"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)\"",
|
|
231
|
-
"\"$(inherited)\"",
|
|
232
|
-
);
|
|
233
|
-
MTL_ENABLE_DEBUG_INFO = YES;
|
|
234
|
-
ONLY_ACTIVE_ARCH = YES;
|
|
235
|
-
SDKROOT = iphoneos;
|
|
236
|
-
};
|
|
237
|
-
name = Debug;
|
|
238
|
-
};
|
|
239
|
-
58B511EE1A9E6C8500147676 /* Release */ = {
|
|
240
|
-
isa = XCBuildConfiguration;
|
|
241
|
-
buildSettings = {
|
|
242
|
-
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
243
|
-
CLANG_ANALYZER_NONNULL = YES;
|
|
244
|
-
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
|
245
|
-
CLANG_CXX_LIBRARY = "libc++";
|
|
246
|
-
CLANG_ENABLE_MODULES = YES;
|
|
247
|
-
CLANG_ENABLE_OBJC_ARC = YES;
|
|
248
|
-
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
|
249
|
-
CLANG_WARN_BOOL_CONVERSION = YES;
|
|
250
|
-
CLANG_WARN_COMMA = YES;
|
|
251
|
-
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
|
252
|
-
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
|
253
|
-
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
|
254
|
-
CLANG_WARN_EMPTY_BODY = YES;
|
|
255
|
-
CLANG_WARN_ENUM_CONVERSION = YES;
|
|
256
|
-
CLANG_WARN_INFINITE_RECURSION = YES;
|
|
257
|
-
CLANG_WARN_INT_CONVERSION = YES;
|
|
258
|
-
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
|
259
|
-
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
|
260
|
-
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
|
261
|
-
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
|
262
|
-
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
|
263
|
-
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
|
264
|
-
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
|
265
|
-
CLANG_WARN_UNREACHABLE_CODE = YES;
|
|
266
|
-
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
|
267
|
-
COPY_PHASE_STRIP = YES;
|
|
268
|
-
ENABLE_NS_ASSERTIONS = NO;
|
|
269
|
-
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
|
270
|
-
GCC_C_LANGUAGE_STANDARD = gnu99;
|
|
271
|
-
GCC_NO_COMMON_BLOCKS = YES;
|
|
272
|
-
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
|
273
|
-
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
|
274
|
-
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
|
275
|
-
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
|
276
|
-
GCC_WARN_UNUSED_FUNCTION = YES;
|
|
277
|
-
GCC_WARN_UNUSED_VARIABLE = YES;
|
|
278
|
-
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
|
279
|
-
LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)";
|
|
280
|
-
LIBRARY_SEARCH_PATHS = (
|
|
281
|
-
"\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"",
|
|
282
|
-
"\"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)\"",
|
|
283
|
-
"\"$(inherited)\"",
|
|
284
|
-
);
|
|
285
|
-
MTL_ENABLE_DEBUG_INFO = NO;
|
|
286
|
-
SDKROOT = iphoneos;
|
|
287
|
-
VALIDATE_PRODUCT = YES;
|
|
288
|
-
};
|
|
289
|
-
name = Release;
|
|
290
|
-
};
|
|
291
|
-
58B511F01A9E6C8500147676 /* Debug */ = {
|
|
292
|
-
isa = XCBuildConfiguration;
|
|
293
|
-
buildSettings = {
|
|
294
|
-
CLANG_ENABLE_MODULES = YES;
|
|
295
|
-
HEADER_SEARCH_PATHS = (
|
|
296
|
-
"$(inherited)",
|
|
297
|
-
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
|
|
298
|
-
"$(SRCROOT)/../../../React/**",
|
|
299
|
-
"$(SRCROOT)/../../react-native/React/**",
|
|
300
|
-
);
|
|
301
|
-
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
|
302
|
-
LIBRARY_SEARCH_PATHS = "$(inherited)";
|
|
303
|
-
OTHER_LDFLAGS = "-ObjC";
|
|
304
|
-
PRODUCT_NAME = DashX;
|
|
305
|
-
SKIP_INSTALL = YES;
|
|
306
|
-
SWIFT_OBJC_BRIDGING_HEADER = "DashX-Bridging-Header.h";
|
|
307
|
-
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
|
308
|
-
SWIFT_VERSION = 5.0;
|
|
309
|
-
};
|
|
310
|
-
name = Debug;
|
|
311
|
-
};
|
|
312
|
-
58B511F11A9E6C8500147676 /* Release */ = {
|
|
313
|
-
isa = XCBuildConfiguration;
|
|
314
|
-
buildSettings = {
|
|
315
|
-
CLANG_ENABLE_MODULES = YES;
|
|
316
|
-
HEADER_SEARCH_PATHS = (
|
|
317
|
-
"$(inherited)",
|
|
318
|
-
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
|
|
319
|
-
"$(SRCROOT)/../../../React/**",
|
|
320
|
-
"$(SRCROOT)/../../react-native/React/**",
|
|
321
|
-
);
|
|
322
|
-
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
|
323
|
-
LIBRARY_SEARCH_PATHS = "$(inherited)";
|
|
324
|
-
OTHER_LDFLAGS = "-ObjC";
|
|
325
|
-
PRODUCT_NAME = DashX;
|
|
326
|
-
SKIP_INSTALL = YES;
|
|
327
|
-
SWIFT_OBJC_BRIDGING_HEADER = "DashX-Bridging-Header.h";
|
|
328
|
-
SWIFT_VERSION = 5.0;
|
|
329
|
-
};
|
|
330
|
-
name = Release;
|
|
331
|
-
};
|
|
332
|
-
/* End XCBuildConfiguration section */
|
|
333
|
-
|
|
334
|
-
/* Begin XCConfigurationList section */
|
|
335
|
-
58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "DashX" */ = {
|
|
336
|
-
isa = XCConfigurationList;
|
|
337
|
-
buildConfigurations = (
|
|
338
|
-
58B511ED1A9E6C8500147676 /* Debug */,
|
|
339
|
-
58B511EE1A9E6C8500147676 /* Release */,
|
|
340
|
-
);
|
|
341
|
-
defaultConfigurationIsVisible = 0;
|
|
342
|
-
defaultConfigurationName = Release;
|
|
343
|
-
};
|
|
344
|
-
58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "DashX" */ = {
|
|
345
|
-
isa = XCConfigurationList;
|
|
346
|
-
buildConfigurations = (
|
|
347
|
-
58B511F01A9E6C8500147676 /* Debug */,
|
|
348
|
-
58B511F11A9E6C8500147676 /* Release */,
|
|
349
|
-
);
|
|
350
|
-
defaultConfigurationIsVisible = 0;
|
|
351
|
-
defaultConfigurationName = Release;
|
|
352
|
-
};
|
|
353
|
-
/* End XCConfigurationList section */
|
|
354
|
-
};
|
|
355
|
-
rootObject = 58B511D31A9E6C8500147676 /* Project object */;
|
|
356
|
-
}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<Scheme
|
|
3
|
-
LastUpgradeVersion = "1160"
|
|
4
|
-
version = "1.3">
|
|
5
|
-
<BuildAction
|
|
6
|
-
parallelizeBuildables = "NO"
|
|
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 = "libDashX.a"
|
|
19
|
-
BlueprintName = "DashX"
|
|
20
|
-
ReferencedContainer = "container:DashX.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
|
-
</LaunchAction>
|
|
44
|
-
<ProfileAction
|
|
45
|
-
buildConfiguration = "Release"
|
|
46
|
-
shouldUseLaunchSchemeArgsEnv = "YES"
|
|
47
|
-
savedToolIdentifier = ""
|
|
48
|
-
useCustomWorkingDirectory = "NO"
|
|
49
|
-
debugDocumentVersioning = "YES">
|
|
50
|
-
<MacroExpansion>
|
|
51
|
-
<BuildableReference
|
|
52
|
-
BuildableIdentifier = "primary"
|
|
53
|
-
BlueprintIdentifier = "58B511DA1A9E6C8500147676"
|
|
54
|
-
BuildableName = "libDashX.a"
|
|
55
|
-
BlueprintName = "DashX"
|
|
56
|
-
ReferencedContainer = "container:DashX.xcodeproj">
|
|
57
|
-
</BuildableReference>
|
|
58
|
-
</MacroExpansion>
|
|
59
|
-
</ProfileAction>
|
|
60
|
-
<AnalyzeAction
|
|
61
|
-
buildConfiguration = "Debug">
|
|
62
|
-
</AnalyzeAction>
|
|
63
|
-
<ArchiveAction
|
|
64
|
-
buildConfiguration = "Release"
|
|
65
|
-
revealArchiveInOrganizer = "YES">
|
|
66
|
-
</ArchiveAction>
|
|
67
|
-
</Scheme>
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import Foundation
|
|
2
|
-
|
|
3
|
-
@objc(DashXAppDelegate)
|
|
4
|
-
class DashXAppDelegate: NSObject {
|
|
5
|
-
static func swizzleDidReceiveRemoteNotificationFetchCompletionHandler() {
|
|
6
|
-
// To remove the warning -[UIApplication delegate] must be called from main thread only
|
|
7
|
-
// and to call the UI controlling method from the main thread, use `DispatchQueue.main.async`
|
|
8
|
-
DispatchQueue.main.async {
|
|
9
|
-
let appDelegate = UIApplication.shared.delegate
|
|
10
|
-
let appDelegateClass: AnyClass? = object_getClass(appDelegate)
|
|
11
|
-
|
|
12
|
-
let originalSelector = #selector(UIApplicationDelegate.application(_:didReceiveRemoteNotification:fetchCompletionHandler:))
|
|
13
|
-
let swizzledSelector = #selector(DashXAppDelegate.self.handleMessage(_:didReceiveRemoteNotification:fetchCompletionHandler:))
|
|
14
|
-
|
|
15
|
-
guard let swizzledMethod = class_getInstanceMethod(DashXAppDelegate.self, swizzledSelector) else {
|
|
16
|
-
return
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
if let originalMethod = class_getInstanceMethod(appDelegateClass, originalSelector) {
|
|
20
|
-
// exchange implementation
|
|
21
|
-
method_exchangeImplementations(originalMethod, swizzledMethod)
|
|
22
|
-
} else {
|
|
23
|
-
// add implementation
|
|
24
|
-
class_addMethod(appDelegateClass, swizzledSelector, method_getImplementation(swizzledMethod), method_getTypeEncoding(swizzledMethod))
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
// Based on - https://firebase.google.com/docs/cloud-messaging/ios/receive
|
|
30
|
-
@objc
|
|
31
|
-
func handleMessage(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
|
|
32
|
-
DashXLog.d(tag: #function, "Received APN: \(userInfo)")
|
|
33
|
-
|
|
34
|
-
let state = UIApplication.shared.applicationState
|
|
35
|
-
// Do Nothing when app is in foreground
|
|
36
|
-
if state == .active {
|
|
37
|
-
completionHandler(.noData)
|
|
38
|
-
return
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
if let dashx = userInfo["dashx"] as? String {
|
|
42
|
-
let maybeDashxDictionary = dashx.convertToDictionary()
|
|
43
|
-
|
|
44
|
-
let notificationContent = UNMutableNotificationContent()
|
|
45
|
-
notificationContent.sound = UNNotificationSound.default
|
|
46
|
-
|
|
47
|
-
if let parsedDashxDictionary = maybeDashxDictionary {
|
|
48
|
-
guard let identifier = parsedDashxDictionary["id"] as? String else {
|
|
49
|
-
completionHandler(.newData)
|
|
50
|
-
// Do not handle non-DashX notifications
|
|
51
|
-
return
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
if let parsedTitle = parsedDashxDictionary["title"] as? String {
|
|
55
|
-
notificationContent.title = parsedTitle
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
if let parsedBody = parsedDashxDictionary["body"] as? String {
|
|
59
|
-
notificationContent.body = parsedBody
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
let request = UNNotificationRequest(identifier: identifier, content: notificationContent, trigger: nil)
|
|
63
|
-
let notificationCenter = UNUserNotificationCenter.current()
|
|
64
|
-
notificationCenter.add(request)
|
|
65
|
-
|
|
66
|
-
let data = ["data": userInfo]
|
|
67
|
-
DashXEventEmitter.instance.dispatch(name: "messageReceived", body: data)
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
completionHandler(.newData)
|
|
72
|
-
}
|
|
73
|
-
}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import Foundation
|
|
2
|
-
|
|
3
|
-
@objc(DashXApplicationLifecycleCallbacks)
|
|
4
|
-
class DashXApplicationLifecycleCallbacks: NSObject {
|
|
5
|
-
static let instance = DashXApplicationLifecycleCallbacks()
|
|
6
|
-
let dashXClient = DashXClient.instance
|
|
7
|
-
var startSession: Double?
|
|
8
|
-
|
|
9
|
-
func enable() {
|
|
10
|
-
let notificationCenter = NotificationCenter.default
|
|
11
|
-
|
|
12
|
-
notificationCenter.addObserver(self, selector: #selector(appBackgrounded), name: UIApplication.willResignActiveNotification, object: nil)
|
|
13
|
-
|
|
14
|
-
notificationCenter.addObserver(self, selector: #selector(appResumed), name: UIApplication.willEnterForegroundNotification, object: nil)
|
|
15
|
-
|
|
16
|
-
NSSetUncaughtExceptionHandler { exception in
|
|
17
|
-
DashXClient.instance.track(Constants.INTERNAL_EVENT_APP_CRASHED, withData: [ "exception": exception.reason ])
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
appOpened()
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
func getAppBuildInfo() -> [String: Any] {
|
|
24
|
-
let currentRelease = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as! String
|
|
25
|
-
let currentBuild = Bundle.main.object(forInfoDictionaryKey: "CFBundleVersion") as! String
|
|
26
|
-
return [ "version": currentRelease, "build": currentBuild ]
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
@objc
|
|
30
|
-
func appBackgrounded() {
|
|
31
|
-
let sessionLength = Date.timeIntervalSinceReferenceDate - startSession!
|
|
32
|
-
|
|
33
|
-
dashXClient.track(Constants.INTERNAL_EVENT_APP_BACKGROUNDED, withData: [ "session_length": sessionLength ])
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
@objc
|
|
37
|
-
func appOpened() {
|
|
38
|
-
startSession = Date.timeIntervalSinceReferenceDate
|
|
39
|
-
let defaults = UserDefaults.standard
|
|
40
|
-
let appVersionKey = Constants.USER_PREFERENCES_KEY_BUILD
|
|
41
|
-
let appBuildInfo = getAppBuildInfo()
|
|
42
|
-
let previousBuild = defaults.string(forKey: appVersionKey)
|
|
43
|
-
let currentBuild = appBuildInfo["build"] as! String
|
|
44
|
-
|
|
45
|
-
if previousBuild == nil {
|
|
46
|
-
dashXClient.track(Constants.INTERNAL_EVENT_APP_INSTALLED, withData: appBuildInfo as NSDictionary)
|
|
47
|
-
defaults.set(currentBuild, forKey: appVersionKey)
|
|
48
|
-
defaults.synchronize()
|
|
49
|
-
} else if previousBuild == currentBuild {
|
|
50
|
-
dashXClient.track(Constants.INTERNAL_EVENT_APP_OPENED, withData: appBuildInfo as NSDictionary)
|
|
51
|
-
} else {
|
|
52
|
-
dashXClient.track(Constants.INTERNAL_EVENT_APP_UPDATED, withData: appBuildInfo as NSDictionary)
|
|
53
|
-
defaults.set(currentBuild, forKey: appVersionKey)
|
|
54
|
-
defaults.synchronize()
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
@objc
|
|
59
|
-
func appResumed() {
|
|
60
|
-
startSession = Date.timeIntervalSinceReferenceDate
|
|
61
|
-
let properties = getAppBuildInfo().merging([ "from_background": true ]) { (current, _) in current }
|
|
62
|
-
|
|
63
|
-
dashXClient.track(Constants.INTERNAL_EVENT_APP_OPENED, withData: properties as NSDictionary)
|
|
64
|
-
}
|
|
65
|
-
}
|