Dimitris Togias

reorg xcode workspace project

Showing 273 changed files with 6510 additions and 1304 deletions
1 +// !$*UTF8*$!
2 +{
3 + archiveVersion = 1;
4 + classes = {
5 + };
6 + objectVersion = 55;
7 + objects = {
8 +
9 +/* Begin PBXBuildFile section */
10 + 1E72D24F283644900005576C /* CouponBarcodeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E72D24E2836448F0005576C /* CouponBarcodeViewController.swift */; };
11 + 1E7536772822C90D00149CC9 /* CouponsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E7536762822C90D00149CC9 /* CouponsViewController.swift */; };
12 + 1E7564B62823B27100B9D2AE /* CouponViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E7564B52823B27000B9D2AE /* CouponViewController.swift */; };
13 + 1E7564B82823C4B700B9D2AE /* ViewControllerExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E7564B72823C4B700B9D2AE /* ViewControllerExtensions.swift */; };
14 + 1E7564BE2824098200B9D2AE /* GiftsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E7564BD2824098200B9D2AE /* GiftsViewController.swift */; };
15 + 1EA1AF0C28353E3F008998AA /* CampaignWebviewViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EA1AF0B28353E3F008998AA /* CampaignWebviewViewController.swift */; };
16 + 1EA2BB7B2865C7B8003F2AB0 /* MFYViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EA2BB7A2865C7B8003F2AB0 /* MFYViewController.swift */; };
17 + 1EA94CCF2864B3F200BB1EB7 /* InboxTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EA94CCE2864B3F200BB1EB7 /* InboxTableViewCell.swift */; };
18 + 1EAE155F286225FA00709597 /* WalletViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EAE155E286225FA00709597 /* WalletViewController.swift */; };
19 + 1EB5F4C628536EEB0016F36E /* StepsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EB5F4C528536EEB0016F36E /* StepsViewController.swift */; };
20 + 1EB5F4CC285371C70016F36E /* LoyaltyAnalysisViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EB5F4CB285371C70016F36E /* LoyaltyAnalysisViewController.swift */; };
21 + 1EBE971F2865CF820080EFF7 /* MFYInboxTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EBE971E2865CF820080EFF7 /* MFYInboxTableViewCell.swift */; };
22 + 1EBEAFFD280D5C7700BF802C /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EBEAFFC280D5C7700BF802C /* AppDelegate.swift */; };
23 + 1EBEAFFF280D5C7700BF802C /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EBEAFFE280D5C7700BF802C /* SceneDelegate.swift */; };
24 + 1EBEB001280D5C7700BF802C /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EBEB000280D5C7700BF802C /* ViewController.swift */; };
25 + 1EBEB004280D5C7700BF802C /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1EBEB002280D5C7700BF802C /* Main.storyboard */; };
26 + 1EBEB006280D5C7B00BF802C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1EBEB005280D5C7B00BF802C /* Assets.xcassets */; };
27 + 1EBEB009280D5C7B00BF802C /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1EBEB007280D5C7B00BF802C /* LaunchScreen.storyboard */; };
28 + 1EBEB014280D5C7B00BF802C /* swift_exampleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EBEB013280D5C7B00BF802C /* swift_exampleTests.swift */; };
29 + 1EBEB01E280D5C7B00BF802C /* swift_exampleUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EBEB01D280D5C7B00BF802C /* swift_exampleUITests.swift */; };
30 + 1EBEB020280D5C7B00BF802C /* swift_exampleUITestsLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EBEB01F280D5C7B00BF802C /* swift_exampleUITestsLaunchTests.swift */; };
31 + 1ECB85AE287C0C9B000BC3FE /* iOS_ccms_offers.json in Resources */ = {isa = PBXBuildFile; fileRef = 1ECB85AD287C0C9B000BC3FE /* iOS_ccms_offers.json */; };
32 + A0E24192288B2CCA0063BB15 /* CouponsTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0E24191288B2CCA0063BB15 /* CouponsTableViewCell.swift */; };
33 + A0E24194288B2CD70063BB15 /* SwiftWarplyFramework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A0E24193288B2CD70063BB15 /* SwiftWarplyFramework.framework */; };
34 + A0E24195288B2CD70063BB15 /* SwiftWarplyFramework.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = A0E24193288B2CD70063BB15 /* SwiftWarplyFramework.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
35 +/* End PBXBuildFile section */
36 +
37 +/* Begin PBXContainerItemProxy section */
38 + 1EBEB010280D5C7B00BF802C /* PBXContainerItemProxy */ = {
39 + isa = PBXContainerItemProxy;
40 + containerPortal = 1EBEAFF1280D5C7700BF802C /* Project object */;
41 + proxyType = 1;
42 + remoteGlobalIDString = 1EBEAFF8280D5C7700BF802C;
43 + remoteInfo = swift_example;
44 + };
45 + 1EBEB01A280D5C7B00BF802C /* PBXContainerItemProxy */ = {
46 + isa = PBXContainerItemProxy;
47 + containerPortal = 1EBEAFF1280D5C7700BF802C /* Project object */;
48 + proxyType = 1;
49 + remoteGlobalIDString = 1EBEAFF8280D5C7700BF802C;
50 + remoteInfo = swift_example;
51 + };
52 +/* End PBXContainerItemProxy section */
53 +
54 +/* Begin PBXCopyFilesBuildPhase section */
55 + A0E24196288B2CD70063BB15 /* Embed Frameworks */ = {
56 + isa = PBXCopyFilesBuildPhase;
57 + buildActionMask = 2147483647;
58 + dstPath = "";
59 + dstSubfolderSpec = 10;
60 + files = (
61 + A0E24195288B2CD70063BB15 /* SwiftWarplyFramework.framework in Embed Frameworks */,
62 + );
63 + name = "Embed Frameworks";
64 + runOnlyForDeploymentPostprocessing = 0;
65 + };
66 +/* End PBXCopyFilesBuildPhase section */
67 +
68 +/* Begin PBXFileReference section */
69 + 1E72D24E2836448F0005576C /* CouponBarcodeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = CouponBarcodeViewController.swift; path = ViewControllers/CouponBarcodeViewController.swift; sourceTree = "<group>"; };
70 + 1E7536762822C90D00149CC9 /* CouponsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = CouponsViewController.swift; path = ViewControllers/CouponsViewController.swift; sourceTree = "<group>"; };
71 + 1E7564B52823B27000B9D2AE /* CouponViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = CouponViewController.swift; path = ViewControllers/CouponViewController.swift; sourceTree = "<group>"; };
72 + 1E7564B72823C4B700B9D2AE /* ViewControllerExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewControllerExtensions.swift; sourceTree = "<group>"; };
73 + 1E7564BD2824098200B9D2AE /* GiftsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = GiftsViewController.swift; path = ViewControllers/GiftsViewController.swift; sourceTree = "<group>"; };
74 + 1EA1AF0B28353E3F008998AA /* CampaignWebviewViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = CampaignWebviewViewController.swift; path = ViewControllers/CampaignWebviewViewController.swift; sourceTree = "<group>"; };
75 + 1EA2BB7A2865C7B8003F2AB0 /* MFYViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MFYViewController.swift; path = ViewControllers/MFYViewController.swift; sourceTree = "<group>"; };
76 + 1EA94CCE2864B3F200BB1EB7 /* InboxTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = InboxTableViewCell.swift; path = ViewControllers/InboxTableViewCell.swift; sourceTree = "<group>"; };
77 + 1EAE155E286225FA00709597 /* WalletViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = WalletViewController.swift; path = ViewControllers/WalletViewController.swift; sourceTree = "<group>"; };
78 + 1EB5F4C528536EEB0016F36E /* StepsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = StepsViewController.swift; path = ViewControllers/StepsViewController.swift; sourceTree = "<group>"; };
79 + 1EB5F4CB285371C70016F36E /* LoyaltyAnalysisViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LoyaltyAnalysisViewController.swift; path = ViewControllers/LoyaltyAnalysisViewController.swift; sourceTree = "<group>"; };
80 + 1EBE971E2865CF820080EFF7 /* MFYInboxTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MFYInboxTableViewCell.swift; path = ViewControllers/MFYInboxTableViewCell.swift; sourceTree = "<group>"; };
81 + 1EBEAFF9280D5C7700BF802C /* Demo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Demo.app; sourceTree = BUILT_PRODUCTS_DIR; };
82 + 1EBEAFFC280D5C7700BF802C /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
83 + 1EBEAFFE280D5C7700BF802C /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; };
84 + 1EBEB000280D5C7700BF802C /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
85 + 1EBEB003280D5C7700BF802C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
86 + 1EBEB005280D5C7B00BF802C /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
87 + 1EBEB008280D5C7B00BF802C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
88 + 1EBEB00A280D5C7B00BF802C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
89 + 1EBEB00F280D5C7B00BF802C /* DemoTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = DemoTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
90 + 1EBEB013280D5C7B00BF802C /* swift_exampleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = swift_exampleTests.swift; sourceTree = "<group>"; };
91 + 1EBEB019280D5C7B00BF802C /* DemoUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = DemoUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
92 + 1EBEB01D280D5C7B00BF802C /* swift_exampleUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = swift_exampleUITests.swift; sourceTree = "<group>"; };
93 + 1EBEB01F280D5C7B00BF802C /* swift_exampleUITestsLaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = swift_exampleUITestsLaunchTests.swift; sourceTree = "<group>"; };
94 + 1ECB85AD287C0C9B000BC3FE /* iOS_ccms_offers.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = iOS_ccms_offers.json; sourceTree = "<group>"; };
95 + A0E24191288B2CCA0063BB15 /* CouponsTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = CouponsTableViewCell.swift; path = ViewControllers/CouponsTableViewCell.swift; sourceTree = "<group>"; };
96 + A0E24193288B2CD70063BB15 /* SwiftWarplyFramework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = SwiftWarplyFramework.framework; sourceTree = BUILT_PRODUCTS_DIR; };
97 +/* End PBXFileReference section */
98 +
99 +/* Begin PBXFrameworksBuildPhase section */
100 + 1EBEAFF6280D5C7700BF802C /* Frameworks */ = {
101 + isa = PBXFrameworksBuildPhase;
102 + buildActionMask = 2147483647;
103 + files = (
104 + A0E24194288B2CD70063BB15 /* SwiftWarplyFramework.framework in Frameworks */,
105 + );
106 + runOnlyForDeploymentPostprocessing = 0;
107 + };
108 + 1EBEB00C280D5C7B00BF802C /* Frameworks */ = {
109 + isa = PBXFrameworksBuildPhase;
110 + buildActionMask = 2147483647;
111 + files = (
112 + );
113 + runOnlyForDeploymentPostprocessing = 0;
114 + };
115 + 1EBEB016280D5C7B00BF802C /* Frameworks */ = {
116 + isa = PBXFrameworksBuildPhase;
117 + buildActionMask = 2147483647;
118 + files = (
119 + );
120 + runOnlyForDeploymentPostprocessing = 0;
121 + };
122 +/* End PBXFrameworksBuildPhase section */
123 +
124 +/* Begin PBXGroup section */
125 + 1EBEAFF0280D5C7700BF802C = {
126 + isa = PBXGroup;
127 + children = (
128 + 1EBEAFFB280D5C7700BF802C /* Demo */,
129 + 1EBEB012280D5C7B00BF802C /* DemoTests */,
130 + 1EBEB01C280D5C7B00BF802C /* DemoUITests */,
131 + 1EBEAFFA280D5C7700BF802C /* Products */,
132 + 485C722C6BBE9EBD27165C95 /* Frameworks */,
133 + );
134 + sourceTree = "<group>";
135 + };
136 + 1EBEAFFA280D5C7700BF802C /* Products */ = {
137 + isa = PBXGroup;
138 + children = (
139 + 1EBEAFF9280D5C7700BF802C /* Demo.app */,
140 + 1EBEB00F280D5C7B00BF802C /* DemoTests.xctest */,
141 + 1EBEB019280D5C7B00BF802C /* DemoUITests.xctest */,
142 + );
143 + name = Products;
144 + sourceTree = "<group>";
145 + };
146 + 1EBEAFFB280D5C7700BF802C /* Demo */ = {
147 + isa = PBXGroup;
148 + children = (
149 + A0E24191288B2CCA0063BB15 /* CouponsTableViewCell.swift */,
150 + 1ECB85AD287C0C9B000BC3FE /* iOS_ccms_offers.json */,
151 + 1EA2BB7A2865C7B8003F2AB0 /* MFYViewController.swift */,
152 + 1EA94CCE2864B3F200BB1EB7 /* InboxTableViewCell.swift */,
153 + 1EAE155E286225FA00709597 /* WalletViewController.swift */,
154 + 1EBEAFFC280D5C7700BF802C /* AppDelegate.swift */,
155 + 1EBEAFFE280D5C7700BF802C /* SceneDelegate.swift */,
156 + 1EBEB000280D5C7700BF802C /* ViewController.swift */,
157 + 1EBEB002280D5C7700BF802C /* Main.storyboard */,
158 + 1EBE971E2865CF820080EFF7 /* MFYInboxTableViewCell.swift */,
159 + 1EB5F4CB285371C70016F36E /* LoyaltyAnalysisViewController.swift */,
160 + 1EB5F4C528536EEB0016F36E /* StepsViewController.swift */,
161 + 1E72D24E2836448F0005576C /* CouponBarcodeViewController.swift */,
162 + 1EA1AF0B28353E3F008998AA /* CampaignWebviewViewController.swift */,
163 + 1E7564BD2824098200B9D2AE /* GiftsViewController.swift */,
164 + 1E7536762822C90D00149CC9 /* CouponsViewController.swift */,
165 + 1E7564B52823B27000B9D2AE /* CouponViewController.swift */,
166 + 1E7564B72823C4B700B9D2AE /* ViewControllerExtensions.swift */,
167 + 1EBEB005280D5C7B00BF802C /* Assets.xcassets */,
168 + 1EBEB007280D5C7B00BF802C /* LaunchScreen.storyboard */,
169 + 1EBEB00A280D5C7B00BF802C /* Info.plist */,
170 + );
171 + path = Demo;
172 + sourceTree = "<group>";
173 + };
174 + 1EBEB012280D5C7B00BF802C /* DemoTests */ = {
175 + isa = PBXGroup;
176 + children = (
177 + 1EBEB013280D5C7B00BF802C /* swift_exampleTests.swift */,
178 + );
179 + path = DemoTests;
180 + sourceTree = "<group>";
181 + };
182 + 1EBEB01C280D5C7B00BF802C /* DemoUITests */ = {
183 + isa = PBXGroup;
184 + children = (
185 + 1EBEB01D280D5C7B00BF802C /* swift_exampleUITests.swift */,
186 + 1EBEB01F280D5C7B00BF802C /* swift_exampleUITestsLaunchTests.swift */,
187 + );
188 + path = DemoUITests;
189 + sourceTree = "<group>";
190 + };
191 + 485C722C6BBE9EBD27165C95 /* Frameworks */ = {
192 + isa = PBXGroup;
193 + children = (
194 + A0E24193288B2CD70063BB15 /* SwiftWarplyFramework.framework */,
195 + );
196 + name = Frameworks;
197 + sourceTree = "<group>";
198 + };
199 +/* End PBXGroup section */
200 +
201 +/* Begin PBXNativeTarget section */
202 + 1EBEAFF8280D5C7700BF802C /* Demo */ = {
203 + isa = PBXNativeTarget;
204 + buildConfigurationList = 1EBEB023280D5C7B00BF802C /* Build configuration list for PBXNativeTarget "Demo" */;
205 + buildPhases = (
206 + 1EBEAFF5280D5C7700BF802C /* Sources */,
207 + 1EBEAFF6280D5C7700BF802C /* Frameworks */,
208 + 1EBEAFF7280D5C7700BF802C /* Resources */,
209 + A0E24196288B2CD70063BB15 /* Embed Frameworks */,
210 + );
211 + buildRules = (
212 + );
213 + dependencies = (
214 + );
215 + name = Demo;
216 + packageProductDependencies = (
217 + );
218 + productName = swift_example;
219 + productReference = 1EBEAFF9280D5C7700BF802C /* Demo.app */;
220 + productType = "com.apple.product-type.application";
221 + };
222 + 1EBEB00E280D5C7B00BF802C /* DemoTests */ = {
223 + isa = PBXNativeTarget;
224 + buildConfigurationList = 1EBEB026280D5C7B00BF802C /* Build configuration list for PBXNativeTarget "DemoTests" */;
225 + buildPhases = (
226 + 2E1D9394A7D3F1B916891516 /* [CP] Check Pods Manifest.lock */,
227 + 1EBEB00B280D5C7B00BF802C /* Sources */,
228 + 1EBEB00C280D5C7B00BF802C /* Frameworks */,
229 + 1EBEB00D280D5C7B00BF802C /* Resources */,
230 + );
231 + buildRules = (
232 + );
233 + dependencies = (
234 + 1EBEB011280D5C7B00BF802C /* PBXTargetDependency */,
235 + );
236 + name = DemoTests;
237 + productName = swift_exampleTests;
238 + productReference = 1EBEB00F280D5C7B00BF802C /* DemoTests.xctest */;
239 + productType = "com.apple.product-type.bundle.unit-test";
240 + };
241 + 1EBEB018280D5C7B00BF802C /* DemoUITests */ = {
242 + isa = PBXNativeTarget;
243 + buildConfigurationList = 1EBEB029280D5C7B00BF802C /* Build configuration list for PBXNativeTarget "DemoUITests" */;
244 + buildPhases = (
245 + 74F5B673BFD335A51E6543F5 /* [CP] Check Pods Manifest.lock */,
246 + 1EBEB015280D5C7B00BF802C /* Sources */,
247 + 1EBEB016280D5C7B00BF802C /* Frameworks */,
248 + 1EBEB017280D5C7B00BF802C /* Resources */,
249 + DB23C2415C1061659E197C57 /* [CP] Embed Pods Frameworks */,
250 + );
251 + buildRules = (
252 + );
253 + dependencies = (
254 + 1EBEB01B280D5C7B00BF802C /* PBXTargetDependency */,
255 + );
256 + name = DemoUITests;
257 + productName = swift_exampleUITests;
258 + productReference = 1EBEB019280D5C7B00BF802C /* DemoUITests.xctest */;
259 + productType = "com.apple.product-type.bundle.ui-testing";
260 + };
261 +/* End PBXNativeTarget section */
262 +
263 +/* Begin PBXProject section */
264 + 1EBEAFF1280D5C7700BF802C /* Project object */ = {
265 + isa = PBXProject;
266 + attributes = {
267 + BuildIndependentTargetsInParallel = 1;
268 + LastSwiftUpdateCheck = 1310;
269 + LastUpgradeCheck = 1310;
270 + TargetAttributes = {
271 + 1EBEAFF8280D5C7700BF802C = {
272 + CreatedOnToolsVersion = 13.1;
273 + };
274 + 1EBEB00E280D5C7B00BF802C = {
275 + CreatedOnToolsVersion = 13.1;
276 + TestTargetID = 1EBEAFF8280D5C7700BF802C;
277 + };
278 + 1EBEB018280D5C7B00BF802C = {
279 + CreatedOnToolsVersion = 13.1;
280 + TestTargetID = 1EBEAFF8280D5C7700BF802C;
281 + };
282 + };
283 + };
284 + buildConfigurationList = 1EBEAFF4280D5C7700BF802C /* Build configuration list for PBXProject "Demo" */;
285 + compatibilityVersion = "Xcode 13.0";
286 + developmentRegion = en;
287 + hasScannedForEncodings = 0;
288 + knownRegions = (
289 + en,
290 + Base,
291 + );
292 + mainGroup = 1EBEAFF0280D5C7700BF802C;
293 + packageReferences = (
294 + );
295 + productRefGroup = 1EBEAFFA280D5C7700BF802C /* Products */;
296 + projectDirPath = "";
297 + projectRoot = "";
298 + targets = (
299 + 1EBEAFF8280D5C7700BF802C /* Demo */,
300 + 1EBEB00E280D5C7B00BF802C /* DemoTests */,
301 + 1EBEB018280D5C7B00BF802C /* DemoUITests */,
302 + );
303 + };
304 +/* End PBXProject section */
305 +
306 +/* Begin PBXResourcesBuildPhase section */
307 + 1EBEAFF7280D5C7700BF802C /* Resources */ = {
308 + isa = PBXResourcesBuildPhase;
309 + buildActionMask = 2147483647;
310 + files = (
311 + 1ECB85AE287C0C9B000BC3FE /* iOS_ccms_offers.json in Resources */,
312 + 1EBEB009280D5C7B00BF802C /* LaunchScreen.storyboard in Resources */,
313 + 1EBEB006280D5C7B00BF802C /* Assets.xcassets in Resources */,
314 + 1EBEB004280D5C7700BF802C /* Main.storyboard in Resources */,
315 + );
316 + runOnlyForDeploymentPostprocessing = 0;
317 + };
318 + 1EBEB00D280D5C7B00BF802C /* Resources */ = {
319 + isa = PBXResourcesBuildPhase;
320 + buildActionMask = 2147483647;
321 + files = (
322 + );
323 + runOnlyForDeploymentPostprocessing = 0;
324 + };
325 + 1EBEB017280D5C7B00BF802C /* Resources */ = {
326 + isa = PBXResourcesBuildPhase;
327 + buildActionMask = 2147483647;
328 + files = (
329 + );
330 + runOnlyForDeploymentPostprocessing = 0;
331 + };
332 +/* End PBXResourcesBuildPhase section */
333 +
334 +/* Begin PBXShellScriptBuildPhase section */
335 + 2E1D9394A7D3F1B916891516 /* [CP] Check Pods Manifest.lock */ = {
336 + isa = PBXShellScriptBuildPhase;
337 + buildActionMask = 2147483647;
338 + files = (
339 + );
340 + inputFileListPaths = (
341 + );
342 + inputPaths = (
343 + "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
344 + "${PODS_ROOT}/Manifest.lock",
345 + );
346 + name = "[CP] Check Pods Manifest.lock";
347 + outputFileListPaths = (
348 + );
349 + outputPaths = (
350 + "$(DERIVED_FILE_DIR)/Pods-swift_exampleTests-checkManifestLockResult.txt",
351 + );
352 + runOnlyForDeploymentPostprocessing = 0;
353 + shellPath = /bin/sh;
354 + 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";
355 + showEnvVarsInLog = 0;
356 + };
357 + 74F5B673BFD335A51E6543F5 /* [CP] Check Pods Manifest.lock */ = {
358 + isa = PBXShellScriptBuildPhase;
359 + buildActionMask = 2147483647;
360 + files = (
361 + );
362 + inputFileListPaths = (
363 + );
364 + inputPaths = (
365 + "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
366 + "${PODS_ROOT}/Manifest.lock",
367 + );
368 + name = "[CP] Check Pods Manifest.lock";
369 + outputFileListPaths = (
370 + );
371 + outputPaths = (
372 + "$(DERIVED_FILE_DIR)/Pods-swift_example-swift_exampleUITests-checkManifestLockResult.txt",
373 + );
374 + runOnlyForDeploymentPostprocessing = 0;
375 + shellPath = /bin/sh;
376 + 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";
377 + showEnvVarsInLog = 0;
378 + };
379 + DB23C2415C1061659E197C57 /* [CP] Embed Pods Frameworks */ = {
380 + isa = PBXShellScriptBuildPhase;
381 + buildActionMask = 2147483647;
382 + files = (
383 + );
384 + inputFileListPaths = (
385 + "${PODS_ROOT}/Target Support Files/Pods-swift_example-swift_exampleUITests/Pods-swift_example-swift_exampleUITests-frameworks-${CONFIGURATION}-input-files.xcfilelist",
386 + );
387 + name = "[CP] Embed Pods Frameworks";
388 + outputFileListPaths = (
389 + "${PODS_ROOT}/Target Support Files/Pods-swift_example-swift_exampleUITests/Pods-swift_example-swift_exampleUITests-frameworks-${CONFIGURATION}-output-files.xcfilelist",
390 + );
391 + runOnlyForDeploymentPostprocessing = 0;
392 + shellPath = /bin/sh;
393 + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-swift_example-swift_exampleUITests/Pods-swift_example-swift_exampleUITests-frameworks.sh\"\n";
394 + showEnvVarsInLog = 0;
395 + };
396 +/* End PBXShellScriptBuildPhase section */
397 +
398 +/* Begin PBXSourcesBuildPhase section */
399 + 1EBEAFF5280D5C7700BF802C /* Sources */ = {
400 + isa = PBXSourcesBuildPhase;
401 + buildActionMask = 2147483647;
402 + files = (
403 + 1E7536772822C90D00149CC9 /* CouponsViewController.swift in Sources */,
404 + 1EBEB001280D5C7700BF802C /* ViewController.swift in Sources */,
405 + 1E7564BE2824098200B9D2AE /* GiftsViewController.swift in Sources */,
406 + 1E7564B62823B27100B9D2AE /* CouponViewController.swift in Sources */,
407 + 1EAE155F286225FA00709597 /* WalletViewController.swift in Sources */,
408 + 1EBE971F2865CF820080EFF7 /* MFYInboxTableViewCell.swift in Sources */,
409 + 1EBEAFFD280D5C7700BF802C /* AppDelegate.swift in Sources */,
410 + 1E7564B82823C4B700B9D2AE /* ViewControllerExtensions.swift in Sources */,
411 + 1EBEAFFF280D5C7700BF802C /* SceneDelegate.swift in Sources */,
412 + 1EA94CCF2864B3F200BB1EB7 /* InboxTableViewCell.swift in Sources */,
413 + 1EB5F4C628536EEB0016F36E /* StepsViewController.swift in Sources */,
414 + 1EA2BB7B2865C7B8003F2AB0 /* MFYViewController.swift in Sources */,
415 + 1E72D24F283644900005576C /* CouponBarcodeViewController.swift in Sources */,
416 + 1EA1AF0C28353E3F008998AA /* CampaignWebviewViewController.swift in Sources */,
417 + 1EB5F4CC285371C70016F36E /* LoyaltyAnalysisViewController.swift in Sources */,
418 + A0E24192288B2CCA0063BB15 /* CouponsTableViewCell.swift in Sources */,
419 + );
420 + runOnlyForDeploymentPostprocessing = 0;
421 + };
422 + 1EBEB00B280D5C7B00BF802C /* Sources */ = {
423 + isa = PBXSourcesBuildPhase;
424 + buildActionMask = 2147483647;
425 + files = (
426 + 1EBEB014280D5C7B00BF802C /* swift_exampleTests.swift in Sources */,
427 + );
428 + runOnlyForDeploymentPostprocessing = 0;
429 + };
430 + 1EBEB015280D5C7B00BF802C /* Sources */ = {
431 + isa = PBXSourcesBuildPhase;
432 + buildActionMask = 2147483647;
433 + files = (
434 + 1EBEB01E280D5C7B00BF802C /* swift_exampleUITests.swift in Sources */,
435 + 1EBEB020280D5C7B00BF802C /* swift_exampleUITestsLaunchTests.swift in Sources */,
436 + );
437 + runOnlyForDeploymentPostprocessing = 0;
438 + };
439 +/* End PBXSourcesBuildPhase section */
440 +
441 +/* Begin PBXTargetDependency section */
442 + 1EBEB011280D5C7B00BF802C /* PBXTargetDependency */ = {
443 + isa = PBXTargetDependency;
444 + target = 1EBEAFF8280D5C7700BF802C /* Demo */;
445 + targetProxy = 1EBEB010280D5C7B00BF802C /* PBXContainerItemProxy */;
446 + };
447 + 1EBEB01B280D5C7B00BF802C /* PBXTargetDependency */ = {
448 + isa = PBXTargetDependency;
449 + target = 1EBEAFF8280D5C7700BF802C /* Demo */;
450 + targetProxy = 1EBEB01A280D5C7B00BF802C /* PBXContainerItemProxy */;
451 + };
452 +/* End PBXTargetDependency section */
453 +
454 +/* Begin PBXVariantGroup section */
455 + 1EBEB002280D5C7700BF802C /* Main.storyboard */ = {
456 + isa = PBXVariantGroup;
457 + children = (
458 + 1EBEB003280D5C7700BF802C /* Base */,
459 + );
460 + name = Main.storyboard;
461 + sourceTree = "<group>";
462 + };
463 + 1EBEB007280D5C7B00BF802C /* LaunchScreen.storyboard */ = {
464 + isa = PBXVariantGroup;
465 + children = (
466 + 1EBEB008280D5C7B00BF802C /* Base */,
467 + );
468 + name = LaunchScreen.storyboard;
469 + sourceTree = "<group>";
470 + };
471 +/* End PBXVariantGroup section */
472 +
473 +/* Begin XCBuildConfiguration section */
474 + 1EBEB021280D5C7B00BF802C /* Debug */ = {
475 + isa = XCBuildConfiguration;
476 + buildSettings = {
477 + ALWAYS_SEARCH_USER_PATHS = NO;
478 + CLANG_ANALYZER_NONNULL = YES;
479 + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
480 + CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
481 + CLANG_CXX_LIBRARY = "libc++";
482 + CLANG_ENABLE_MODULES = YES;
483 + CLANG_ENABLE_OBJC_ARC = YES;
484 + CLANG_ENABLE_OBJC_WEAK = YES;
485 + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
486 + CLANG_WARN_BOOL_CONVERSION = YES;
487 + CLANG_WARN_COMMA = YES;
488 + CLANG_WARN_CONSTANT_CONVERSION = YES;
489 + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
490 + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
491 + CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
492 + CLANG_WARN_EMPTY_BODY = YES;
493 + CLANG_WARN_ENUM_CONVERSION = YES;
494 + CLANG_WARN_INFINITE_RECURSION = YES;
495 + CLANG_WARN_INT_CONVERSION = YES;
496 + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
497 + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
498 + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
499 + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
500 + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
501 + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
502 + CLANG_WARN_STRICT_PROTOTYPES = YES;
503 + CLANG_WARN_SUSPICIOUS_MOVE = YES;
504 + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
505 + CLANG_WARN_UNREACHABLE_CODE = YES;
506 + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
507 + COPY_PHASE_STRIP = NO;
508 + DEBUG_INFORMATION_FORMAT = dwarf;
509 + ENABLE_BITCODE = NO;
510 + ENABLE_STRICT_OBJC_MSGSEND = YES;
511 + ENABLE_TESTABILITY = YES;
512 + GCC_C_LANGUAGE_STANDARD = gnu11;
513 + GCC_DYNAMIC_NO_PIC = NO;
514 + GCC_NO_COMMON_BLOCKS = YES;
515 + GCC_OPTIMIZATION_LEVEL = 0;
516 + GCC_PREPROCESSOR_DEFINITIONS = (
517 + "DEBUG=1",
518 + "$(inherited)",
519 + );
520 + GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
521 + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
522 + GCC_WARN_UNDECLARED_SELECTOR = YES;
523 + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
524 + GCC_WARN_UNUSED_FUNCTION = YES;
525 + GCC_WARN_UNUSED_VARIABLE = YES;
526 + IPHONEOS_DEPLOYMENT_TARGET = 15.0;
527 + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
528 + MTL_FAST_MATH = YES;
529 + ONLY_ACTIVE_ARCH = YES;
530 + OTHER_CFLAGS = "";
531 + SDKROOT = iphoneos;
532 + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
533 + SWIFT_OPTIMIZATION_LEVEL = "-Onone";
534 + };
535 + name = Debug;
536 + };
537 + 1EBEB022280D5C7B00BF802C /* Release */ = {
538 + isa = XCBuildConfiguration;
539 + buildSettings = {
540 + ALWAYS_SEARCH_USER_PATHS = NO;
541 + CLANG_ANALYZER_NONNULL = YES;
542 + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
543 + CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
544 + CLANG_CXX_LIBRARY = "libc++";
545 + CLANG_ENABLE_MODULES = YES;
546 + CLANG_ENABLE_OBJC_ARC = YES;
547 + CLANG_ENABLE_OBJC_WEAK = YES;
548 + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
549 + CLANG_WARN_BOOL_CONVERSION = YES;
550 + CLANG_WARN_COMMA = YES;
551 + CLANG_WARN_CONSTANT_CONVERSION = YES;
552 + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
553 + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
554 + CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
555 + CLANG_WARN_EMPTY_BODY = YES;
556 + CLANG_WARN_ENUM_CONVERSION = YES;
557 + CLANG_WARN_INFINITE_RECURSION = YES;
558 + CLANG_WARN_INT_CONVERSION = YES;
559 + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
560 + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
561 + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
562 + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
563 + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
564 + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
565 + CLANG_WARN_STRICT_PROTOTYPES = YES;
566 + CLANG_WARN_SUSPICIOUS_MOVE = YES;
567 + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
568 + CLANG_WARN_UNREACHABLE_CODE = YES;
569 + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
570 + COPY_PHASE_STRIP = NO;
571 + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
572 + ENABLE_BITCODE = NO;
573 + ENABLE_NS_ASSERTIONS = NO;
574 + ENABLE_STRICT_OBJC_MSGSEND = YES;
575 + GCC_C_LANGUAGE_STANDARD = gnu11;
576 + GCC_NO_COMMON_BLOCKS = YES;
577 + GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
578 + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
579 + GCC_WARN_UNDECLARED_SELECTOR = YES;
580 + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
581 + GCC_WARN_UNUSED_FUNCTION = YES;
582 + GCC_WARN_UNUSED_VARIABLE = YES;
583 + IPHONEOS_DEPLOYMENT_TARGET = 15.0;
584 + MTL_ENABLE_DEBUG_INFO = NO;
585 + MTL_FAST_MATH = YES;
586 + OTHER_CFLAGS = "";
587 + SDKROOT = iphoneos;
588 + SWIFT_COMPILATION_MODE = wholemodule;
589 + SWIFT_OPTIMIZATION_LEVEL = "-O";
590 + VALIDATE_PRODUCT = YES;
591 + };
592 + name = Release;
593 + };
594 + 1EBEB024280D5C7B00BF802C /* Debug */ = {
595 + isa = XCBuildConfiguration;
596 + buildSettings = {
597 + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
598 + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
599 + CODE_SIGN_STYLE = Automatic;
600 + CURRENT_PROJECT_VERSION = 1;
601 + DEVELOPMENT_TEAM = VW5AF53FLP;
602 + GENERATE_INFOPLIST_FILE = YES;
603 + INFOPLIST_FILE = swift_example/Info.plist;
604 + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
605 + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
606 + INFOPLIST_KEY_UIMainStoryboardFile = Main;
607 + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
608 + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
609 + IPHONEOS_DEPLOYMENT_TARGET = 13.0;
610 + LD_RUNPATH_SEARCH_PATHS = (
611 + "$(inherited)",
612 + "@executable_path/Frameworks",
613 + );
614 + MARKETING_VERSION = 1.0;
615 + PRODUCT_BUNDLE_IDENTIFIER = "swift.example.warply.ly.swift-example";
616 + PRODUCT_NAME = "$(TARGET_NAME)";
617 + SWIFT_EMIT_LOC_STRINGS = YES;
618 + SWIFT_VERSION = 5.0;
619 + TARGETED_DEVICE_FAMILY = "1,2";
620 + };
621 + name = Debug;
622 + };
623 + 1EBEB025280D5C7B00BF802C /* Release */ = {
624 + isa = XCBuildConfiguration;
625 + buildSettings = {
626 + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
627 + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
628 + CODE_SIGN_STYLE = Automatic;
629 + CURRENT_PROJECT_VERSION = 1;
630 + DEVELOPMENT_TEAM = VW5AF53FLP;
631 + GENERATE_INFOPLIST_FILE = YES;
632 + INFOPLIST_FILE = swift_example/Info.plist;
633 + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
634 + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
635 + INFOPLIST_KEY_UIMainStoryboardFile = Main;
636 + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
637 + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
638 + IPHONEOS_DEPLOYMENT_TARGET = 13.0;
639 + LD_RUNPATH_SEARCH_PATHS = (
640 + "$(inherited)",
641 + "@executable_path/Frameworks",
642 + );
643 + MARKETING_VERSION = 1.0;
644 + PRODUCT_BUNDLE_IDENTIFIER = "swift.example.warply.ly.swift-example";
645 + PRODUCT_NAME = "$(TARGET_NAME)";
646 + SWIFT_EMIT_LOC_STRINGS = YES;
647 + SWIFT_VERSION = 5.0;
648 + TARGETED_DEVICE_FAMILY = "1,2";
649 + };
650 + name = Release;
651 + };
652 + 1EBEB027280D5C7B00BF802C /* Debug */ = {
653 + isa = XCBuildConfiguration;
654 + buildSettings = {
655 + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
656 + BUNDLE_LOADER = "$(TEST_HOST)";
657 + CODE_SIGN_STYLE = Automatic;
658 + CURRENT_PROJECT_VERSION = 1;
659 + DEVELOPMENT_TEAM = VW5AF53FLP;
660 + GENERATE_INFOPLIST_FILE = YES;
661 + IPHONEOS_DEPLOYMENT_TARGET = 15.0;
662 + LD_RUNPATH_SEARCH_PATHS = (
663 + "$(inherited)",
664 + "@executable_path/Frameworks",
665 + "@loader_path/Frameworks",
666 + );
667 + MARKETING_VERSION = 1.0;
668 + PRODUCT_BUNDLE_IDENTIFIER = "swift.example.warply.ly.swift-exampleTests";
669 + PRODUCT_NAME = "$(TARGET_NAME)";
670 + SWIFT_EMIT_LOC_STRINGS = NO;
671 + SWIFT_VERSION = 5.0;
672 + TARGETED_DEVICE_FAMILY = "1,2";
673 + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Demo.app/Demo";
674 + };
675 + name = Debug;
676 + };
677 + 1EBEB028280D5C7B00BF802C /* Release */ = {
678 + isa = XCBuildConfiguration;
679 + buildSettings = {
680 + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
681 + BUNDLE_LOADER = "$(TEST_HOST)";
682 + CODE_SIGN_STYLE = Automatic;
683 + CURRENT_PROJECT_VERSION = 1;
684 + DEVELOPMENT_TEAM = VW5AF53FLP;
685 + GENERATE_INFOPLIST_FILE = YES;
686 + IPHONEOS_DEPLOYMENT_TARGET = 15.0;
687 + LD_RUNPATH_SEARCH_PATHS = (
688 + "$(inherited)",
689 + "@executable_path/Frameworks",
690 + "@loader_path/Frameworks",
691 + );
692 + MARKETING_VERSION = 1.0;
693 + PRODUCT_BUNDLE_IDENTIFIER = "swift.example.warply.ly.swift-exampleTests";
694 + PRODUCT_NAME = "$(TARGET_NAME)";
695 + SWIFT_EMIT_LOC_STRINGS = NO;
696 + SWIFT_VERSION = 5.0;
697 + TARGETED_DEVICE_FAMILY = "1,2";
698 + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Demo.app/Demo";
699 + };
700 + name = Release;
701 + };
702 + 1EBEB02A280D5C7B00BF802C /* Debug */ = {
703 + isa = XCBuildConfiguration;
704 + buildSettings = {
705 + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
706 + CODE_SIGN_STYLE = Automatic;
707 + CURRENT_PROJECT_VERSION = 1;
708 + DEVELOPMENT_TEAM = VW5AF53FLP;
709 + GENERATE_INFOPLIST_FILE = YES;
710 + LD_RUNPATH_SEARCH_PATHS = (
711 + "$(inherited)",
712 + "@executable_path/Frameworks",
713 + "@loader_path/Frameworks",
714 + );
715 + MARKETING_VERSION = 1.0;
716 + PRODUCT_BUNDLE_IDENTIFIER = "swift.example.warply.ly.swift-exampleUITests";
717 + PRODUCT_NAME = "$(TARGET_NAME)";
718 + SWIFT_EMIT_LOC_STRINGS = NO;
719 + SWIFT_VERSION = 5.0;
720 + TARGETED_DEVICE_FAMILY = "1,2";
721 + TEST_TARGET_NAME = swift_example;
722 + };
723 + name = Debug;
724 + };
725 + 1EBEB02B280D5C7B00BF802C /* Release */ = {
726 + isa = XCBuildConfiguration;
727 + buildSettings = {
728 + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
729 + CODE_SIGN_STYLE = Automatic;
730 + CURRENT_PROJECT_VERSION = 1;
731 + DEVELOPMENT_TEAM = VW5AF53FLP;
732 + GENERATE_INFOPLIST_FILE = YES;
733 + LD_RUNPATH_SEARCH_PATHS = (
734 + "$(inherited)",
735 + "@executable_path/Frameworks",
736 + "@loader_path/Frameworks",
737 + );
738 + MARKETING_VERSION = 1.0;
739 + PRODUCT_BUNDLE_IDENTIFIER = "swift.example.warply.ly.swift-exampleUITests";
740 + PRODUCT_NAME = "$(TARGET_NAME)";
741 + SWIFT_EMIT_LOC_STRINGS = NO;
742 + SWIFT_VERSION = 5.0;
743 + TARGETED_DEVICE_FAMILY = "1,2";
744 + TEST_TARGET_NAME = swift_example;
745 + };
746 + name = Release;
747 + };
748 +/* End XCBuildConfiguration section */
749 +
750 +/* Begin XCConfigurationList section */
751 + 1EBEAFF4280D5C7700BF802C /* Build configuration list for PBXProject "Demo" */ = {
752 + isa = XCConfigurationList;
753 + buildConfigurations = (
754 + 1EBEB021280D5C7B00BF802C /* Debug */,
755 + 1EBEB022280D5C7B00BF802C /* Release */,
756 + );
757 + defaultConfigurationIsVisible = 0;
758 + defaultConfigurationName = Release;
759 + };
760 + 1EBEB023280D5C7B00BF802C /* Build configuration list for PBXNativeTarget "Demo" */ = {
761 + isa = XCConfigurationList;
762 + buildConfigurations = (
763 + 1EBEB024280D5C7B00BF802C /* Debug */,
764 + 1EBEB025280D5C7B00BF802C /* Release */,
765 + );
766 + defaultConfigurationIsVisible = 0;
767 + defaultConfigurationName = Release;
768 + };
769 + 1EBEB026280D5C7B00BF802C /* Build configuration list for PBXNativeTarget "DemoTests" */ = {
770 + isa = XCConfigurationList;
771 + buildConfigurations = (
772 + 1EBEB027280D5C7B00BF802C /* Debug */,
773 + 1EBEB028280D5C7B00BF802C /* Release */,
774 + );
775 + defaultConfigurationIsVisible = 0;
776 + defaultConfigurationName = Release;
777 + };
778 + 1EBEB029280D5C7B00BF802C /* Build configuration list for PBXNativeTarget "DemoUITests" */ = {
779 + isa = XCConfigurationList;
780 + buildConfigurations = (
781 + 1EBEB02A280D5C7B00BF802C /* Debug */,
782 + 1EBEB02B280D5C7B00BF802C /* Release */,
783 + );
784 + defaultConfigurationIsVisible = 0;
785 + defaultConfigurationName = Release;
786 + };
787 +/* End XCConfigurationList section */
788 + };
789 + rootObject = 1EBEAFF1280D5C7700BF802C /* Project object */;
790 +}
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<Workspace
3 + version = "1.0">
4 + <FileRef
5 + location = "self:">
6 + </FileRef>
7 +</Workspace>
...@@ -2,13 +2,7 @@ ...@@ -2,13 +2,7 @@
2 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 2 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3 <plist version="1.0"> 3 <plist version="1.0">
4 <dict> 4 <dict>
5 - <key>SchemeUserState</key> 5 + <key>IDEDidComputeMac32BitWarning</key>
6 - <dict> 6 + <true/>
7 - <key>Pods-SwiftWarplyFramework.xcscheme_^#shared#^_</key>
8 - <dict>
9 - <key>orderHint</key>
10 - <integer>1</integer>
11 - </dict>
12 - </dict>
13 </dict> 7 </dict>
14 </plist> 8 </plist>
......
1 +//
2 +// AppDelegate.swift
3 +// swift_example
4 +//
5 +// Created by Manos Chorianopoulos on 18/4/22.
6 +//
7 +
8 +import UIKit
9 +import SwiftWarplyFramework
10 +
11 +@main
12 +class AppDelegate: UIResponder, UIApplicationDelegate {
13 +
14 +
15 +
16 + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
17 + // Override point for customization after application launch.
18 + let instanceOfMyApi = MyApi()
19 + instanceOfMyApi.setToStage()
20 + // germanos uuid 70de8f34a4eb4044bb5c47d63aabd9ac
21 + // cosmote uuid f83dfde1145e4c2da69793abb2f579af
22 +// instanceOfMyApi.initialize(launchOptions, uuid:"f83dfde1145e4c2da69793abb2f579af", merchantId: "20113", lang: "el")
23 + instanceOfMyApi.initialize(withCallback: launchOptions, uuid: "f83dfde1145e4c2da69793abb2f579af", merchantId: "20113", lang: "el", successBlock: initializeCallback, failureBlock: initializeFailureCallback)
24 +
25 + // ===========================
26 +// let instanceOfMyApi = MyApi()
27 +// instanceOfMyApi.verifyTicketAsync(guid, ticket, verifyAsyncCallback, failureBlock: verifyAsyncFailureCallback)
28 +
29 + func initializeCallback(_ initializeData: [AnyHashable: Any]?) -> Void {
30 + print("===== initializeData ======")
31 + print(initializeData)
32 + print(initializeData?["msg"])
33 + print(initializeData?["status"])
34 + print("====================")
35 +
36 + if let initializeDataDictionary = initializeData as? [String: Any] {
37 +
38 +// let tempResponse = swiftApi.GenericResponseModel(dictionary: initializeDataDictionary)
39 +
40 +// verifyTicketCallback(tempResponse);
41 +
42 + } else {
43 +// verifyTicketCallback(nil)
44 + }
45 +
46 + }
47 +
48 + func initializeFailureCallback(_ error: Error?) -> Void {
49 + print("initialize error: ")
50 + print(error)
51 + print("====================")
52 +// verifyTicketCallback(nil)
53 + }
54 + // ================================
55 +
56 +// instanceOfMyApi.setLang("en")
57 +
58 + // var logout = instanceOfMyApi.logout()
59 +
60 +// var login = instanceOfMyApi.login("6981234567", password: "123456", loginType: "msisdn")
61 +
62 + // Set UserDefaults variables
63 +// let launchedBefore = UserDefaults.standard.bool(forKey: "launchedBefore")
64 +// if (!launchedBefore) {
65 +// UserDefaults.standard.set(true, forKey: "launchedBefore")
66 +// UserDefaults.standard.set(false, forKey: "hasOpenedGifts")
67 +// }
68 +
69 + return true
70 + }
71 +
72 + // MARK: UISceneSession Lifecycle
73 +
74 + func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
75 + // Called when a new scene session is being created.
76 + // Use this method to select a configuration to create the new scene with.
77 + return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role)
78 + }
79 +
80 + func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set<UISceneSession>) {
81 + // Called when the user discards a scene session.
82 + // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions.
83 + // Use this method to release any resources that were specific to the discarded scenes, as they will not return.
84 + }
85 +
86 +
87 +}
88 +
1 +{
2 + "colors" : [
3 + {
4 + "idiom" : "universal"
5 + }
6 + ],
7 + "info" : {
8 + "author" : "xcode",
9 + "version" : 1
10 + }
11 +}
1 +{
2 + "images" : [
3 + {
4 + "idiom" : "iphone",
5 + "scale" : "2x",
6 + "size" : "20x20"
7 + },
8 + {
9 + "idiom" : "iphone",
10 + "scale" : "3x",
11 + "size" : "20x20"
12 + },
13 + {
14 + "idiom" : "iphone",
15 + "scale" : "2x",
16 + "size" : "29x29"
17 + },
18 + {
19 + "idiom" : "iphone",
20 + "scale" : "3x",
21 + "size" : "29x29"
22 + },
23 + {
24 + "idiom" : "iphone",
25 + "scale" : "2x",
26 + "size" : "40x40"
27 + },
28 + {
29 + "idiom" : "iphone",
30 + "scale" : "3x",
31 + "size" : "40x40"
32 + },
33 + {
34 + "idiom" : "iphone",
35 + "scale" : "2x",
36 + "size" : "60x60"
37 + },
38 + {
39 + "idiom" : "iphone",
40 + "scale" : "3x",
41 + "size" : "60x60"
42 + },
43 + {
44 + "idiom" : "ipad",
45 + "scale" : "1x",
46 + "size" : "20x20"
47 + },
48 + {
49 + "idiom" : "ipad",
50 + "scale" : "2x",
51 + "size" : "20x20"
52 + },
53 + {
54 + "idiom" : "ipad",
55 + "scale" : "1x",
56 + "size" : "29x29"
57 + },
58 + {
59 + "idiom" : "ipad",
60 + "scale" : "2x",
61 + "size" : "29x29"
62 + },
63 + {
64 + "idiom" : "ipad",
65 + "scale" : "1x",
66 + "size" : "40x40"
67 + },
68 + {
69 + "idiom" : "ipad",
70 + "scale" : "2x",
71 + "size" : "40x40"
72 + },
73 + {
74 + "idiom" : "ipad",
75 + "scale" : "1x",
76 + "size" : "76x76"
77 + },
78 + {
79 + "idiom" : "ipad",
80 + "scale" : "2x",
81 + "size" : "76x76"
82 + },
83 + {
84 + "idiom" : "ipad",
85 + "scale" : "2x",
86 + "size" : "83.5x83.5"
87 + },
88 + {
89 + "idiom" : "ios-marketing",
90 + "scale" : "1x",
91 + "size" : "1024x1024"
92 + }
93 + ],
94 + "info" : {
95 + "author" : "xcode",
96 + "version" : 1
97 + }
98 +}
1 +{
2 + "info" : {
3 + "author" : "xcode",
4 + "version" : 1
5 + }
6 +}
1 +{
2 + "images" : [
3 + {
4 + "filename" : "active_code_logo.png",
5 + "idiom" : "universal",
6 + "scale" : "1x"
7 + },
8 + {
9 + "filename" : "active_code_logo-1.png",
10 + "idiom" : "universal",
11 + "scale" : "2x"
12 + },
13 + {
14 + "filename" : "active_code_logo-2.png",
15 + "idiom" : "universal",
16 + "scale" : "3x"
17 + }
18 + ],
19 + "info" : {
20 + "author" : "xcode",
21 + "version" : 1
22 + }
23 +}
1 +{
2 + "images" : [
3 + {
4 + "filename" : "coupon_bg.png",
5 + "idiom" : "universal",
6 + "scale" : "1x"
7 + },
8 + {
9 + "filename" : "coupon_bg-1.png",
10 + "idiom" : "universal",
11 + "scale" : "2x"
12 + },
13 + {
14 + "filename" : "coupon_bg-2.png",
15 + "idiom" : "universal",
16 + "scale" : "3x"
17 + }
18 + ],
19 + "info" : {
20 + "author" : "xcode",
21 + "version" : 1
22 + }
23 +}
1 +{
2 + "images" : [
3 + {
4 + "filename" : "coupons_scrollview.png",
5 + "idiom" : "universal",
6 + "scale" : "1x"
7 + },
8 + {
9 + "filename" : "coupons_scrollview-1.png",
10 + "idiom" : "universal",
11 + "scale" : "2x"
12 + },
13 + {
14 + "filename" : "coupons_scrollview-2.png",
15 + "idiom" : "universal",
16 + "scale" : "3x"
17 + }
18 + ],
19 + "info" : {
20 + "author" : "xcode",
21 + "version" : 1
22 + }
23 +}
1 +{
2 + "images" : [
3 + {
4 + "filename" : "coupons_scrollview_dark.png",
5 + "idiom" : "universal",
6 + "scale" : "1x"
7 + },
8 + {
9 + "filename" : "coupons_scrollview_dark-1.png",
10 + "idiom" : "universal",
11 + "scale" : "2x"
12 + },
13 + {
14 + "filename" : "coupons_scrollview_dark-2.png",
15 + "idiom" : "universal",
16 + "scale" : "3x"
17 + }
18 + ],
19 + "info" : {
20 + "author" : "xcode",
21 + "version" : 1
22 + }
23 +}
1 +{
2 + "images" : [
3 + {
4 + "filename" : "coupons_scrollview_white.png",
5 + "idiom" : "universal",
6 + "scale" : "1x"
7 + },
8 + {
9 + "filename" : "coupons_scrollview_white-1.png",
10 + "idiom" : "universal",
11 + "scale" : "2x"
12 + },
13 + {
14 + "filename" : "coupons_scrollview_white-2.png",
15 + "idiom" : "universal",
16 + "scale" : "3x"
17 + }
18 + ],
19 + "info" : {
20 + "author" : "xcode",
21 + "version" : 1
22 + }
23 +}
1 +{
2 + "images" : [
3 + {
4 + "filename" : "curved_bg_white.png",
5 + "idiom" : "universal",
6 + "scale" : "1x"
7 + },
8 + {
9 + "filename" : "curved_bg_white-1.png",
10 + "idiom" : "universal",
11 + "scale" : "2x"
12 + },
13 + {
14 + "filename" : "curved_bg_white-2.png",
15 + "idiom" : "universal",
16 + "scale" : "3x"
17 + }
18 + ],
19 + "info" : {
20 + "author" : "xcode",
21 + "version" : 1
22 + }
23 +}
1 +{
2 + "images" : [
3 + {
4 + "filename" : "default_profile_image.png",
5 + "idiom" : "universal",
6 + "scale" : "1x"
7 + },
8 + {
9 + "filename" : "default_profile_image-1.png",
10 + "idiom" : "universal",
11 + "scale" : "2x"
12 + },
13 + {
14 + "filename" : "default_profile_image-2.png",
15 + "idiom" : "universal",
16 + "scale" : "3x"
17 + }
18 + ],
19 + "info" : {
20 + "author" : "xcode",
21 + "version" : 1
22 + }
23 +}
1 +{
2 + "images" : [
3 + {
4 + "filename" : "dfy_logo_white.png",
5 + "idiom" : "universal",
6 + "scale" : "1x"
7 + },
8 + {
9 + "filename" : "dfy_logo_white-1.png",
10 + "idiom" : "universal",
11 + "scale" : "2x"
12 + },
13 + {
14 + "filename" : "dfy_logo_white-2.png",
15 + "idiom" : "universal",
16 + "scale" : "3x"
17 + }
18 + ],
19 + "info" : {
20 + "author" : "xcode",
21 + "version" : 1
22 + }
23 +}
1 +{
2 + "images" : [
3 + {
4 + "filename" : "filters_btn.png",
5 + "idiom" : "universal",
6 + "scale" : "1x"
7 + },
8 + {
9 + "idiom" : "universal",
10 + "scale" : "2x"
11 + },
12 + {
13 + "idiom" : "universal",
14 + "scale" : "3x"
15 + }
16 + ],
17 + "info" : {
18 + "author" : "xcode",
19 + "version" : 1
20 + }
21 +}
1 +{
2 + "images" : [
3 + {
4 + "filename" : "heart.png",
5 + "idiom" : "universal",
6 + "scale" : "1x"
7 + },
8 + {
9 + "filename" : "heart-1.png",
10 + "idiom" : "universal",
11 + "scale" : "2x"
12 + },
13 + {
14 + "filename" : "heart-2.png",
15 + "idiom" : "universal",
16 + "scale" : "3x"
17 + }
18 + ],
19 + "info" : {
20 + "author" : "xcode",
21 + "version" : 1
22 + }
23 +}
1 +{
2 + "images" : [
3 + {
4 + "filename" : "ic_back.png",
5 + "idiom" : "universal",
6 + "scale" : "1x"
7 + },
8 + {
9 + "idiom" : "universal",
10 + "scale" : "2x"
11 + },
12 + {
13 + "idiom" : "universal",
14 + "scale" : "3x"
15 + }
16 + ],
17 + "info" : {
18 + "author" : "xcode",
19 + "version" : 1
20 + }
21 +}
1 +{
2 + "images" : [
3 + {
4 + "filename" : "ic_background_circle.png",
5 + "idiom" : "universal",
6 + "scale" : "1x"
7 + },
8 + {
9 + "filename" : "ic_background_circle-1.png",
10 + "idiom" : "universal",
11 + "scale" : "2x"
12 + },
13 + {
14 + "filename" : "ic_background_circle-2.png",
15 + "idiom" : "universal",
16 + "scale" : "3x"
17 + }
18 + ],
19 + "info" : {
20 + "author" : "xcode",
21 + "version" : 1
22 + }
23 +}
1 +{
2 + "images" : [
3 + {
4 + "filename" : "ic_bag.png",
5 + "idiom" : "universal",
6 + "scale" : "1x"
7 + },
8 + {
9 + "filename" : "ic_bag-1.png",
10 + "idiom" : "universal",
11 + "scale" : "2x"
12 + },
13 + {
14 + "filename" : "ic_bag-2.png",
15 + "idiom" : "universal",
16 + "scale" : "3x"
17 + }
18 + ],
19 + "info" : {
20 + "author" : "xcode",
21 + "version" : 1
22 + }
23 +}
1 +{
2 + "images" : [
3 + {
4 + "filename" : "ic_cart.png",
5 + "idiom" : "universal",
6 + "scale" : "1x"
7 + },
8 + {
9 + "filename" : "ic_cart-1.png",
10 + "idiom" : "universal",
11 + "scale" : "2x"
12 + },
13 + {
14 + "filename" : "ic_cart-2.png",
15 + "idiom" : "universal",
16 + "scale" : "3x"
17 + }
18 + ],
19 + "info" : {
20 + "author" : "xcode",
21 + "version" : 1
22 + }
23 +}
1 +{
2 + "images" : [
3 + {
4 + "filename" : "ic_cosmote_logo.png",
5 + "idiom" : "universal",
6 + "scale" : "1x"
7 + },
8 + {
9 + "filename" : "ic_cosmote_logo-1.png",
10 + "idiom" : "universal",
11 + "scale" : "2x"
12 + },
13 + {
14 + "filename" : "ic_cosmote_logo-2.png",
15 + "idiom" : "universal",
16 + "scale" : "3x"
17 + }
18 + ],
19 + "info" : {
20 + "author" : "xcode",
21 + "version" : 1
22 + }
23 +}
1 +{
2 + "images" : [
3 + {
4 + "filename" : "ic_down.png",
5 + "idiom" : "universal",
6 + "scale" : "1x"
7 + },
8 + {
9 + "filename" : "ic_down-1.png",
10 + "idiom" : "universal",
11 + "scale" : "2x"
12 + },
13 + {
14 + "filename" : "ic_down-2.png",
15 + "idiom" : "universal",
16 + "scale" : "3x"
17 + }
18 + ],
19 + "info" : {
20 + "author" : "xcode",
21 + "version" : 1
22 + }
23 +}
1 +{
2 + "images" : [
3 + {
4 + "filename" : "ic_down_dark.png",
5 + "idiom" : "universal",
6 + "scale" : "1x"
7 + },
8 + {
9 + "filename" : "ic_down_dark-1.png",
10 + "idiom" : "universal",
11 + "scale" : "2x"
12 + },
13 + {
14 + "filename" : "ic_down_dark-2.png",
15 + "idiom" : "universal",
16 + "scale" : "3x"
17 + }
18 + ],
19 + "info" : {
20 + "author" : "xcode",
21 + "version" : 1
22 + }
23 +}
1 +{
2 + "images" : [
3 + {
4 + "filename" : "ic_food.png",
5 + "idiom" : "universal",
6 + "scale" : "1x"
7 + },
8 + {
9 + "filename" : "ic_food-1.png",
10 + "idiom" : "universal",
11 + "scale" : "2x"
12 + },
13 + {
14 + "filename" : "ic_food-2.png",
15 + "idiom" : "universal",
16 + "scale" : "3x"
17 + }
18 + ],
19 + "info" : {
20 + "author" : "xcode",
21 + "version" : 1
22 + }
23 +}
1 +{
2 + "images" : [
3 + {
4 + "filename" : "ic_gift.png",
5 + "idiom" : "universal",
6 + "scale" : "1x"
7 + },
8 + {
9 + "filename" : "ic_gift-1.png",
10 + "idiom" : "universal",
11 + "scale" : "2x"
12 + },
13 + {
14 + "filename" : "ic_gift-2.png",
15 + "idiom" : "universal",
16 + "scale" : "3x"
17 + }
18 + ],
19 + "info" : {
20 + "author" : "xcode",
21 + "version" : 1
22 + }
23 +}
1 +{
2 + "images" : [
3 + {
4 + "filename" : "ic_plane.png",
5 + "idiom" : "universal",
6 + "scale" : "1x"
7 + },
8 + {
9 + "filename" : "ic_plane-1.png",
10 + "idiom" : "universal",
11 + "scale" : "2x"
12 + },
13 + {
14 + "filename" : "ic_plane-2.png",
15 + "idiom" : "universal",
16 + "scale" : "3x"
17 + }
18 + ],
19 + "info" : {
20 + "author" : "xcode",
21 + "version" : 1
22 + }
23 +}
1 +{
2 + "images" : [
3 + {
4 + "filename" : "ic_smile.png",
5 + "idiom" : "universal",
6 + "scale" : "1x"
7 + },
8 + {
9 + "filename" : "ic_smile-1.png",
10 + "idiom" : "universal",
11 + "scale" : "2x"
12 + },
13 + {
14 + "filename" : "ic_smile-2.png",
15 + "idiom" : "universal",
16 + "scale" : "3x"
17 + }
18 + ],
19 + "info" : {
20 + "author" : "xcode",
21 + "version" : 1
22 + }
23 +}
1 +{
2 + "images" : [
3 + {
4 + "filename" : "ic_steering_wheel.png",
5 + "idiom" : "universal",
6 + "scale" : "1x"
7 + },
8 + {
9 + "filename" : "ic_steering_wheel-1.png",
10 + "idiom" : "universal",
11 + "scale" : "2x"
12 + },
13 + {
14 + "filename" : "ic_steering_wheel-2.png",
15 + "idiom" : "universal",
16 + "scale" : "3x"
17 + }
18 + ],
19 + "info" : {
20 + "author" : "xcode",
21 + "version" : 1
22 + }
23 +}
1 +{
2 + "images" : [
3 + {
4 + "filename" : "ic_up.png",
5 + "idiom" : "universal",
6 + "scale" : "1x"
7 + },
8 + {
9 + "filename" : "ic_up-1.png",
10 + "idiom" : "universal",
11 + "scale" : "2x"
12 + },
13 + {
14 + "filename" : "ic_up-2.png",
15 + "idiom" : "universal",
16 + "scale" : "3x"
17 + }
18 + ],
19 + "info" : {
20 + "author" : "xcode",
21 + "version" : 1
22 + }
23 +}
1 +{
2 + "images" : [
3 + {
4 + "filename" : "ic_up_dark.png",
5 + "idiom" : "universal",
6 + "scale" : "1x"
7 + },
8 + {
9 + "filename" : "ic_up_dark-1.png",
10 + "idiom" : "universal",
11 + "scale" : "2x"
12 + },
13 + {
14 + "filename" : "ic_up_dark-2.png",
15 + "idiom" : "universal",
16 + "scale" : "3x"
17 + }
18 + ],
19 + "info" : {
20 + "author" : "xcode",
21 + "version" : 1
22 + }
23 +}
1 +{
2 + "images" : [
3 + {
4 + "filename" : "ic_wallet.png",
5 + "idiom" : "universal",
6 + "scale" : "1x"
7 + },
8 + {
9 + "filename" : "ic_wallet-1.png",
10 + "idiom" : "universal",
11 + "scale" : "2x"
12 + },
13 + {
14 + "filename" : "ic_wallet-2.png",
15 + "idiom" : "universal",
16 + "scale" : "3x"
17 + }
18 + ],
19 + "info" : {
20 + "author" : "xcode",
21 + "version" : 1
22 + }
23 +}
1 +{
2 + "images" : [
3 + {
4 + "filename" : "location_icon.png",
5 + "idiom" : "universal",
6 + "scale" : "1x"
7 + },
8 + {
9 + "idiom" : "universal",
10 + "scale" : "2x"
11 + },
12 + {
13 + "idiom" : "universal",
14 + "scale" : "3x"
15 + }
16 + ],
17 + "info" : {
18 + "author" : "xcode",
19 + "version" : 1
20 + }
21 +}
1 +{
2 + "images" : [
3 + {
4 + "filename" : "new_icon.png",
5 + "idiom" : "universal",
6 + "scale" : "1x"
7 + },
8 + {
9 + "filename" : "new_icon-1.png",
10 + "idiom" : "universal",
11 + "scale" : "2x"
12 + },
13 + {
14 + "filename" : "new_icon-2.png",
15 + "idiom" : "universal",
16 + "scale" : "3x"
17 + }
18 + ],
19 + "info" : {
20 + "author" : "xcode",
21 + "version" : 1
22 + }
23 +}
1 +{
2 + "images" : [
3 + {
4 + "filename" : "search_icon.png",
5 + "idiom" : "universal",
6 + "scale" : "1x"
7 + },
8 + {
9 + "idiom" : "universal",
10 + "scale" : "2x"
11 + },
12 + {
13 + "idiom" : "universal",
14 + "scale" : "3x"
15 + }
16 + ],
17 + "info" : {
18 + "author" : "xcode",
19 + "version" : 1
20 + }
21 +}
1 +{
2 + "images" : [
3 + {
4 + "filename" : "wallet_coupons.png",
5 + "idiom" : "universal",
6 + "scale" : "1x"
7 + },
8 + {
9 + "filename" : "wallet_coupons-1.png",
10 + "idiom" : "universal",
11 + "scale" : "2x"
12 + },
13 + {
14 + "filename" : "wallet_coupons-2.png",
15 + "idiom" : "universal",
16 + "scale" : "3x"
17 + }
18 + ],
19 + "info" : {
20 + "author" : "xcode",
21 + "version" : 1
22 + }
23 +}
1 +{
2 + "images" : [
3 + {
4 + "filename" : "wallet_dfy_earn.png",
5 + "idiom" : "universal",
6 + "scale" : "1x"
7 + },
8 + {
9 + "filename" : "wallet_dfy_earn-1.png",
10 + "idiom" : "universal",
11 + "scale" : "2x"
12 + },
13 + {
14 + "filename" : "wallet_dfy_earn-2.png",
15 + "idiom" : "universal",
16 + "scale" : "3x"
17 + }
18 + ],
19 + "info" : {
20 + "author" : "xcode",
21 + "version" : 1
22 + }
23 +}
1 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
3 + <dependencies>
4 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/>
5 + <capability name="Safe area layout guides" minToolsVersion="9.0"/>
6 + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
7 + </dependencies>
8 + <scenes>
9 + <!--View Controller-->
10 + <scene sceneID="EHf-IW-A2E">
11 + <objects>
12 + <viewController id="01J-lp-oVM" sceneMemberID="viewController">
13 + <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
14 + <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
15 + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
16 + <color key="backgroundColor" xcode11CocoaTouchSystemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
17 + <viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
18 + </view>
19 + </viewController>
20 + <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
21 + </objects>
22 + <point key="canvasLocation" x="53" y="375"/>
23 + </scene>
24 + </scenes>
25 +</document>
This diff could not be displayed because it is too large.
...@@ -2,17 +2,24 @@ ...@@ -2,17 +2,24 @@
2 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 2 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3 <plist version="1.0"> 3 <plist version="1.0">
4 <dict> 4 <dict>
5 - <key>SchemeUserState</key> 5 + <key>UIApplicationSceneManifest</key>
6 <dict> 6 <dict>
7 - <key>Pods-SwiftWarplyFramework.xcscheme</key> 7 + <key>UIApplicationSupportsMultipleScenes</key>
8 + <false/>
9 + <key>UISceneConfigurations</key>
8 <dict> 10 <dict>
9 - <key>isShown</key> 11 + <key>UIWindowSceneSessionRoleApplication</key>
10 - <false/> 12 + <array>
11 - <key>orderHint</key> 13 + <dict>
12 - <integer>0</integer> 14 + <key>UISceneConfigurationName</key>
15 + <string>Default Configuration</string>
16 + <key>UISceneDelegateClassName</key>
17 + <string>$(PRODUCT_MODULE_NAME).SceneDelegate</string>
18 + <key>UISceneStoryboardFile</key>
19 + <string>Main</string>
20 + </dict>
21 + </array>
13 </dict> 22 </dict>
14 </dict> 23 </dict>
15 - <key>SuppressBuildableAutocreation</key>
16 - <dict/>
17 </dict> 24 </dict>
18 </plist> 25 </plist>
......
1 +//
2 +// SceneDelegate.swift
3 +// swift_example
4 +//
5 +// Created by Manos Chorianopoulos on 18/4/22.
6 +//
7 +
8 +import UIKit
9 +import SwiftWarplyFramework
10 +
11 +class SceneDelegate: UIResponder, UIWindowSceneDelegate {
12 +
13 + var window: UIWindow?
14 +
15 +
16 + func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
17 + // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
18 + // If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
19 + // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).
20 + guard let _ = (scene as? UIWindowScene) else { return }
21 +
22 +// if let windowScene = scene as? UIWindowScene {
23 +// let window = UIWindow(windowScene: windowScene)
24 +// let instanceOfMyApi = MyApi()
25 +//
26 +// // var login = instanceOfMyApi.login("6981234567", password: "123456", loginType: "msisdn")
27 +//
28 +// // window.rootViewController = instanceOfMyApi.openCoupons()
29 +// window.rootViewController = instanceOfMyApi.openGifts()
30 +// self.window = window
31 +// window.makeKeyAndVisible()
32 +// }
33 + }
34 +
35 + func sceneDidDisconnect(_ scene: UIScene) {
36 + // Called as the scene is being released by the system.
37 + // This occurs shortly after the scene enters the background, or when its session is discarded.
38 + // Release any resources associated with this scene that can be re-created the next time the scene connects.
39 + // The scene may re-connect later, as its session was not necessarily discarded (see `application:didDiscardSceneSessions` instead).
40 + }
41 +
42 + func sceneDidBecomeActive(_ scene: UIScene) {
43 + // Called when the scene has moved from an inactive state to an active state.
44 + // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive.
45 + }
46 +
47 + func sceneWillResignActive(_ scene: UIScene) {
48 + // Called when the scene will move from an active state to an inactive state.
49 + // This may occur due to temporary interruptions (ex. an incoming phone call).
50 + }
51 +
52 + func sceneWillEnterForeground(_ scene: UIScene) {
53 + // Called as the scene transitions from the background to the foreground.
54 + // Use this method to undo the changes made on entering the background.
55 + }
56 +
57 + func sceneDidEnterBackground(_ scene: UIScene) {
58 + // Called as the scene transitions from the foreground to the background.
59 + // Use this method to save data, release shared resources, and store enough scene-specific state information
60 + // to restore the scene back to its current state.
61 + }
62 +
63 +
64 +}
65 +
1 +//
2 +// ViewController.swift
3 +// swift_example
4 +//
5 +// Created by Manos Chorianopoulos on 18/4/22.
6 +//
7 +
8 +import UIKit
9 +import SwiftWarplyFramework
10 +import SwiftEventBus
11 +
12 +class ViewController: UIViewController, UITextFieldDelegate {
13 + @IBOutlet weak var guidTextField: UITextField!
14 + var isLoggedIn: Bool = false
15 +
16 + override func viewDidLoad() {
17 + super.viewDidLoad()
18 + // Do any additional setup after loading the view.
19 + self.setupToHideKeyboardOnTapOnView()
20 +
21 + guidTextField.delegate = self
22 +
23 + // iOS_ccms_offers
24 + let ccms_offers = loadJsonFrom(fileName: "iOS_ccms_offers")
25 +
26 +// print("======= ccms_offers ========")
27 +// print(ccms_offers[0])
28 +
29 +
30 + var ccmsCampaignsArray:Array<swiftApi.LoyaltyContextualOfferModel> = [];
31 + for ccmsItem in ccms_offers {
32 + let tempCcmsItem = ccmsItem as [String: Any]
33 + let newCcmsCampaign = swiftApi.LoyaltyContextualOfferModel()
34 + newCcmsCampaign._sessionId = tempCcmsItem["sessionId"] as? String ?? ""
35 + newCcmsCampaign._eligibleAssets = tempCcmsItem["eligibleAssets"] as? Array<String> ?? []
36 + newCcmsCampaign._id = tempCcmsItem["id"] as? String ?? ""
37 + newCcmsCampaign._businessAdditionalId = tempCcmsItem["businessAdditionalId"] as? String ?? ""
38 + newCcmsCampaign._treatmentCode = tempCcmsItem["treatmentCode"] as? String ?? ""
39 + newCcmsCampaign._offerName = tempCcmsItem["offerName"] as? String ?? ""
40 + newCcmsCampaign._productType = tempCcmsItem["productType"] as? String ?? ""
41 + newCcmsCampaign._provDuration = tempCcmsItem["provDuration"] as? String ?? ""
42 + newCcmsCampaign._noOfRecurrance = tempCcmsItem["noOfRecurrance"] as? String ?? ""
43 + newCcmsCampaign._price = tempCcmsItem["price"] as? String ?? ""
44 + newCcmsCampaign._discount = tempCcmsItem["discount"] as? String ?? ""
45 + newCcmsCampaign._voiceCategory = tempCcmsItem["voiceCategory"] as? String ?? ""
46 + newCcmsCampaign._dataCategory = tempCcmsItem["dataCategory"] as? String ?? ""
47 + newCcmsCampaign._minsValue = tempCcmsItem["minsValue"] as? String ?? ""
48 + newCcmsCampaign._dataValue = tempCcmsItem["dataValue"] as? String ?? ""
49 + newCcmsCampaign._provStepValueMins = tempCcmsItem["provStepValueMins"] as? String ?? ""
50 + newCcmsCampaign._postpayProduct = tempCcmsItem["postpayProduct"] as? String ?? ""
51 + newCcmsCampaign._notificationMessage = tempCcmsItem["notificationMessage"] as? String ?? ""
52 + newCcmsCampaign._loyaltyCampaignId = tempCcmsItem["loyaltyCampaignId"] as? String ?? ""
53 + newCcmsCampaign._businessService = tempCcmsItem["businessService"] as? String ?? ""
54 + newCcmsCampaign._uaciOfferTrackingCode = tempCcmsItem["uaciOfferTrackingCode"] as? String ?? ""
55 + newCcmsCampaign._offerCode1 = tempCcmsItem["offerCode1"] as? String ?? ""
56 + newCcmsCampaign._score = tempCcmsItem["score"] as? String ?? ""
57 + newCcmsCampaign._zone = tempCcmsItem["zone"] as? String ?? ""
58 + newCcmsCampaign._wave = tempCcmsItem["wave"] as? String ?? ""
59 + newCcmsCampaign._validity = tempCcmsItem["validity"] as? String ?? ""
60 + newCcmsCampaign._offerAudienceLevel = tempCcmsItem["offerAudienceLevel"] as? String ?? ""
61 +
62 + ccmsCampaignsArray.append(newCcmsCampaign)
63 + }
64 +
65 + swiftApi().setCCMSLoyaltyCampaigns(campaigns: ccmsCampaignsArray)
66 +
67 +// let ccmsFinal = swiftApi().getCCMSLoyaltyCampaigns()
68 +// print("========== CCMSLoyaltyCampaigns ============")
69 +// print(ccmsFinal)
70 +//
71 +// print(ccmsFinal[0]._sessionId)
72 +// print(ccmsFinal[0]._id)
73 +// print(ccmsFinal[0]._loyaltyCampaignId)
74 +// print(ccmsFinal[0]._eligibleAssets)
75 +// print(ccmsFinal[0]._eligibleAssets[0])
76 +// print("========== CCMSLoyaltyCampaigns ============")
77 +
78 +
79 + // TODO: DELETE =====>
80 +// getCampaignsRequest()
81 +// getProfileRequest()
82 +// getCouponsRequest()
83 +// getPacingDetailsRequest()
84 +// swiftApi().handleSharing(self, "96de198745b740af997732ec9b82a732")
85 + // TODO: DELETE <=====
86 +
87 + SwiftEventBus.onBackgroundThread(self, name: "questionnaire") { result in
88 + let event : swiftApi.QuestionnaireEventModel = result?.object as! swiftApi.QuestionnaireEventModel
89 + print("===== SwiftEventBus.onBackgroundThread questionnaire =====")
90 + print(event._name)
91 + print(event._parameter)
92 +
93 +// self.showEventDialog((event._name + " " + event._parameter))
94 + }
95 +
96 + SwiftEventBus.onBackgroundThread(self, name: "pacing") { result in
97 + let event : swiftApi.WarplyPacingEventModel = result?.object as! swiftApi.WarplyPacingEventModel
98 + print("===== SwiftEventBus.onBackgroundThread pacing =====")
99 + print(event._isEnabled)
100 + print(event._isVisible)
101 +
102 +// self.showEventDialog(("pacing" + " Enabled: " + (event._isEnabled ? "true" : "false") + " Visible: " + (event._isVisible ? "true" : "false")))
103 + }
104 + }
105 +
106 + func loadJsonFrom(fileName: String) -> [[String: AnyObject]] {
107 +
108 + let path = Bundle.main.path(forResource: fileName, ofType: "json")
109 + let jsonData = try! Data(contentsOf: URL(fileURLWithPath: path!))
110 + let jsonResult: [[String: AnyObject]] = try! JSONSerialization.jsonObject(with: jsonData, options: .allowFragments) as! [[String: AnyObject]]
111 + return jsonResult
112 + }
113 +
114 +
115 + func showEventDialog(_ alertTitle: String) -> Void {
116 +
117 + let alert = UIAlertController(title: "Event received!", message: alertTitle, preferredStyle: .alert)
118 + alert.addAction(UIAlertAction(title: "OK", style: .default, handler: { action in
119 + switch action.style{
120 + case .default:
121 + print("default")
122 +
123 + case .cancel:
124 + print("cancel")
125 +
126 + case .destructive:
127 + print("destructive")
128 +
129 + }
130 + }))
131 + self.present(alert, animated: true, completion: nil)
132 + }
133 +
134 +
135 + // TODO: DELETE =====>
136 + func getCampaignsRequest() {
137 + swiftApi().getCampaignsAsync(getCampaignsCallback)
138 + }
139 +
140 + func getCampaignsCallback (_ campaignsData: Array<swiftApi.CampaignItemModel>?) -> Void {
141 + if (campaignsData != nil) {
142 + DispatchQueue.main.async {
143 +// swiftApi().setUniqueCampaignList(campaignsData ?? [])
144 +
145 +
146 + print("========= DispatchQueue campaignsData SUCCESSSS =========")
147 + print(campaignsData)
148 + print("========= DispatchQueue campaignsData SUCCESSSS =========")
149 + print("========= getCampaignList =========")
150 + print(swiftApi().getCampaignList())
151 + print("========= getCampaignList =========")
152 + print("========= getCampaignList count =========")
153 + print(swiftApi().getCampaignList().filter { $0.offer_category == "gifts_for_you" }.count)
154 + print("========= getCampaignList count =========")
155 +
156 + }
157 + } else {
158 + }
159 + }
160 +
161 + func getPacingDetailsRequest() {
162 + swiftApi().getPacingDetailsAsync(getPacingCallback)
163 + }
164 +
165 + func getPacingCallback (_ pacingData: swiftApi.PacingDetails?) -> Void {
166 + if (pacingData != nil) {
167 + DispatchQueue.main.async {
168 + print("========= DispatchQueue pacingData SUCCESSSS =========")
169 + print(pacingData)
170 + print("========= DispatchQueue pacingData _steps =========")
171 + print(pacingData?._steps)
172 + print("========= DispatchQueue pacingData _meters =========")
173 + print(pacingData?._meters)
174 +
175 + print("========= DispatchQueue pacingData _steps _day =========")
176 + print(pacingData?._steps._day)
177 + print("========= DispatchQueue pacingData _steps _week =========")
178 + print(pacingData?._steps._week)
179 + print("========= DispatchQueue pacingData _steps _month =========")
180 + print(pacingData?._steps._month)
181 + print("========= DispatchQueue pacingData _steps _total =========")
182 + print(pacingData?._steps._total)
183 +
184 + print("========= DispatchQueue pacingData _steps _day _value =========")
185 + print(pacingData?._steps._total._value)
186 + print("========= DispatchQueue pacingData _steps _day _goal =========")
187 + print(pacingData?._steps._day._goal)
188 + print("========= DispatchQueue pacingData _steps _day _per_day =========")
189 + print(pacingData?._steps._day._per_day)
190 +
191 + for item in pacingData?._steps._day._per_day ?? [] {
192 + print("========= DispatchQueue pacingData _steps _per_day _value =========")
193 + print(item._value)
194 + print("========= DispatchQueue pacingData _steps _per_day _day =========")
195 + print(item._day)
196 + }
197 +
198 + print("========= DispatchQueue pacingData _meters _day =========")
199 + print(pacingData?._meters._day)
200 + print("========= DispatchQueue pacingData _meters _week =========")
201 + print(pacingData?._meters._week)
202 + print("========= DispatchQueue pacingData _meters _month =========")
203 + print(pacingData?._meters._month)
204 + print("========= DispatchQueue pacingData _meters _total =========")
205 + print(pacingData?._meters._total)
206 +
207 + print("========= DispatchQueue pacingData _meters _day _value =========")
208 + print(pacingData?._meters._total._value)
209 + print("========= DispatchQueue pacingData _meters _day _goal =========")
210 + print(pacingData?._meters._month._goal)
211 + print("========= DispatchQueue pacingData _meters _day _per_day =========")
212 + print(pacingData?._meters._month._per_day)
213 +
214 + for item in pacingData?._meters._day._per_day ?? [] {
215 + print("========= DispatchQueue pacingData _meters _per_day _value =========")
216 + print(item._value)
217 + print("========= DispatchQueue pacingData _meters _per_day _day =========")
218 + print(item._day)
219 + }
220 +
221 +
222 + }
223 + } else {
224 + }
225 + }
226 +
227 +
228 + func getCouponsRequest() {
229 + swiftApi().getCouponsAsync(getCouponsCallback)
230 + }
231 +
232 + func getCouponsCallback (_ couponsData: Array<swiftApi.CouponItemModel>?) -> Void {
233 + if (couponsData != nil) {
234 +
235 + DispatchQueue.main.async {
236 + print("========= getCouponsRequest SUCCESSSS =========")
237 + // swiftApi().setCouponList(couponsData)
238 +
239 +// let activeCouponData = swiftApi().filterActiveCoupons(couponsData ?? [])
240 +// swiftApi().setCouponList(activeCouponData)
241 + }
242 + } else {
243 + print("========= getCouponsRequest ERROR =========")
244 + }
245 + }
246 +
247 + func getProfileRequest() {
248 + swiftApi().getProfileAsync(getProfileCallback)
249 + }
250 +
251 + func getProfileCallback (_ profileData: swiftApi.ProfileModel?) -> Void {
252 + if (profileData != nil) {
253 + DispatchQueue.main.async {
254 + swiftApi().setConsumer(profileData ?? swiftApi.ProfileModel())
255 +
256 + print("========= getProfileRequest SUCCESSSS =========")
257 + print(profileData)
258 + }
259 + } else {
260 + print("========= getProfileRequest ERROR =========")
261 + }
262 + }
263 + // TODO: DELETE <=====
264 +
265 + // MARK: Functions
266 +
267 + // MARK: Actions
268 + @IBAction func navigate(sender: UIButton) {
269 +// let instanceOfMyApi = MyApi()
270 +// let giftsViewController = instanceOfMyApi.openGifts(view)!
271 +// giftsViewController.view.tag = 5
272 +// addChild(giftsViewController)
273 +// giftsViewController.view.frame = self.view.frame
274 +// view.addSubview(giftsViewController.view)
275 +// giftsViewController.didMove(toParent: self)
276 +
277 +// let instanceOfMyApi = MyApi()
278 +// let couponsViewController = instanceOfMyApi.openCoupons(view)!
279 +// couponsViewController.view.tag = 1
280 +// addChild(couponsViewController)
281 +// couponsViewController.view.frame = self.view.frame
282 +// view.addSubview(couponsViewController.view)
283 +// couponsViewController.didMove(toParent: self)
284 +
285 +// let instanceOfMyApi = MyApi()
286 +// let allGiftsViewController = instanceOfMyApi.openAllGifts(view)!
287 +// allGiftsViewController.view.tag = 8
288 +// addChild(allGiftsViewController)
289 +// allGiftsViewController.view.frame = self.view.frame
290 +// view.addSubview(allGiftsViewController.view)
291 +// allGiftsViewController.didMove(toParent: self)
292 +
293 +// let instanceOfMyApi = MyApi()
294 +// let oldCouponsViewController = instanceOfMyApi.openOldCoupons(view)!
295 +// oldCouponsViewController.view.tag = 9
296 +// addChild(oldCouponsViewController)
297 +// oldCouponsViewController.view.frame = self.view.frame
298 +// view.addSubview(oldCouponsViewController.view)
299 +// oldCouponsViewController.didMove(toParent: self)
300 +
301 +// let instanceOfMyApi = MyApi()
302 +// let detailsViewController = instanceOfMyApi.openDetails(view)!
303 +// detailsViewController.view.tag = 10
304 +// addChild(detailsViewController)
305 +// detailsViewController.view.frame = self.view.frame
306 +// view.addSubview(detailsViewController.view)
307 +// detailsViewController.didMove(toParent: self)
308 +
309 +// let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self))
310 +
311 +// let storyboard = UIStoryboard(name: "Main", bundle: nil)
312 +// let vc = storyboard.instantiateViewController(withIdentifier: "CouponViewController") as! CouponViewController
313 +// self.navigationController?.pushViewController(vc, animated: true)
314 +
315 +// let storyboard = UIStoryboard(name: "Main", bundle: nil)
316 +// let vc = storyboard.instantiateViewController(withIdentifier: "GiftsViewController") as! GiftsViewController
317 +// self.navigationController?.pushViewController(vc, animated: true)
318 +
319 + // MFYViewController
320 +// let storyboard = UIStoryboard(name: "Main", bundle: nil)
321 +// let vc = storyboard.instantiateViewController(withIdentifier: "MFYViewController") as! MFYViewController
322 +// self.navigationController?.pushViewController(vc, animated: true)
323 +
324 +
325 +// let storyboard = UIStoryboard(name: "Main", bundle: nil)
326 +// let vc = storyboard.instantiateViewController(withIdentifier: "CampaignWebviewViewController") as! CampaignWebviewViewController
327 +// self.navigationController?.pushViewController(vc, animated: true)
328 +
329 +// let storyboard = UIStoryboard(name: "Main", bundle: nil)
330 +// let vc = storyboard.instantiateViewController(withIdentifier: "CouponBarcodeViewController") as! CouponBarcodeViewController
331 +// self.navigationController?.pushViewController(vc, animated: true)
332 +
333 + // WalletViewController
334 +// let storyboard = UIStoryboard(name: "Main", bundle: nil)
335 +// let vc = storyboard.instantiateViewController(withIdentifier: "WalletViewController") as! WalletViewController
336 +// self.navigationController?.pushViewController(vc, animated: true)
337 +
338 + // WalletViewController from pod
339 +// let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self))
340 +// let vc = storyboard.instantiateViewController(withIdentifier: "WalletViewController") as! SwiftWarplyFramework.WalletViewController
341 +// self.navigationController?.pushViewController(vc, animated: true)
342 +
343 +
344 + // GiftsViewController from pod
345 +// let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self))
346 +// let vc = storyboard.instantiateViewController(withIdentifier: "GiftsViewController") as! SwiftWarplyFramework.GiftsViewController
347 +// self.navigationController?.pushViewController(vc, animated: true)
348 +
349 + // MFYViewController from pod
350 +// let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self))
351 +// let vc = storyboard.instantiateViewController(withIdentifier: "MFYViewController") as! SwiftWarplyFramework.MFYViewController
352 +// self.navigationController?.pushViewController(vc, animated: true)
353 +
354 + // TODO: TEST
355 +// swiftApi().openQuestionnaire(self)
356 +
357 +// let storyboard = UIStoryboard(name: "Main", bundle: nil)
358 +// let vc = storyboard.instantiateViewController(withIdentifier: "CouponsViewController") as! CouponsViewController
359 +// self.navigationController?.pushViewController(vc, animated: true)
360 +
361 + if (self.isLoggedIn) {
362 + // CouponsViewController from pod
363 + let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self))
364 + let vc = storyboard.instantiateViewController(withIdentifier: "CouponsViewController") as! SwiftWarplyFramework.CouponsViewController
365 + self.navigationController?.pushViewController(vc, animated: true)
366 + }
367 +
368 + }
369 +
370 + @IBAction func giftsBtnAction(_ sender: Any) {
371 +
372 +// let storyboard = UIStoryboard(name: "Main", bundle: nil)
373 +// let vc = storyboard.instantiateViewController(withIdentifier: "GiftsViewController") as! GiftsViewController
374 +// self.navigationController?.pushViewController(vc, animated: true)
375 +
376 + if (self.isLoggedIn) {
377 + // GiftsViewController from pod
378 + let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self))
379 + let vc = storyboard.instantiateViewController(withIdentifier: "GiftsViewController") as! SwiftWarplyFramework.GiftsViewController
380 + self.navigationController?.pushViewController(vc, animated: true)
381 + }
382 +
383 + }
384 +
385 +
386 + @IBAction func morefybtnAction(_ sender: Any) {
387 +
388 +// let storyboard = UIStoryboard(name: "Main", bundle: nil)
389 +// let vc = storyboard.instantiateViewController(withIdentifier: "MFYViewController") as! MFYViewController
390 +// self.navigationController?.pushViewController(vc, animated: true)
391 +
392 + if (self.isLoggedIn) {
393 + // MFYViewController from pod
394 + let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self))
395 + let vc = storyboard.instantiateViewController(withIdentifier: "MFYViewController") as! SwiftWarplyFramework.MFYViewController
396 + self.navigationController?.pushViewController(vc, animated: true)
397 + }
398 +
399 + }
400 +
401 + @IBAction func walletBtnAction(_ sender: Any) {
402 +// let storyboard = UIStoryboard(name: "Main", bundle: nil)
403 +// let vc = storyboard.instantiateViewController(withIdentifier: "WalletViewController") as! WalletViewController
404 +// self.navigationController?.pushViewController(vc, animated: true)
405 + if (self.isLoggedIn) {
406 + // WalletViewController from pod
407 + let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self))
408 + let vc = storyboard.instantiateViewController(withIdentifier: "WalletViewController") as! SwiftWarplyFramework.WalletViewController
409 + self.navigationController?.pushViewController(vc, animated: true)
410 + }
411 +
412 + }
413 +
414 + @IBAction func telcoBtnAction(_ sender: Any) {
415 + if (self.isLoggedIn) {
416 + // TelcoViewController from pod
417 + let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self))
418 + let vc = storyboard.instantiateViewController(withIdentifier: "TelcoViewController") as! SwiftWarplyFramework.TelcoViewController
419 + self.navigationController?.pushViewController(vc, animated: true)
420 + }
421 +
422 + }
423 +
424 + @IBAction func loginBtnAction(_ sender: Any) {
425 + // TODO: ADD getCosmoteUser request
426 + // guidTextField.text
427 + swiftApi().getCosmoteUserAsync(guid: guidTextField.text ?? "", getCosmoteUserCallback)
428 +
429 + func getCosmoteUserCallback (_ responseData: swiftApi.GenericResponseModel?) -> Void {
430 + if (responseData != nil) {
431 + DispatchQueue.main.async {
432 + print("========= getCosmoteUserAsync SUCCESSSS =========")
433 + print(responseData)
434 + if (responseData?.getStatus == 1) {
435 + self.getCampaignsRequest()
436 + self.getProfileRequest()
437 + self.getCouponsRequest()
438 + self.isLoggedIn = true
439 + }
440 +
441 + }
442 + } else {
443 + print("========= getCosmoteUserAsync ERROR =========")
444 + print(responseData)
445 + }
446 + }
447 + }
448 +
449 + @IBAction func guidTextFieldEditingChanged(_ sender: UITextField) {
450 +// print("==== guidTextFieldEditingChanged ======")
451 +// print(sender.text)
452 +// print(guidTextField.text)
453 + }
454 +}
455 +
456 +extension UIViewController
457 +{
458 + func setupToHideKeyboardOnTapOnView()
459 + {
460 + let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(UIViewController.dismissKeyboard))
461 +
462 + tap.cancelsTouchesInView = false
463 + view.addGestureRecognizer(tap)
464 + }
465 +
466 + @objc func dismissKeyboard()
467 + {
468 + view.endEditing(true)
469 + }
470 +}
471 +
1 +//
2 +// ViewControllerExtensions.swift
3 +// swift_example
4 +//
5 +// Created by Manos Chorianopoulos on 5/5/22.
6 +//
7 +
8 +import UIKit
9 +
10 +extension UIViewController {
11 + func setBackButton() {
12 + let uiscreen: CGRect = UIScreen.main.bounds
13 +
14 + let backButton = UIButton(type: UIButton.ButtonType.custom) as UIButton
15 + backButton.frame = CGRect(x: 0, y: 0, width: uiscreen.height * 0.025, height: uiscreen.height * 0.02)
16 +// backButton.frame = CGRect(x: 0, y: 0, width: uiscreen.height * 0.01, height: uiscreen.height * 0.01)
17 +// backButton.backgroundColor = .red
18 + backButton.imageView!.contentMode = .scaleAspectFit
19 + //backButton.setBackgroundImage(UIImage(named:Assets.Navigation.backButton), for: UIControlState())
20 + backButton.setImage(UIImage(named: "ic_back"), for: .normal)
21 +// backButton.imageEdgeInsets = UIEdgeInsets(top: 0, left: -20, bottom: 0, right: 0)
22 + backButton.addTarget(self, action: #selector(moveToBack(_:)), for: .touchUpInside)
23 +
24 +
25 + backButton.translatesAutoresizingMaskIntoConstraints = false
26 + // Add width, height constraints
27 + let widthContraints = NSLayoutConstraint(item: backButton, attribute: NSLayoutConstraint.Attribute.width, relatedBy: NSLayoutConstraint.Relation.equal, toItem: nil, attribute: NSLayoutConstraint.Attribute.notAnAttribute, multiplier: 1, constant: uiscreen.height * 0.025)
28 + let heightContraints = NSLayoutConstraint(item: backButton, attribute: NSLayoutConstraint.Attribute.height, relatedBy: NSLayoutConstraint.Relation.equal, toItem: nil, attribute: NSLayoutConstraint.Attribute.notAnAttribute, multiplier: 1, constant: uiscreen.height * 0.02)
29 + NSLayoutConstraint.activate([heightContraints,widthContraints])
30 +
31 + let leftBarButtonItem: UIBarButtonItem = UIBarButtonItem(customView: backButton)
32 + self.navigationItem.setLeftBarButton(leftBarButtonItem, animated: false)
33 + self.navigationItem.title = ""
34 + }
35 +
36 +
37 + @objc func moveToBack(_ sender:UIButton){
38 + self.navigationController?.popViewController(animated: true)
39 + }
40 +
41 + func setNavigationTitle(_ title: String) {
42 + let uiscreen: CGRect = UIScreen.main.bounds
43 +
44 +// let titleLabel = UILabel(frame: CGRect(x: 0, y: 0, width: 25, height: 45))
45 + let titleLabel = UILabel(frame: CGRect(x: 0, y: 0, width: uiscreen.width * 0.7, height: uiscreen.height * 0.03))
46 + titleLabel.text = title
47 + titleLabel.textColor = UIColor(red: 0.21, green: 0.32, blue: 0.41, alpha: 1.00)
48 +// titleLabel.font = UIFont(name: Fonts.ProximaNova.semibold, size: 16)
49 + titleLabel.font = UIFont.systemFont(ofSize: 16, weight: UIFont.Weight.semibold)
50 + titleLabel.adjustsFontSizeToFitWidth = true
51 + titleLabel.textAlignment = .center
52 +// titleLabel.backgroundColor = .red
53 + self.navigationItem.titleView = titleLabel
54 +
55 + }
56 +}
57 +
58 +extension String {
59 + var htmlToAttributedString: NSAttributedString? {
60 + guard let data = data(using: .utf8) else { return nil }
61 + do {
62 + return try NSAttributedString(data: data, options: [.documentType: NSAttributedString.DocumentType.html, .characterEncoding:String.Encoding.utf8.rawValue], documentAttributes: nil)
63 + } catch {
64 + return nil
65 + }
66 + }
67 + var htmlToString: String {
68 + return htmlToAttributedString?.string ?? ""
69 + }
70 +}
71 +
72 +extension String {
73 +
74 + var length: Int {
75 + return count
76 + }
77 +
78 + subscript (i: Int) -> String {
79 + return self[i ..< i + 1]
80 + }
81 +
82 + func substring(fromIndex: Int) -> String {
83 + return self[min(fromIndex, length) ..< length]
84 + }
85 +
86 + func substring(toIndex: Int) -> String {
87 + return self[0 ..< max(0, toIndex)]
88 + }
89 +
90 + subscript (r: Range<Int>) -> String {
91 + let range = Range(uncheckedBounds: (lower: max(0, min(length, r.lowerBound)),
92 + upper: min(length, max(0, r.upperBound))))
93 + let start = index(startIndex, offsetBy: range.lowerBound)
94 + let end = index(start, offsetBy: range.upperBound - range.lowerBound)
95 + return String(self[start ..< end])
96 + }
97 +}
98 +
99 +extension UIView {
100 +
101 + func addDashedBorderVertical(color: UIColor, width: CGFloat, height: CGFloat) {
102 +
103 +// let color = UIColor(red: 0.44, green: 0.44, blue: 0.44, alpha: 1.00).cgColor
104 + let color = color.cgColor
105 + let frameSize = self.frame.size
106 +
107 + let lineLayer = CAShapeLayer()
108 + lineLayer.strokeColor = color
109 +// lineLayer.lineWidth = 1
110 + lineLayer.lineWidth = width
111 + lineLayer.lineDashPattern = [5,5]
112 +
113 + let path = CGMutablePath()
114 +// path.addLines(between: [CGPoint(x: frameSize.width/2, y: 0), CGPoint(x: frameSize.width/2, y: frameSize.height)])
115 +// path.addLines(between: [CGPoint(x: frameSize.width/2, y: 0), CGPoint(x: frameSize.width/2, y: 110)])
116 + path.addLines(between: [CGPoint(x: frameSize.width/2, y: 0), CGPoint(x: frameSize.width/2, y: height)])
117 + lineLayer.path = path
118 + self.layer.addSublayer(lineLayer)
119 + }
120 +}
121 +
122 +extension UIImageView {
123 + // func downloaded(from url: URL, contentMode mode: ContentMode = .scaleAspectFit) {
124 + // contentMode = mode
125 + // URLSession.shared.dataTask(with: url) { data, response, error in
126 + // guard
127 + // let httpURLResponse = response as? HTTPURLResponse, httpURLResponse.statusCode == 200,
128 + // let mimeType = response?.mimeType, mimeType.hasPrefix("image"),
129 + // let data = data, error == nil,
130 + // let image = UIImage(data: data)
131 + // else { return }
132 + // DispatchQueue.main.async() { [weak self] in
133 + // self?.image = image
134 + // }
135 + // }.resume()
136 + // }
137 +
138 + // func downloaded(from link: String, contentMode mode: ContentMode = .scaleAspectFit) {
139 + // guard let url = URL(string: link) else { return }
140 + // downloaded(from: url, contentMode: mode)
141 + // }
142 +
143 + func load(link: String, placeholder: UIImage?, cache: URLCache? = nil) {
144 + guard let url = URL(string: link) else { return }
145 +
146 + let cache = cache ?? URLCache.shared
147 + let request = URLRequest(url: url)
148 + if let data = cache.cachedResponse(for: request)?.data, let image = UIImage(data: data) {
149 + DispatchQueue.main.async {
150 + self.image = image
151 +
152 + // print("==== Cached Image =====")
153 + }
154 + } else {
155 + self.image = placeholder
156 + URLSession.shared.dataTask(with: request, completionHandler: { (data, response, error) in
157 + if let data = data, let response = response, ((response as? HTTPURLResponse)?.statusCode ?? 500) < 300, let image = UIImage(data: data) {
158 + let cachedData = CachedURLResponse(response: response, data: data)
159 + cache.storeCachedResponse(cachedData, for: request)
160 + DispatchQueue.main.async {
161 + self.image = image
162 +
163 + // print("==== Image from url =====")
164 + }
165 +
166 + }
167 + }).resume()
168 + }
169 + }
170 +}
171 +
172 +typealias GradientPoints = (startPoint: CGPoint, endPoint: CGPoint)
173 +
174 +enum GradientOrientation {
175 + case topRightBottomLeft
176 + case topLeftBottomRight
177 + case horizontal
178 + case vertical
179 +
180 + var startPoint : CGPoint {
181 + return points.startPoint
182 + }
183 +
184 + var endPoint : CGPoint {
185 + return points.endPoint
186 + }
187 +
188 + var points : GradientPoints {
189 + switch self {
190 + case .topRightBottomLeft:
191 + return (CGPoint(x: 0.0,y: 1.0), CGPoint(x: 1.0,y: 0.0))
192 + case .topLeftBottomRight:
193 + return (CGPoint(x: 0.0,y: 0.0), CGPoint(x: 1,y: 1))
194 + case .horizontal:
195 + return (CGPoint(x: 0.0,y: 0.5), CGPoint(x: 1.0,y: 0.5))
196 + case .vertical:
197 + return (CGPoint(x: 0.0,y: 0.0), CGPoint(x: 0.0,y: 1.0))
198 + }
199 + }
200 +}
201 +
202 +extension UIView {
203 +
204 + func applyGradient(colours: [UIColor], locations: [NSNumber]? = nil, cornerRadius: CGFloat) {
205 + let gradient = CAGradientLayer()
206 + gradient.frame = self.bounds
207 + gradient.colors = colours.map { $0.cgColor }
208 + gradient.locations = locations
209 + gradient.cornerRadius = cornerRadius
210 + gradient.name = "linearGradientLayer"
211 + self.layer.insertSublayer(gradient, at: 0)
212 + }
213 +
214 + func applyGradient(colours: [UIColor], gradient orientation: GradientOrientation, cornerRadius: CGFloat) {
215 + let gradient = CAGradientLayer()
216 + gradient.frame = self.bounds
217 + gradient.colors = colours.map { $0.cgColor }
218 + gradient.startPoint = orientation.startPoint
219 + gradient.endPoint = orientation.endPoint
220 + gradient.cornerRadius = cornerRadius
221 + gradient.name = "linearGradientLayer"
222 + self.layer.insertSublayer(gradient, at: 0)
223 + }
224 +}
1 +//
2 +// CampaignWebviewViewController.swift
3 +// swift_example
4 +//
5 +// Created by Manos Chorianopoulos on 18/5/22.
6 +//
7 +
8 +import UIKit
9 +import WebKit
10 +// TODO: UNCOMMENT
11 +//import SwiftEventBus
12 +// TODO: DELETE
13 +import SwiftWarplyFramework
14 +
15 +class CampaignWebviewViewController: UIViewController, WKNavigationDelegate, WKScriptMessageHandler {
16 +
17 + @IBOutlet weak var webview: WKWebView!
18 +
19 + public var campaignUrl: String = ""
20 +
21 + override func viewDidLoad() {
22 + super.viewDidLoad()
23 +
24 + var campaignUrl = campaignUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
25 + print("Webview url: " + (campaignUrl ?? ""))
26 +
27 + self.hidesBottomBarWhenPushed = true
28 +
29 + setBackButton()
30 +
31 + webview.navigationDelegate = self
32 + if let url = URL(string: campaignUrl ?? "") {
33 + webview.load(URLRequest(url: url))
34 + webview.allowsBackForwardNavigationGestures = true
35 + }
36 +
37 +
38 + webview.configuration.userContentController.add(self, name: "Cosmote")
39 +
40 + }
41 +
42 + func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
43 + print("=== event callback ===")
44 + print(message.name, message.body)
45 + print("=== event callback ===")
46 + print(message.body)
47 +
48 +
49 + if let event = message.body as? String {
50 + let eventArray = event.split(separator: ":")
51 +
52 + if (eventArray[0] == "event") {
53 + if (eventArray[1] == "closeArtwork") {
54 + print("=== event closeArtwork ===")
55 + self.navigationController?.popViewController(animated: true)
56 +
57 + } else if (eventArray[1] == "addUserTag") {
58 + let questionnaireEvent = swiftApi.QuestionnaireEventModel()
59 + questionnaireEvent._name = String(eventArray[1])
60 + if (eventArray.count > 2) {
61 + questionnaireEvent._parameter = String(eventArray[2])
62 + swiftApi().setUserTag(String(eventArray[2]))
63 + } else {
64 + questionnaireEvent._parameter = ""
65 + swiftApi().setUserTag("")
66 + }
67 +// if ((eventArray[2] != nil) && (eventArray[2] != "")) {
68 +// questionnaireEvent._parameter = String(eventArray[2])
69 +// swiftApi().setUserTag(String(eventArray[2]))
70 +// } else {
71 +// questionnaireEvent._parameter = ""
72 +// swiftApi().setUserTag("")
73 +// }
74 +
75 + // TODO: UNCOMMENT
76 +// SwiftEventBus.post("questionnaire", sender: questionnaireEvent)
77 +
78 + // swiftApi().setUserTag(String(eventArray[2]))
79 + // self.navigationController?.popViewController(animated: true)
80 +
81 + } else if (eventArray[1] == "couponRetrieved") {
82 + let couponEvent = swiftApi.CouponEventModel()
83 + // TODO: UNCOMMENT
84 +// SwiftEventBus.post("coupon_retrieved", sender: couponEvent)
85 +
86 + } else if (eventArray[2] == "serviceDisabled") {
87 + let pacingService = swiftApi.WarplyPacingEventModel()
88 + pacingService._isEnabled = false
89 + // TODO: UNCOMMENT
90 +// SwiftEventBus.post("pacing", sender: pacingService)
91 +
92 + } else if (eventArray[2] == "serviceEnabled") {
93 + let pacingService = swiftApi.WarplyPacingEventModel()
94 + pacingService._isEnabled = true
95 + // TODO: UNCOMMENT
96 +// SwiftEventBus.post("pacing", sender: pacingService)
97 +
98 + } else if (eventArray[2] == "shortcutEnabled") {
99 + let pacingEvent = swiftApi.WarplyPacingEventModel()
100 + pacingEvent._isVisible = true
101 + // TODO: UNCOMMENT
102 +// SwiftEventBus.post("pacing", sender: pacingEvent)
103 +
104 + } else if (eventArray[2] == "shortcutDisabled") {
105 + let pacingEvent = swiftApi.WarplyPacingEventModel()
106 + pacingEvent._isVisible = false
107 + // TODO: UNCOMMENT
108 +// SwiftEventBus.post("pacing", sender: pacingEvent)
109 +
110 + } else if (eventArray[1] == "request" || eventArray[1] == "response") {
111 + print("**************** WARPLY Webview Log START *****************")
112 + print(eventArray[2])
113 + print("**************** WARPLY Webview Log END *****************")
114 + }
115 + }
116 + }
117 +
118 +// webview.evaluateJavaScript("window.asyncResponseFromIos(123)")
119 + }
120 +
121 +}
1 +//
2 +// CouponBarcodeViewController.swift
3 +// swift_example
4 +//
5 +// Created by Manos Chorianopoulos on 19/5/22.
6 +//
7 +
8 +import UIKit
9 +import SwiftWarplyFramework
10 +// TODO: Uncomment for barcode
11 +//import RSBarcodes_Swift
12 +//import AVFoundation
13 +//import SwiftEventBus
14 +
15 +class CouponBarcodeViewController: UIViewController {
16 + @IBOutlet weak var backgroundImage: UIImageView!
17 + @IBOutlet weak var scrollView: UIScrollView!
18 + @IBOutlet weak var scrollContentView: UIView!
19 + @IBOutlet weak var couponImage: UIImageView!
20 + @IBOutlet weak var couponImageHeight: NSLayoutConstraint!
21 + @IBOutlet weak var nameLabel: UILabel!
22 + @IBOutlet weak var discriptionLabel: UILabel!
23 + @IBOutlet weak var couponView: UIView!
24 + @IBOutlet weak var couponNumberLabel: UILabel!
25 + @IBOutlet weak var barcodeImage: UIImageView!
26 + @IBOutlet weak var barcodeImageHeight: NSLayoutConstraint!
27 + @IBOutlet weak var barcodeLabel: UILabel!
28 + @IBOutlet weak var showBarcodeButton: UIButton!
29 + @IBOutlet weak var expirationLabel: UILabel!
30 + @IBOutlet weak var redeemButton: UIButton!
31 + @IBOutlet weak var termsButton: UIButton!
32 + @IBOutlet weak var termsTextView: UITextView!
33 + @IBOutlet weak var termsTextViewHeight: NSLayoutConstraint!
34 + //TODO: ADD
35 + @IBOutlet weak var borderViewHeight: NSLayoutConstraint!
36 + @IBOutlet weak var borderView2Height: NSLayoutConstraint!
37 +
38 + let uiscreen: CGRect = UIScreen.main.bounds
39 +
40 + var termsVisible: Bool = false;
41 + var barcodeVisible: Bool = false;
42 +
43 + public var coupon: swiftApi.CouponItemModel?
44 +
45 + override func viewDidLoad() {
46 + super.viewDidLoad()
47 +
48 + // TODO: DELETE ===>
49 + // swiftApi().setUserTag("NEWtestTag")
50 +
51 + self.hidesBottomBarWhenPushed = true
52 +
53 + // Do any additional setup after loading the view.
54 + setBackButton()
55 + setNavigationTitle("Εκπτωτικό κουπόνι")
56 +
57 + backgroundImage.image = UIImage(named: "coupons_scrollview_white")
58 +
59 + scrollView.clipsToBounds = true
60 + scrollView.layer.cornerRadius = 30
61 + scrollView.layer.maskedCorners = [ .layerMinXMinYCorner] // Top left corner radius
62 +
63 + // COUPONSET: desc, img_preview, name, terms
64 + // COUPON: coupon, expiration, discount, status
65 +
66 + let couponSetData: swiftApi.CouponSetItemModel? = coupon?.couponset_data
67 +
68 + couponImage.load(link: couponSetData?.img_preview ?? "", placeholder: UIImage(), cache: URLCache())
69 + couponImage.contentMode = .scaleAspectFill
70 + couponImageHeight.constant = self.uiscreen.height * 0.25
71 +
72 + nameLabel.text = couponSetData?.name ?? ""
73 + discriptionLabel.text = couponSetData?.short_description ?? ""
74 +
75 + couponView.layer.cornerRadius = 10
76 + couponNumberLabel.text = coupon?.coupon ?? ""
77 +
78 + let barcodeString = constructBarcode() ?? ""
79 + barcodeLabel.text = barcodeString
80 +
81 + // TODO: Uncomment for barcode
82 +// if let barcodeUIImage = RSUnifiedCodeGenerator.shared.generateCode(barcodeString, machineReadableCodeObjectType: AVMetadataObject.ObjectType.ean13.rawValue, targetSize: CGSize(width: self.uiscreen.width * 0.8, height: self.uiscreen.height * 0.1)) {
83 +// barcodeImage.image = barcodeUIImage
84 +//
85 +// barcodeImageHeight.constant = self.uiscreen.height * 0.1
86 +// } else {
87 +// barcodeImageHeight.constant = 0
88 +// }
89 +
90 + showBarcodeButton.titleLabel?.font = .systemFont(ofSize: 15.0, weight: .semibold)
91 +
92 + expirationLabel.text = "Το κουπόνι ισχύει έως " + (coupon?.expiration ?? "")
93 +
94 + redeemButton.titleLabel?.font = UIFont.systemFont(ofSize: 15, weight: .medium)
95 +
96 + termsButton.titleLabel?.font = .systemFont(ofSize: 15.0, weight: .semibold)
97 +// termsButton.imageView?.layer.transform = CATransform3DMakeScale(1.5, 1.5, 1.5)
98 +
99 + let htmlText = couponSetData?.terms ?? ""
100 + termsTextView.attributedText = htmlText.htmlToAttributedString
101 + termsTextView.font = UIFont.systemFont(ofSize: 14, weight: UIFont.Weight.regular)
102 + termsTextView.textColor = UIColor(red: 0.25, green: 0.33, blue: 0.39, alpha: 1.00)
103 + termsTextView.textAlignment = .center
104 + termsTextView.isScrollEnabled = false
105 +
106 + toggleTerms()
107 + toggleBarcode()
108 +
109 + // Logs
110 + print("Coupon: " + (coupon?.coupon ?? ""))
111 + print("Coupon Name: " + (couponSetData?.name ?? ""))
112 + print("Coupon Description: " + (couponSetData?.short_description ?? ""))
113 + print("Coupon Expiration: " + (coupon?.expiration ?? ""))
114 + }
115 +
116 + // MARK: - Functions
117 + func toggleTerms() {
118 + if (termsVisible) {
119 + termsTextView.isHidden = false
120 + let targetSize = CGSize(width: termsTextView.frame.width, height: CGFloat(MAXFLOAT))
121 + termsTextViewHeight.constant = termsTextView.sizeThatFits(targetSize).height
122 +
123 + termsButton.setImage(UIImage(named: "ic_up_dark.png"), for: .normal)
124 + } else {
125 + termsTextView.isHidden = true
126 + termsTextViewHeight.constant = CGFloat(0)
127 +
128 + termsButton.setImage(UIImage(named: "ic_down_dark.png"), for: .normal)
129 + }
130 + }
131 +
132 + func toggleBarcode() {
133 + if (barcodeVisible) {
134 +// termsTextView.isHidden = false
135 +// let targetSize = CGSize(width: termsTextView.frame.width, height: CGFloat(MAXFLOAT))
136 +// termsTextViewHeight.constant = termsTextView.sizeThatFits(targetSize).height
137 +
138 + barcodeImage.isHidden = false
139 + let targetSize = CGSize(width: barcodeImage.frame.width, height: CGFloat(MAXFLOAT))
140 + termsTextViewHeight.constant = barcodeImage.sizeThatFits(targetSize).height
141 + barcodeLabel.isHidden = false
142 +
143 + showBarcodeButton.setTitle("Απόκρυψη barcode", for: .normal)
144 + showBarcodeButton.setImage(UIImage(named: "ic_up_dark.png"), for: .normal)
145 + } else {
146 +// termsTextView.isHidden = true
147 +// termsTextViewHeight.constant = CGFloat(0)
148 +
149 + barcodeImage.isHidden = true
150 + barcodeImageHeight.constant = CGFloat(0)
151 + barcodeLabel.isHidden = true
152 +
153 + showBarcodeButton.setTitle("Εμφάνιση barcode", for: .normal)
154 + showBarcodeButton.setImage(UIImage(named: "ic_down_dark.png"), for: .normal)
155 + }
156 + }
157 +
158 + func constructBarcode() -> String? {
159 + // EAN 13 barcode construction
160 + let couponData = coupon?.couponset_data
161 + let couponString = coupon?.coupon ?? ""
162 +
163 + if (!couponString.isEmpty) {
164 + var checkDigit = 0;
165 + var result = 0;
166 +
167 + var fixedCouponCode = couponString;
168 + if (fixedCouponCode.count < 12) {
169 + let loops = 12 - fixedCouponCode.count;
170 + var zerosStr = "";
171 + for i in 0 ..< loops {
172 + zerosStr += "0"
173 + }
174 + fixedCouponCode = zerosStr + fixedCouponCode;
175 + }
176 +
177 + var multiplier = 3;
178 + for idx in (0 ... (fixedCouponCode.count - 1)).reversed() {
179 + let curChar = fixedCouponCode[idx];
180 + result += (Int(curChar) ?? 0) * multiplier;
181 + multiplier = multiplier == 3 ? 1 : 3;
182 + }
183 + checkDigit = 10 - (result % 10);
184 +
185 + let barcodeStr = fixedCouponCode + String(checkDigit);
186 + return barcodeStr;
187 + }
188 +
189 + return ""
190 + }
191 +
192 + // MARK: - Actions
193 +
194 + @IBAction func redeemButtomAction(_ sender: Any) {
195 + // TODO: Add redeem action
196 +
197 +// SwiftEventBus.post("couponBarcodeRedeem", sender: coupon)
198 + // SwiftEventBus.post("couponBarcodeRedeem", sender: coupon)
199 +
200 + let alert = UIAlertController(title: "Το κουπόνι σου ενεργοποιήθηκε", message: "Μπορείς να το βρεις στην αρχική οθόνη της εφαρμογής και στην ενότητα ενεργά δώρα!", preferredStyle: .alert)
201 + alert.addAction(UIAlertAction(title: "OK", style: .default, handler: { action in
202 + switch action.style{
203 + case .default:
204 + print("default")
205 +
206 + case .cancel:
207 + print("cancel")
208 +
209 + case .destructive:
210 + print("destructive")
211 +
212 + }
213 + }))
214 + self.present(alert, animated: true, completion: nil)
215 + }
216 +
217 + @IBAction func showBarcodeAction(_ sender: Any) {
218 + barcodeVisible = !barcodeVisible
219 + toggleBarcode()
220 + }
221 +
222 + @IBAction func termsButtonAction(_ sender: Any) {
223 + termsVisible = !termsVisible
224 + toggleTerms()
225 + }
226 +}
1 +//
2 +// CouponViewController.swift
3 +// swift_example
4 +//
5 +// Created by Manos Chorianopoulos on 5/5/22.
6 +//
7 +
8 +import UIKit
9 +import SwiftWarplyFramework
10 +//import SwiftEventBus
11 +
12 +class CouponViewController: UIViewController {
13 + @IBOutlet weak var mainView: UIView!
14 + @IBOutlet weak var backgroundImage: UIImageView!
15 + @IBOutlet weak var scrollView: UIScrollView!
16 + @IBOutlet weak var scrollContentView: UIView!
17 + @IBOutlet weak var couponImage: UIImageView!
18 + @IBOutlet weak var couponImageHeight: NSLayoutConstraint!
19 + @IBOutlet weak var nameLabel: UILabel!
20 + @IBOutlet weak var descriptionLabel: UILabel!
21 + @IBOutlet weak var redeemButton: UIButton!
22 + @IBOutlet weak var termsButton: UIButton!
23 + @IBOutlet weak var termsTextView: UITextView!
24 + @IBOutlet weak var termsTextViewHeight: NSLayoutConstraint!
25 +
26 + let uiscreen: CGRect = UIScreen.main.bounds
27 +
28 + var termsVisible: Bool = false;
29 +
30 + public var couponset: swiftApi.CouponSetItemModel?
31 +
32 + override func viewDidLoad() {
33 + super.viewDidLoad()
34 +
35 + self.hidesBottomBarWhenPushed = true
36 +
37 + // Do any additional setup after loading the view.
38 + setBackButton()
39 + setNavigationTitle("Εκπτωτικό κουπόνι")
40 +
41 + backgroundImage.image = UIImage(named: "coupons_scrollview_white")
42 +
43 + scrollView.clipsToBounds = true
44 + scrollView.layer.cornerRadius = 30
45 + scrollView.layer.maskedCorners = [ .layerMinXMinYCorner] // Top left corner radius
46 +
47 + couponImage.load(link: couponset?.img_preview ?? "", placeholder: UIImage(), cache: URLCache())
48 + couponImage.contentMode = .scaleAspectFill
49 + couponImageHeight.constant = self.uiscreen.height * 0.25
50 +
51 + nameLabel.text = couponset?.name ?? ""
52 + descriptionLabel.text = couponset?.short_description ?? ""
53 +
54 + redeemButton.titleLabel?.font = UIFont.systemFont(ofSize: 15, weight: .medium)
55 +
56 + termsButton.titleLabel?.font = .systemFont(ofSize: 15.0, weight: .semibold)
57 +// termsButton.imageView?.layer.transform = CATransform3DMakeScale(1.5, 1.5, 1.5)
58 +
59 +
60 + let htmlText = couponset?.terms ?? ""
61 + termsTextView.attributedText = htmlText.htmlToAttributedString
62 + termsTextView.font = UIFont.systemFont(ofSize: 14, weight: UIFont.Weight.regular)
63 + termsTextView.textColor = UIColor(red: 0.25, green: 0.33, blue: 0.39, alpha: 1.00)
64 + termsTextView.textAlignment = .center
65 + termsTextView.isScrollEnabled = false
66 +
67 + toggleTerms()
68 +
69 + }
70 +
71 + // MARK: - Functions
72 + func toggleTerms() {
73 + if (termsVisible) {
74 + termsTextView.isHidden = false
75 + let targetSize = CGSize(width: termsTextView.frame.width, height: CGFloat(MAXFLOAT))
76 + termsTextViewHeight.constant = termsTextView.sizeThatFits(targetSize).height
77 +
78 + termsButton.setImage(UIImage(named: "ic_up_dark.png"), for: .normal)
79 + } else {
80 + termsTextView.isHidden = true
81 + termsTextViewHeight.constant = CGFloat(0)
82 +
83 + termsButton.setImage(UIImage(named: "ic_down_dark.png"), for: .normal)
84 + }
85 + }
86 +
87 + func redeemCouponSetRequest(uuid: String) {
88 + swiftApi().redeemCouponSetAsync(uuid: uuid, redeemCouponSetCallback)
89 + }
90 +
91 + func redeemCouponSetCallback (_ response: swiftApi.GenericResponseModel?) -> Void {
92 + if (response != nil) {
93 + print("==== redeemCouponSet response =======")
94 + print(response)
95 + print(response?.getResult)
96 + print(response?.getStatus)
97 + print(response?.getMsg)
98 + print("==== redeemCouponSet response =======")
99 +
100 + DispatchQueue.main.async {
101 + if (response?.getStatus == 1) {
102 + // Do something
103 + }
104 + }
105 + } else {
106 + print("==== redeemCouponSet response nil =======")
107 + }
108 + }
109 +
110 + // MARK: - Actions
111 +
112 + @IBAction func redeemButtomAction(_ sender: Any) {
113 + print("redeem Buttom Pressed!")
114 + print(couponset?.uuid ?? "")
115 + print("redeem Buttom Pressed!")
116 +
117 + redeemCouponSetRequest(uuid: couponset?.uuid ?? "")
118 +
119 + // SwiftEventBus.post("couponRedeem", sender: coupon)
120 + }
121 +
122 + @IBAction func termsButtonAction(_ sender: Any) {
123 + termsVisible = !termsVisible
124 + toggleTerms()
125 + }
126 +}
1 +//
2 +// CouponsTableViewCell.swift
3 +// swift_example
4 +//
5 +// Created by Manos Chorianopoulos on 17/5/22.
6 +//
7 +
8 +import UIKit
9 +import SwiftWarplyFramework
10 +
11 +class CouponsTableViewCell: UITableViewCell {
12 + @IBOutlet weak var couponBgImage: UIImageView!
13 + @IBOutlet weak var couponImage: UIImageView!
14 + @IBOutlet weak var borderView: UIView!
15 + @IBOutlet weak var nameLabel: UILabel!
16 + @IBOutlet weak var dicountLabel: UILabel!
17 + @IBOutlet weak var discriptionLabel: UILabel!
18 + @IBOutlet weak var expirationLabel: UILabel!
19 +
20 +
21 + override func awakeFromNib() {
22 + super.awakeFromNib()
23 + // Initialization code
24 +
25 + couponBgImage.image = UIImage(named: "coupon_bg")
26 +
27 + borderView.addDashedBorderVertical(color: UIColor(red: 0.44, green: 0.44, blue: 0.44, alpha: 1.00), width: 1.0, height: 110.0)
28 + }
29 +
30 + override func setSelected(_ selected: Bool, animated: Bool) {
31 + super.setSelected(selected, animated: animated)
32 +
33 + // Configure the view for the selected state
34 + }
35 +
36 + override func layoutSubviews() {
37 + super.layoutSubviews()
38 + //set the values for top,left,bottom,right margins
39 + let margins = UIEdgeInsets(top: 0, left: 0, bottom: 30, right: 0)
40 + contentView.frame = contentView.frame.inset(by: margins)
41 + }
42 +
43 +
44 + func configureCell(coupon: swiftApi.CouponItemModel) {
45 +// COUPONSET: desc, img_preview, name, terms
46 +// COUPON: coupon, expiration, discount, status
47 +
48 + let couponSetData: swiftApi.CouponSetItemModel? = coupon.couponset_data
49 +
50 + couponImage.load(link: couponSetData?.img_preview ?? "", placeholder: UIImage(), cache: URLCache())
51 + nameLabel.text = couponSetData?.name ?? ""
52 + dicountLabel.text = (coupon.discount ?? "") + "€"
53 + discriptionLabel.text = couponSetData?.short_description ?? ""
54 + expirationLabel.text = "Ισχύει έως "+(coupon.expiration ?? "")
55 + }
56 +
57 +}
1 +//
2 +// CouponsViewController.swift
3 +// swift_example
4 +//
5 +// Created by Manos Chorianopoulos on 4/5/22.
6 +//
7 +
8 +import UIKit
9 +import SwiftWarplyFramework
10 +//import SwiftEventBus
11 +
12 +class CouponsViewController: UIViewController {
13 + @IBOutlet weak var backgroundImage: UIImageView!
14 + @IBOutlet weak var tableView: UITableView!
15 +
16 + // TEST
17 + public var campaigns:Array<swiftApi.CampaignItemModel> = swiftApi().getCampaignList()
18 + // <==
19 +
20 + public var coupons:Array<swiftApi.CouponItemModel> = []
21 +
22 + override func viewDidLoad() {
23 + super.viewDidLoad()
24 +
25 + self.hidesBottomBarWhenPushed = true
26 +
27 + getCouponsRequest()
28 +
29 + // TEST
30 +// getCampaignsRequest()
31 + // consumerIntegrationRequest(nonTelco: true, acceptedConsent: true, msisdnList: ["1","2"], guid: "guid")
32 + // <==
33 +
34 + setBackButton()
35 + setNavigationTitle("Ενεργά κουπόνια")
36 +
37 + backgroundImage.image = UIImage(named: "coupons_scrollview_dark")
38 +
39 + tableView.delegate = self
40 + tableView.dataSource = self
41 +
42 + tableView.clipsToBounds = true
43 + tableView.layer.cornerRadius = 30
44 + tableView.layer.maskedCorners = [ .layerMinXMinYCorner] // Top left corner radius
45 + tableView.contentInset.top = 50
46 +
47 +
48 + // TODO: DELETE - TEST
49 +
50 +// swiftApi().openQuestionnaire(self);
51 +
52 + // LoyaltySDKFirebaseEventModel
53 +// let event = swiftApi.LoyaltySDKFirebaseEventModel()
54 +//
55 +// print("======= get =======")
56 +// print(event._parameters)
57 +// print("======= get =======")
58 +// event._eventName = "test"
59 +// event.setParameter = ("1", "asd")
60 +// event.setParameter = ("1", "aaaa")
61 +// event.setParameter = ("2", "bbbb")
62 +// print("======= get 2 =======")
63 +// print(event._parameters)
64 +// print("======= get 2 =======")
65 +
66 +// WarplyPacingModel
67 +// let pacing = swiftApi.WarplyPacingModel()
68 +//
69 +// print("======= get =======")
70 +// print(pacing._tree_co2_year)
71 +// print("======= get =======")
72 +// pacing._tree_co2_year = 1.0
73 +// print("======= get 2 =======")
74 +// print(pacing._tree_co2_year)
75 +// print("======= get 2 =======")
76 +
77 +
78 +// let campaign = swiftApi.LoyaltyContextualOfferModel(sessionId: "sessionId", eligibleAssets: ["asset1","asset2"], id: "id", businessAdditionalId: "businessAdditionalId", treatmentCode: "treatmentCode")
79 +// let campaign2 = swiftApi.LoyaltyContextualOfferModel(sessionId: <#T##String?#>, eligibleAssets: <#T##Array<String>?#>, id: <#T##String?#>, businessAdditionalId: <#T##String?#>, treatmentCode: <#T##String?#>)
80 +// let campaign3 = swiftApi.LoyaltyContextualOfferModel()
81 +
82 +// print("======= get =======")
83 +// print(campaign._eligibleAssets)
84 +// print("======= get =======")
85 +// campaign._eligibleAssets = ["asset1","asset2", "3", "4"]
86 +// print("======= get 2 =======")
87 +// print(campaign._eligibleAssets)
88 +// print("======= get 2 =======")
89 +
90 + // TODO: DELETE - TEST SwiftEventBus
91 +
92 +// SwiftEventBus.onBackgroundThread(self, name: "couponBarcodePressed") { result in
93 +//
94 +// let coupon : swiftApi.CouponItemModel = result?.object as! swiftApi.CouponItemModel
95 +// print("===== SwiftEventBus.onBackgroundThread =====")
96 +// print(coupon.couponset_data?.name)
97 +// print("===== SwiftEventBus.onBackgroundThread =====")
98 +// SwiftEventBus.postToMainThread("couponBarcodePressedMain", sender: coupon)
99 +// }
100 +//
101 +// SwiftEventBus.onMainThread(self, name: "couponBarcodePressedMain") { result in
102 +//
103 +// let coupon : swiftApi.CouponItemModel = result?.object as! swiftApi.CouponItemModel
104 +// print("===== SwiftEventBus.onMainThread =====")
105 +// print(coupon.couponset_data?.name)
106 +// print("===== SwiftEventBus.onMainThread =====")
107 +// }
108 +//
109 +// SwiftEventBus.onBackgroundThread(self, name: "couponBarcodeRedeem") { result in
110 +//
111 +// let coupon : swiftApi.CouponItemModel = result?.object as! swiftApi.CouponItemModel
112 +// print("===== SwiftEventBus.onBackgroundThread couponBarcodeRedeem =====")
113 +// print(coupon.couponset_data?.name)
114 +// print("===== SwiftEventBus.onBackgroundThread couponBarcodeRedeem =====")
115 +// // SwiftEventBus.postToMainThread("couponBarcodePressedMain", sender: coupon)
116 +// }
117 +//
118 +// SwiftEventBus.onBackgroundThread(self, name: "firebase") { result in
119 +//
120 +// let event : swiftApi.LoyaltySDKFirebaseEventModel = result?.object as! swiftApi.LoyaltySDKFirebaseEventModel
121 +// print("===== SwiftEventBus.onBackgroundThread firebase =====")
122 +// print(event._eventName)
123 +// print("===== SwiftEventBus.onBackgroundThread firebase =====")
124 +// }
125 +//
126 +// SwiftEventBus.onBackgroundThread(self, name: "ccms") { result in
127 +//
128 +// let event : swiftApi.LoyaltyContextualOfferModel = result?.object as! swiftApi.LoyaltyContextualOfferModel
129 +// print("===== SwiftEventBus.onBackgroundThread ccms =====")
130 +// print(event)
131 +// print("===== SwiftEventBus.onBackgroundThread ccms =====")
132 +// }
133 +//
134 +// SwiftEventBus.onBackgroundThread(self, name: "gifts") { result in
135 +//
136 +// let event : swiftApi.LoyaltyGiftsForYouOfferClickEvent = result?.object as! swiftApi.LoyaltyGiftsForYouOfferClickEvent
137 +// print("===== SwiftEventBus.onBackgroundThread gifts =====")
138 +// print(event._title)
139 +// print("===== SwiftEventBus.onBackgroundThread gifts =====")
140 +// }
141 +
142 +// SwiftEventBus.onBackgroundThread(self, name: "pacing_visible") { result in
143 +//
144 +// let event : swiftApi.WarplyPacingCardEventModel = result?.object as! swiftApi.WarplyPacingCardEventModel
145 +// print("===== SwiftEventBus.onBackgroundThread pacing_visible =====")
146 +// print(event._isVisible)
147 +// print("===== SwiftEventBus.onBackgroundThread pacing_visible =====")
148 +// }
149 +
150 +// // pacing_service event
151 +// SwiftEventBus.onBackgroundThread(self, name: "pacing_service") { result in
152 +//
153 +// let event : swiftApi.WarplyPacingCardServiceEnabledModel = result?.object as! swiftApi.WarplyPacingCardServiceEnabledModel
154 +// print("===== SwiftEventBus.onBackgroundThread pacing_visible =====")
155 +// print(event._isEnabled)
156 +// print("===== SwiftEventBus.onBackgroundThread pacing_visible =====")
157 +// }
158 +
159 +// // analysis_pressed event
160 +// SwiftEventBus.onBackgroundThread(self, name: "analysis_pressed") { result in
161 +//
162 +// let event : swiftApi.WarplyDealsAnalysisEventModel = result?.object as! swiftApi.WarplyDealsAnalysisEventModel
163 +// print("===== SwiftEventBus.onBackgroundThread analysis_pressed =====")
164 +// print(event._isPressed)
165 +// print("===== SwiftEventBus.onBackgroundThread analysis_pressed =====")
166 +// }
167 +
168 +// // ccms_enabled event
169 +// SwiftEventBus.onBackgroundThread(self, name: "ccms_enabled") { result in
170 +// let event : swiftApi.WarplyCCMSEnabledModel = result?.object as! swiftApi.WarplyCCMSEnabledModel
171 +// print("===== SwiftEventBus.onBackgroundThread ccms_enabled =====")
172 +// print(event._isActivated)
173 +// print("===== SwiftEventBus.onBackgroundThread ccms_enabled =====")
174 +// }
175 +
176 +
177 + }
178 +
179 + // TODO: DELETE - TEST SwiftEventBus
180 + // override func viewWillDisappear(_ animated: Bool) {
181 + // super.viewWillDisappear(animated)
182 +
183 + // SwiftEventBus.unregister(self)
184 + // print("===== SwiftEventBus.unregister =====")
185 + // }
186 +
187 +
188 +
189 + // MARK: - API Functions
190 + func getCouponsRequest() {
191 + swiftApi().getCouponsAsync(getCouponsCallback)
192 + }
193 +
194 + func getCouponsCallback (_ couponsData: Array<swiftApi.CouponItemModel>?) -> Void {
195 + if (couponsData != nil) {
196 + let activeCouponData = swiftApi().filterActiveCoupons(couponsData ?? [])
197 +
198 + self.coupons = activeCouponData
199 +
200 + DispatchQueue.main.async {
201 + self.tableView.reloadData()
202 + }
203 + } else {
204 + self.coupons = []
205 + }
206 + }
207 +
208 + // TODO DELETE: TESTING ===>
209 + func consumerIntegrationRequest(nonTelco: Bool, acceptedConsent: Bool, msisdnList: Array<String>, guid: String) {
210 + swiftApi().consumerIntegrationAsync(nonTelco: nonTelco, acceptedConsent: acceptedConsent, msisdnList: msisdnList, guid: guid, consumerIntegrationCallback)
211 + }
212 +
213 + func consumerIntegrationCallback (_ response: swiftApi.GenericResponseModel?) -> Void {
214 + if (response != nil) {
215 + print("==== consumerIntegration response =======")
216 + print(response)
217 + print(response?.getResult)
218 + print(response?.getStatus)
219 + print(response?.getMsg)
220 + print("==== consumerIntegration response =======")
221 +
222 + DispatchQueue.main.async {
223 + // Do something
224 + }
225 + } else {
226 + print("==== consumerIntegration response nil =======")
227 + }
228 + }
229 +
230 +
231 + func getCampaignsRequest() {
232 + swiftApi().getCampaignsAsync(getCampaignsCallback)
233 + }
234 +
235 + func getCampaignsCallback (_ campaignsData: Array<swiftApi.CampaignItemModel>?) -> Void {
236 + if (campaignsData != nil) {
237 +
238 + self.campaigns = campaignsData ?? []
239 +
240 + DispatchQueue.main.async {
241 +// self.tableView.reloadData()
242 + swiftApi().setUniqueCampaignList(campaignsData ?? [])
243 +
244 + // TODO: Rerender screen
245 +
246 + print("========= DispatchQueue campaignsData SUCCESSSS =========")
247 + print(campaignsData)
248 + print("========= DispatchQueue campaignsData SUCCESSSS =========")
249 + }
250 + } else {
251 + self.campaigns = []
252 + }
253 + }
254 +
255 + func openQuestionnaire(_ controller: UIViewController) -> Void {
256 + for item in self.campaigns {
257 + if (item.offer_category == "questionnaire") {
258 +
259 + let storyboard = UIStoryboard(name: "Main", bundle: nil)
260 + let vc = storyboard.instantiateViewController(withIdentifier: "CampaignWebviewViewController") as! CampaignWebviewViewController
261 + let url = swiftApi().constructCampaignUrl(item)
262 + vc.campaignUrl = url
263 + controller.navigationController?.pushViewController(vc, animated: true)
264 +
265 + break;
266 + }
267 + }
268 + }
269 + // <=== TODO DELETE: TESTING
270 +
271 +}
272 +
273 +// MARK: - TableView
274 +extension CouponsViewController: UITableViewDelegate, UITableViewDataSource{
275 +
276 + func numberOfSections(in tableView: UITableView) -> Int {
277 + return 1
278 + }
279 +
280 + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
281 + return self.coupons.count
282 + }
283 +
284 + func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
285 + return 120.0 + 30.0
286 +// return UITableViewAutomaticDimension
287 + }
288 +
289 + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
290 + let cell = tableView.dequeueReusableCell(withIdentifier: "CouponsTableViewCellId", for: indexPath) as! CouponsTableViewCell
291 +
292 + cell.configureCell(coupon: coupons[indexPath.row])
293 +
294 + return cell
295 + }
296 +
297 + func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
298 +
299 + // TODO: DELETE - TEST SwiftEventBus
300 +// SwiftEventBus.post("couponBarcodePressed", sender: coupons[indexPath.row])
301 +
302 + // firebase event
303 +// let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel()
304 +// firebaseEvent._eventName = "abc"
305 +// firebaseEvent.setParameter = ("1", "asd")
306 +// SwiftEventBus.post("firebase", sender: firebaseEvent)
307 +//
308 +// // ccms event
309 +// let ccms = swiftApi.LoyaltyContextualOfferModel()
310 +// SwiftEventBus.post("ccms", sender: ccms)
311 +//
312 +// // gifts event
313 +// let gift = swiftApi.LoyaltyGiftsForYouOfferClickEvent()
314 +// gift._title = "testTitle"
315 +// SwiftEventBus.post("gifts", sender: gift)
316 +
317 +// // pacing_visible event
318 +// let pacingEvent = swiftApi.WarplyPacingCardEventModel()
319 +// pacingEvent._isVisible = true
320 +// SwiftEventBus.post("pacing_visible", sender: pacingEvent)
321 +
322 +// // pacing_service event
323 +// let pacingService = swiftApi.WarplyPacingCardServiceEnabledModel()
324 +// pacingService._isEnabled = true
325 +// SwiftEventBus.post("pacing_service", sender: pacingService)
326 +
327 +// // analysis_pressed event
328 +// let dealsAnalysis = swiftApi.WarplyDealsAnalysisEventModel()
329 +// dealsAnalysis._isPressed = true
330 +// SwiftEventBus.post("analysis_pressed", sender: dealsAnalysis)
331 +
332 +// // ccms_enabled event
333 +// let ccmsEnabled = swiftApi.WarplyCCMSEnabledModel()
334 +// ccmsEnabled._isActivated = true
335 +// SwiftEventBus.post("ccms_enabled", sender: ccmsEnabled)
336 + // ===
337 +
338 + // TODO: navigate to CouponBarcode
339 +
340 + // Logs
341 + let couponSetData: swiftApi.CouponSetItemModel? = coupons[indexPath.row].couponset_data
342 + print("Coupon clicked: " + (coupons[indexPath.row].coupon ?? ""))
343 + print("Coupon Name clicked: " + (couponSetData?.name ?? ""))
344 + print("Coupon Description clicked: " + (couponSetData?.short_description ?? ""))
345 + print("Coupon Expiration clicked: " + (coupons[indexPath.row].expiration ?? ""))
346 +
347 + let storyboard = UIStoryboard(name: "Main", bundle: nil)
348 + let vc = storyboard.instantiateViewController(withIdentifier: "CouponBarcodeViewController") as! CouponBarcodeViewController
349 + vc.coupon = coupons[indexPath.row]
350 + self.navigationController?.pushViewController(vc, animated: true)
351 +
352 +// openQuestionnaire(self)
353 +
354 + // CouponViewController
355 +// let storyboard = UIStoryboard(name: "Main", bundle: nil)
356 +// let vc = storyboard.instantiateViewController(withIdentifier: "CouponViewController") as! CouponViewController
357 +// vc.couponset = coupons[indexPath.row].couponset_data
358 +// self.navigationController?.pushViewController(vc, animated: true)
359 +
360 +// let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self))
361 +// let vc = storyboard.instantiateViewController(withIdentifier: "CouponViewController") as! CouponViewController
362 +// vc.couponset = couponSets[indexPath.row]
363 +// self.navigationController?.pushViewController(vc, animated: true)
364 +
365 +// let storyboard = UIStoryboard(name: "Main", bundle: nil)
366 +// let vc = storyboard.instantiateViewController(withIdentifier: "CampaignWebviewViewController") as! CampaignWebviewViewController
367 +// let url = swiftApi().constructCampaignUrl(campaigns[0])
368 +//// let url = swiftApi().constructCampaignUrlForShare("5765a6aa4a604fa39a70bd4a0af6f53e", "12345")
369 +//
370 +//// // vc.campaignUrl = "https://www.google.com"
371 +// vc.campaignUrl = url
372 +// self.navigationController?.pushViewController(vc, animated: true)
373 +
374 +// let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self))
375 +// let vc = storyboard.instantiateViewController(withIdentifier: "CampaignViewController") as! CampaignViewController
376 +// vc.campaignUrl = "https://www.google.com"
377 +// self.navigationController?.pushViewController(vc, animated: true)
378 + }
379 +
380 +}
1 +//
2 +// GiftsViewController.swift
3 +// swift_example
4 +//
5 +// Created by Manos Chorianopoulos on 5/5/22.
6 +//
7 +
8 +import UIKit
9 +import SwiftWarplyFramework
10 +
11 +@objc public class GiftsViewController: UIViewController {
12 + @IBOutlet weak var mainView: UIView!
13 + @IBOutlet weak var tableView: UITableView!
14 +
15 + public var coupons:Array<swiftApi.CouponItemModel> = []
16 + public var couponSets:Array<swiftApi.CouponSetItemModel> = []
17 + public var campaigns:Array<swiftApi.CampaignItemModel> = swiftApi().mergeGFYCCMSLoyaltyCampaigns(campaigns: swiftApi().getCCMSLoyaltyCampaigns())
18 + // TODO: ADD
19 + public var seasonalList:Array<swiftApi.LoyaltyGiftsForYouPackage> = swiftApi().getSeasonalList()
20 +
21 +// var response:swiftApi.VerifyTicketResponseModel?
22 + // var profile: swiftApi.ProfileModel?
23 +
24 + let uiscreen: CGRect = UIScreen.main.bounds
25 +
26 + let hasOpenedGifts = UserDefaults.standard.bool(forKey: "hasOpenedGifts")
27 +
28 + // if(!hasOpenedGifts)
29 + // UserDefaults.standard.set(true, forKey: "hasOpenedGifts")
30 +
31 + public override func viewDidLoad() {
32 + super.viewDidLoad()
33 +
34 + self.hidesBottomBarWhenPushed = true
35 +
36 + // TODO: DELETE ===>
37 + let seasonal1 = swiftApi.LoyaltyGiftsForYouPackage()
38 + seasonal1._title = "test1"
39 + seasonal1._imageUrl = "https://warply.s3.amazonaws.com/artworks/ea0f7ca82b2e478394c4608c213f7c10/default.png"
40 + seasonal1._loyaltyPackageId = "id1"
41 +
42 + let seasonal2 = swiftApi.LoyaltyGiftsForYouPackage()
43 + seasonal2._title = "test2"
44 + seasonal2._imageUrl = "https://warply.s3.amazonaws.com/artworks/ea0f7ca82b2e478394c4608c213f7c10/default.png"
45 + seasonal2._loyaltyPackageId = "id2"
46 +
47 + let seasonalArray:Array<swiftApi.LoyaltyGiftsForYouPackage> = [seasonal1, seasonal2]
48 + swiftApi().setSeasonalList(seasonalArray)
49 + // TODO: DELETE <===
50 +
51 + // TODO: ADD
52 + if (seasonalList.count > 0) {
53 + for seasonalItem in seasonalList {
54 + let newCampaign = swiftApi.CampaignItemModel()
55 + newCampaign._title = seasonalItem._title
56 + newCampaign._logo_url = seasonalItem._imageUrl
57 + newCampaign._loyaltyPackageId = seasonalItem._loyaltyPackageId
58 + campaigns.append(newCampaign)
59 + }
60 + }
61 +
62 +
63 +// getCouponsRequest()
64 +// getCouponSetsRequest()
65 + // TODO: DELETE
66 +// getCampaignsRequest()
67 +// getProfileRequest()
68 +// verifyTicketAsyncRequest(guid: "6009615311", ticket: "eyJraWQiOiIxNSIsInR5cCI6IkpXVCIsImFsZyI6IlJTNTEyIn0.eyJhdWQiOiJnYXBwIiwic3ViIjoiNjAwOTYxNTMxMSIsInVzZXJJbmZvIjp7Imd1aWQiOiI2MDA5NjE1MzExIiwiZW1haWwiOiJkaW1pdHJpc2trQHdhcnAubHkiLCJmaXJzdG5hbWUiOiJUZXN0IiwibGFzdG5hbWUiOiJUZXN0Iiwib3RlUG9ydGFsU3RhdHVzIjoiMSIsIm90ZVBvcnRhbGlzQ29ycG9yYXRlIjoiMCIsIm90ZVBvcnRhbFVzZXJMZXZlbCI6InJlc2lkZW50aWFsIiwib3RlZ3JvdXBQYXNzd29yZERhdGUiOiIyMDIxLTA2LTA4Iiwib3RlZ3JvdXBTdGF0dXMiOiJhY3RpdmUiLCJvdGVncm91cFJlZ2lzdHJhdGlvbkRhdGUiOiIyMDIwLTA1LTE2Iiwib3RlZ3JvdXBBbHRlcm5hdGl2ZU1TSVNETiI6IjY5Nzg0NTMwNDUiLCJleHRndWlkIjoiMEo5bDJMUklqRngxTnJOcDRmRWJ4Zz09IiwiaW1hZ2VVUkwiOiJodHRwczovL2FjY291bnQuY29zbW90ZS5nci9pbWFnZS91c2VyX2ZlbWFsZV9wb3J0cmFpdD9pbWdfaWQ9MCZpbWdfaWRfdG9rZW49Tk9jckh2eEc5cCUyQmR0SVJWV3ZGc0VsM0k5SVklM0QmdD0xNjUxNzIwMjQ2NjA0IiwiY29udGFjdEluZm9FbWFpbFJlc3AiOltdLCJjb250YWN0SW5mb1Bob25lUmVzcCI6W10sInNob3dEYXRhUmVtaW5kZXIiOmZhbHNlLCJ2ZXJpZmllZFJlY0RhdGEiOnRydWV9LCJuYmYiOjE2NTIxMDA5OTEsInJvbGVzIjpbXSwic2NvcGUiOlsidXNlckluZm8iLCJzZXJ2aWNlcyIsInJvbGVzIl0sImtpZCI6MTUsImlzcyI6IlBVQkxJQ19DQUxMRVIiLCJzZXJ2aWNlcyI6W10sImV4cCI6MTY1MjEwMjc5MSwiaWF0IjoxNjUyMTAwOTkxfQ.ORJuVx-ggFL-hHcioyKI7GYUDufRd8oY7EJrCYMR6HnGKZAQF-eQe62MdFZpqi2vqUQs3ga8496EK344vDfkEV9hhEZDhK-1LXMNY24MBe_ssIxGG5zzb-sRSeGvWGYEIr6yme6LQ0Dn8-93I-mvxfxrPzHQiSeGi7KkJENxTtyIhoe3qIj-0a-dcdOYzzQDDJGIMVINv89iNBaxj6wFA4Z6B307vgeJzBJkPsV3xclRHNofATBnpBFKdJIizA-OpAFtnLux7YQcbEyM0SuQMn9BnQhnXa7LXK1yXbEe6rlNoIbrP9Hp_WRR2ezY2LnfOm60eQ9PiGepxtvHiZsYTg")
69 +
70 + setBackButton()
71 + setNavigationTitle("GIFTS for YOU")
72 +
73 + tableView.delegate = self
74 + tableView.dataSource = self
75 +
76 + tableView.clipsToBounds = true
77 + tableView.layer.cornerRadius = 30
78 + tableView.layer.maskedCorners = [ .layerMinXMinYCorner] // Top left corner radius
79 + tableView.contentInset.top = 50
80 +
81 +// setNavRightButton(false)
82 +
83 + // Add Linear Gradient
84 +// let gradient = CAGradientLayer()
85 +// gradient.frame = mainView.bounds
86 +// gradient.colors = [UIColor(red: 0.10, green: 0.68, blue: 0.80, alpha: 1.00).cgColor, UIColor(red: 0.43, green: 0.74, blue: 0.48, alpha: 1.00).cgColor]
87 +// gradient.startPoint = CGPoint(x: 0.5, y: 0)
88 +// gradient.endPoint = CGPoint(x: 0.5, y: 1)
89 +// mainView.layer.insertSublayer(gradient, at: 0)
90 +
91 + // Add Top left corner radius
92 + mainView.clipsToBounds = true
93 + mainView.layer.cornerRadius = 30
94 + mainView.layer.maskedCorners = [ .layerMinXMinYCorner] // Top left corner radius
95 + mainView.backgroundColor = UIColor(red: 0.22, green: 0.32, blue: 0.40, alpha: 1.00)
96 +
97 + }
98 +
99 +
100 + // Add navigation right button
101 +// func setNavRightButton(_ isSelected: Bool) -> (){ // -> UIButton
102 +// // Location Button
103 +// let locationButton = UIButton(type: UIButton.ButtonType.custom) as UIButton
104 +// locationButton.frame = CGRect(x: 0, y: 0, width: self.uiscreen.height * 0.04, height: self.uiscreen.height * 0.04)
105 +// locationButton.setBackgroundImage(UIImage(named:"location_icon"), for: UIControl.State())
106 +//
107 +// locationButton.translatesAutoresizingMaskIntoConstraints = false
108 +// // Add width, height constraints
109 +// let widthContraints = NSLayoutConstraint(item: locationButton, attribute: NSLayoutConstraint.Attribute.width, relatedBy: NSLayoutConstraint.Relation.equal, toItem: nil, attribute: NSLayoutConstraint.Attribute.notAnAttribute, multiplier: 1, constant: self.uiscreen.height * 0.04)
110 +// let heightContraints = NSLayoutConstraint(item: locationButton, attribute: NSLayoutConstraint.Attribute.height, relatedBy: NSLayoutConstraint.Relation.equal, toItem: nil, attribute: NSLayoutConstraint.Attribute.notAnAttribute, multiplier: 1, constant: self.uiscreen.height * 0.04)
111 +// NSLayoutConstraint.activate([heightContraints,widthContraints])
112 +//
113 +// locationButton.addTarget(self, action: #selector(self.locationButtonTapped(_:)), for: .touchUpInside)
114 +// let LocationButtonItem: UIBarButtonItem = UIBarButtonItem(customView: locationButton)
115 +// self.navigationItem.setRightBarButton(LocationButtonItem, animated: false)
116 +//
117 +//// Add an array of items at the right of the nav bar
118 +//// self.navigationItem.setRightBarButtonItems([LocationButtonItem], animated: false)
119 +//// return locationButton
120 +// }
121 +
122 + func getCouponsRequest() {
123 + swiftApi().getCouponsAsync(getCouponsCallback)
124 + }
125 +
126 + func getCouponsCallback (_ couponsData: Array<swiftApi.CouponItemModel>?) -> Void {
127 + if (couponsData != nil) {
128 + let activeCouponData = swiftApi().filterActiveCoupons(couponsData ?? [])
129 +
130 + self.coupons = activeCouponData
131 +
132 + DispatchQueue.main.async {
133 +// self.tableView.reloadData()
134 +
135 + // TODO: Rerender screen
136 +
137 + print("========= DispatchQueue couponsData SUCCESSSS =========")
138 + print(activeCouponData)
139 + print("========= DispatchQueue couponsData SUCCESSSS =========")
140 + }
141 + } else {
142 + self.coupons = []
143 + }
144 + }
145 +
146 +
147 + func getCouponSetsRequest() {
148 + swiftApi().getCouponSetsAsync(getCouponSetsCallback)
149 + }
150 +
151 + func getCouponSetsCallback (_ couponSetsData: Array<swiftApi.CouponSetItemModel>?) -> Void {
152 + if (couponSetsData != nil) {
153 +
154 + self.couponSets = couponSetsData ?? []
155 +
156 + DispatchQueue.main.async {
157 +// self.tableView.reloadData()
158 +
159 + // TODO: Rerender screen
160 +
161 + print("========= DispatchQueue couponSetsData SUCCESSSS =========")
162 + print(couponSetsData)
163 + print("========= DispatchQueue couponSetsData SUCCESSSS =========")
164 + }
165 + } else {
166 + self.couponSets = []
167 + }
168 + }
169 +
170 +
171 + // TODO: DELETE =====>
172 + func getCampaignsRequest() {
173 + swiftApi().getCampaignsAsync(getCampaignsCallback)
174 + }
175 +
176 + func getCampaignsCallback (_ campaignsData: Array<swiftApi.CampaignItemModel>?) -> Void {
177 + if (campaignsData != nil) {
178 +
179 +
180 + DispatchQueue.main.async {
181 + // TODO: Rerender screen
182 + swiftApi().setUniqueCampaignList(campaignsData ?? [])
183 +
184 +
185 + // TODO: DELETE TESTING ===>
186 + let ccmsCampaign1 = swiftApi.LoyaltyContextualOfferModel(sessionId: "", eligibleAssets: [], id: "", businessAdditionalId: "", treatmentCode: "", offerName: "", productType: "", provDuration: "", noOfRecurrance: "", price: "", discount: "", voiceCategory: "", dataCategory: "", minsValue: "", dataValue: "", provStepValueMins: "", postpayProduct: "", notificationMessage: "", loyaltyCampaignId: "1", businessService: "", uaciOfferTrackingCode: "", offerCode1: "", score: "", zone: "", wave: "", validity: "", offerAudienceLevel: "")
187 + let ccmsCampaign2 = swiftApi.LoyaltyContextualOfferModel(sessionId: "", eligibleAssets: ["1","2","3"], id: "", businessAdditionalId: "", treatmentCode: "", offerName: "", productType: "", provDuration: "", noOfRecurrance: "", price: "", discount: "", voiceCategory: "", dataCategory: "", minsValue: "", dataValue: "", provStepValueMins: "", postpayProduct: "", notificationMessage: "", loyaltyCampaignId: "8eb71c4ceaff409c896e2d1f6f1c20f3", businessService: "", uaciOfferTrackingCode: "", offerCode1: "", score: "", zone: "", wave: "", validity: "", offerAudienceLevel: "")
188 + let ccmsCampaignsArray: Array<swiftApi.LoyaltyContextualOfferModel> = [ccmsCampaign1, ccmsCampaign2]
189 + swiftApi().setCCMSLoyaltyCampaigns(campaigns: ccmsCampaignsArray)
190 + // TODO: DELETE TESTING <===
191 +
192 + self.campaigns = swiftApi().getCampaignList().filter { $0.offer_category == "gifts_for_you" }
193 +
194 + for campaign in self.campaigns {
195 + print("================")
196 + print(campaign.session_uuid)
197 + print(campaign.ccms_offer)
198 + print(campaign.title)
199 + }
200 +// self.campaigns = campaignsData?.filter {
201 +// let tempCampaign = $0
202 +// let isGFY = tempCampaign.offer_category == "gifts_for_you"
203 +// let hasExtraFields = (tempCampaign.hasExtraFields != nil) && (tempCampaign.hasExtraFields == true)
204 +// let isCcmsOffer = (tempCampaign.ccms_offer != nil) && (tempCampaign.ccms_offer != "") && (tempCampaign.ccms_offer == "true")
205 +//
206 +// let ccmsCampaigns = swiftApi().getCCMSLoyaltyCampaigns()
207 +// let loyaltyCampaignIdExists = ccmsCampaigns.contains { $0._loyaltyCampaignId == tempCampaign.session_uuid }
208 +// return isGFY && (!hasExtraFields || (isCcmsOffer && loyaltyCampaignIdExists))
209 +//
210 +// } ?? []
211 +
212 +// swiftApi().openQuestionnaire(self)
213 +
214 + print("========= DispatchQueue campaignsData SUCCESSSS =========")
215 + print(campaignsData)
216 + print("========= DispatchQueue campaignsData SUCCESSSS =========")
217 + print("========= getCampaignList =========")
218 + print(swiftApi().getCampaignList())
219 + print("========= getCampaignList =========")
220 + print("========= getCampaignList count =========")
221 + print(swiftApi().getCampaignList().filter { $0.offer_category == "gifts_for_you" }.count)
222 + print("========= getCampaignList count =========")
223 +
224 +
225 + // TODO: DELETE ===>
226 + let seasonal1 = swiftApi.LoyaltyGiftsForYouPackage()
227 + seasonal1._title = "test1"
228 + seasonal1._imageUrl = "https://warply.s3.amazonaws.com/artworks/ea0f7ca82b2e478394c4608c213f7c10/default.png"
229 + seasonal1._loyaltyPackageId = "id1"
230 +
231 + let seasonal2 = swiftApi.LoyaltyGiftsForYouPackage()
232 + seasonal2._title = "test2"
233 + seasonal2._imageUrl = "https://warply.s3.amazonaws.com/artworks/ea0f7ca82b2e478394c4608c213f7c10/default.png"
234 + seasonal2._loyaltyPackageId = "id2"
235 +
236 + let seasonalArray:Array<swiftApi.LoyaltyGiftsForYouPackage> = [seasonal1, seasonal2]
237 + swiftApi().setSeasonalList(seasonalArray)
238 + self.seasonalList = swiftApi().getSeasonalList()
239 +
240 + if (self.seasonalList.count > 0) {
241 + for seasonalItem in self.seasonalList {
242 + let newCampaign = swiftApi.CampaignItemModel()
243 + newCampaign._title = seasonalItem._title
244 + newCampaign._logo_url = seasonalItem._imageUrl
245 + self.campaigns.append(newCampaign)
246 + }
247 + }
248 + // TODO: DELETE <===
249 +
250 + self.tableView.reloadData()
251 +
252 + }
253 + } else {
254 + self.campaigns = []
255 + }
256 + }
257 + // TODO: DELETE <=====
258 +
259 +
260 + func getProfileRequest() {
261 + swiftApi().getProfileAsync(getProfileCallback)
262 + }
263 +
264 + func getProfileCallback (_ profileData: swiftApi.ProfileModel?) -> Void {
265 + if (profileData != nil) {
266 +
267 + // self.profile = profileData ?? nil
268 +
269 + DispatchQueue.main.async {
270 +// self.tableView.reloadData()
271 +
272 + // TODO: Rerender screen
273 +
274 + print("========= DispatchQueue profileData SUCCESSSS =========")
275 + print(profileData)
276 + print("========= DispatchQueue profileData SUCCESSSS =========")
277 + }
278 + } else {
279 + // self.profile = nil
280 + }
281 + }
282 +
283 +
284 +
285 + func verifyTicketAsyncRequest(guid: String, ticket: String) {
286 + swiftApi().verifyTicketAsync(guid: guid, ticket: ticket, verifyTicketCallback)
287 + }
288 +
289 + func verifyTicketCallback (_ verifyTicketData: swiftApi.VerifyTicketResponseModel?) -> Void {
290 + if (verifyTicketData != nil) {
291 +
292 + // self.response = verifyTicketData
293 +
294 + DispatchQueue.main.async {
295 +// self.tableView.reloadData()
296 +
297 + // TODO: Rerender screen
298 +
299 + print("========= DispatchQueue verifyTicketData SUCCESSSS =========")
300 + print(verifyTicketData)
301 + print("========= DispatchQueue verifyTicketData SUCCESSSS =========")
302 +// self.response = verifyTicketData
303 + print("========= DispatchQueue verifyTicketData SUCCESSSS =========")
304 + print(verifyTicketData?.getResult ?? "")
305 + print(verifyTicketData?.getStatus ?? "")
306 +// print(self.response.result ?? "")
307 +// print(verifyTicketData?["result"] ?? "")
308 + print("========= DispatchQueue verifyTicketData SUCCESSSS =========")
309 + }
310 + } else {
311 + // self.response = nil
312 + }
313 + }
314 +
315 +
316 +
317 + /// Get Accounts
318 +// func getCouponsRequest(){
319 +//// progress.showLoader(onView: self.view, isNeedBlueSpinner: true)
320 +//
321 +//// var coupons = swiftApi().getCoupons()
322 +//
323 +//
324 +// AccountsModel.sharedInstance.getAccounts(){(result) in
325 +//// DispatchQueue.main.async {
326 +//// self.progress.dismissLoader()
327 +//// }
328 +//
329 +// if let response = result {
330 +// if(response.statusId == "1"){
331 +// self.accounts = response.accounts
332 +//
333 +// DispatchQueue.main.async {
334 +// self.tableView.reloadData()
335 +// }
336 +// }
337 +// }
338 +//
339 +// }
340 +// }
341 +
342 +
343 +
344 + // MARK: - Actions
345 + @objc func locationButtonTapped(_ sender: Any) {
346 + print("Location Button Tapped!")
347 + }
348 +
349 +}
350 +
351 +// MARK: - TableView
352 +extension GiftsViewController: UITableViewDelegate, UITableViewDataSource{
353 +
354 + public func numberOfSections(in tableView: UITableView) -> Int {
355 + return 1
356 + }
357 +
358 + public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
359 + return self.campaigns.count
360 + }
361 +
362 + public func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
363 + return 140.0 + 10.0
364 +// return UITableViewAutomaticDimension
365 + }
366 +
367 + public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
368 + let cell = tableView.dequeueReusableCell(withIdentifier: "InboxTableViewCellId", for: indexPath) as! InboxTableViewCell
369 +
370 + cell.configureCell(campaign: campaigns[indexPath.row])
371 +
372 + return cell
373 + }
374 +
375 + public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
376 +
377 + // TODO: DELETE - TEST SwiftEventBus
378 +// SwiftEventBus.post("couponBarcodePressed", sender: coupons[indexPath.row])
379 +
380 + // firebase event
381 +// let firebaseEvent = swiftApi.LoyaltySDKFirebaseEventModel()
382 +// firebaseEvent._eventName = "abc"
383 +// firebaseEvent.setParameter = ("1", "asd")
384 +// SwiftEventBus.post("firebase", sender: firebaseEvent)
385 +//
386 +// // ccms event
387 +// let ccms = swiftApi.LoyaltyContextualOfferModel()
388 +// SwiftEventBus.post("ccms", sender: ccms)
389 +//
390 +// // gifts event
391 +// let gift = swiftApi.LoyaltyGiftsForYouOfferClickEvent()
392 +// gift._title = "testTitle"
393 +// SwiftEventBus.post("gifts", sender: gift)
394 +
395 +// // pacing_visible event
396 +// let pacingEvent = swiftApi.WarplyPacingCardEventModel()
397 +// pacingEvent._isVisible = true
398 +// SwiftEventBus.post("pacing_visible", sender: pacingEvent)
399 +
400 +// // pacing_service event
401 +// let pacingService = swiftApi.WarplyPacingCardServiceEnabledModel()
402 +// pacingService._isEnabled = true
403 +// SwiftEventBus.post("pacing_service", sender: pacingService)
404 +
405 +// // analysis_pressed event
406 +// let dealsAnalysis = swiftApi.WarplyDealsAnalysisEventModel()
407 +// dealsAnalysis._isPressed = true
408 +// SwiftEventBus.post("analysis_pressed", sender: dealsAnalysis)
409 +
410 +// // ccms_enabled event
411 +// let ccmsEnabled = swiftApi.WarplyCCMSEnabledModel()
412 +// ccmsEnabled._isActivated = true
413 +// SwiftEventBus.post("ccms_enabled", sender: ccmsEnabled)
414 + // ===
415 +
416 + // TODO: navigate to CouponBarcode
417 +
418 +// let storyboard = UIStoryboard(name: "Main", bundle: nil)
419 +// let vc = storyboard.instantiateViewController(withIdentifier: "CouponBarcodeViewController") as! CouponBarcodeViewController
420 +// vc.coupon = coupons[indexPath.row]
421 +// self.navigationController?.pushViewController(vc, animated: true)
422 +
423 +// openQuestionnaire(self)
424 +
425 + // CouponViewController
426 +// let storyboard = UIStoryboard(name: "Main", bundle: nil)
427 +// let vc = storyboard.instantiateViewController(withIdentifier: "CouponViewController") as! CouponViewController
428 +// vc.couponset = coupons[indexPath.row].couponset_data
429 +// self.navigationController?.pushViewController(vc, animated: true)
430 +
431 +// let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self))
432 +// let vc = storyboard.instantiateViewController(withIdentifier: "CouponViewController") as! CouponViewController
433 +// vc.couponset = couponSets[indexPath.row]
434 +// self.navigationController?.pushViewController(vc, animated: true)
435 +
436 + // TODO: ADD
437 + if (campaigns[indexPath.row].session_uuid != nil && campaigns[indexPath.row].session_uuid != "") {
438 + let storyboard = UIStoryboard(name: "Main", bundle: nil)
439 + let vc = storyboard.instantiateViewController(withIdentifier: "CampaignWebviewViewController") as! CampaignWebviewViewController
440 + var url = ""
441 + // let hasExtraFields = (campaigns[indexPath.row].hasExtraFields != nil) && (campaigns[indexPath.row].hasExtraFields == true)
442 + let isCcmsOffer = (campaigns[indexPath.row].ccms_offer != nil) && (campaigns[indexPath.row].ccms_offer != "") && (campaigns[indexPath.row].ccms_offer == "true")
443 + // let hasLoyaltyCampaignId = campaigns[indexPath.row].loyaltyCampaignId != nil && campaigns[indexPath.row].loyaltyCampaignId != ""
444 +
445 + if (isCcmsOffer) {
446 + let ccmsCampaigns = swiftApi().getCCMSLoyaltyCampaigns()
447 + let loyaltyCampaignIdExists = ccmsCampaigns.contains { $0._loyaltyCampaignId == campaigns[indexPath.row].session_uuid }
448 +
449 + if (loyaltyCampaignIdExists == true) {
450 + var ccmsCampaignFound:swiftApi.LoyaltyContextualOfferModel = swiftApi.LoyaltyContextualOfferModel()
451 + for item in ccmsCampaigns {
452 + if (item._loyaltyCampaignId == campaigns[indexPath.row].session_uuid) {
453 + ccmsCampaignFound = item
454 + }
455 + }
456 + url = swiftApi().constructCcmsUrl(campaigns[indexPath.row], ccmsCampaignFound)
457 + } else { // will never enter
458 + url = swiftApi().constructCampaignUrl(campaigns[indexPath.row])
459 + }
460 +
461 + } else {
462 + url = swiftApi().constructCampaignUrl(campaigns[indexPath.row])
463 + }
464 +
465 + // let url = swiftApi().constructCampaignUrlForShare("5765a6aa4a604fa39a70bd4a0af6f53e", "12345")
466 +
467 + // // vc.campaignUrl = "https://www.google.com"
468 +
469 + print("==== url ====")
470 + print(url)
471 + print("CampaignUrl url onclick: " + url)
472 + vc.campaignUrl = url
473 + self.navigationController?.pushViewController(vc, animated: true)
474 +
475 + } else {
476 + print("===== seasonal ====")
477 + print(campaigns[indexPath.row]._title ?? "")
478 + // gifts event
479 + let seasonalEvent = swiftApi.LoyaltyGiftsForYouOfferClickEvent()
480 + seasonalEvent._title = campaigns[indexPath.row]._title ?? ""
481 + seasonalEvent._imageUrl = campaigns[indexPath.row]._logo_url ?? ""
482 + seasonalEvent._loyaltyPackageId = campaigns[indexPath.row]._loyaltyPackageId ?? ""
483 +// SwiftEventBus.post("seasonal", sender: seasonalEvent)
484 + }
485 +
486 +// let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self))
487 +// let vc = storyboard.instantiateViewController(withIdentifier: "CampaignViewController") as! CampaignViewController
488 +// vc.campaignUrl = "https://www.google.com"
489 +// self.navigationController?.pushViewController(vc, animated: true)
490 + }
491 +
492 +}
1 +//
2 +// InboxTableViewCell.swift
3 +// swift_example
4 +//
5 +// Created by Manos Chorianopoulos on 23/6/22.
6 +//
7 +
8 +import UIKit
9 +import SwiftWarplyFramework
10 +
11 +
12 +@objc public class InboxTableViewCell: UITableViewCell {
13 + @IBOutlet weak var inboxView: UIView!
14 + @IBOutlet weak var campaignImage: UIImageView!
15 + @IBOutlet weak var newBadgeImage: UIImageView!
16 + @IBOutlet weak var campaignTitleLabel: UILabel!
17 +
18 + public override func awakeFromNib() {
19 + super.awakeFromNib()
20 +
21 + inboxView.layer.cornerRadius = 5.0
22 + inboxView.layer.shadowColor = UIColor(red: 0.00, green: 0.00, blue: 0.00, alpha: 0.16).cgColor
23 + inboxView.layer.shadowOffset = CGSize(width: 0.0, height: 3.0)
24 + inboxView.layer.shadowOpacity = 1.0
25 + inboxView.layer.shadowRadius = 15.0
26 + inboxView.clipsToBounds = true
27 +
28 + // TODO: UNCOMMENT
29 +// newBadgeImage.image = UIImage(named: "new_icon", in: Bundle(for: MyEmptyClass.self), compatibleWith: nil)
30 +
31 + newBadgeImage.isHidden = true
32 + }
33 +
34 + public override func setSelected(_ selected: Bool, animated: Bool) {
35 + super.setSelected(selected, animated: animated)
36 +
37 + // Configure the view for the selected state
38 + }
39 +
40 + public override func layoutSubviews() {
41 + super.layoutSubviews()
42 + //set the values for top,left,bottom,right margins
43 + let margins = UIEdgeInsets(top: 0, left: 0, bottom: 10, right: 0)
44 + contentView.frame = contentView.frame.inset(by: margins)
45 + }
46 +
47 +
48 + func configureCell(campaign: swiftApi.CampaignItemModel) {
49 + campaignImage.load(link: campaign.logo_url ?? "", placeholder: UIImage(), cache: URLCache())
50 +
51 + campaignTitleLabel.text = campaign.title ?? ""
52 +
53 + if (campaign.is_new ?? false) {
54 + newBadgeImage.isHidden = false
55 + }
56 + }
57 +
58 +}
1 +//
2 +// LoyaltyAnalysisViewController.swift
3 +// swift_example
4 +//
5 +// Created by Manos Chorianopoulos on 10/6/22.
6 +//
7 +
8 +import UIKit
9 +
10 +class LoyaltyAnalysisViewController: UIViewController {
11 +
12 + override func viewDidLoad() {
13 + super.viewDidLoad()
14 +
15 + self.hidesBottomBarWhenPushed = true
16 +
17 + // Do any additional setup after loading the view.
18 + }
19 +
20 +
21 + /*
22 + // MARK: - Navigation
23 +
24 + // In a storyboard-based application, you will often want to do a little preparation before navigation
25 + override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
26 + // Get the new view controller using segue.destination.
27 + // Pass the selected object to the new view controller.
28 + }
29 + */
30 +
31 +}
1 +//
2 +// MFYInboxTableViewCell.swift
3 +// swift_example
4 +//
5 +// Created by Manos Chorianopoulos on 24/6/22.
6 +//
7 +
8 +import UIKit
9 +import SwiftWarplyFramework
10 +
11 +@objc public class MFYInboxTableViewCell: UITableViewCell {
12 + @IBOutlet weak var inboxView: UIView!
13 + @IBOutlet weak var campaignImage: UIImageView!
14 + @IBOutlet weak var newBadgeImage: UIImageView!
15 + @IBOutlet weak var campaignTitleLabel: UILabel!
16 + @IBOutlet weak var curvedBgImage: UIImageView!
17 + @IBOutlet weak var subtitleLabel: UILabel!
18 + @IBOutlet weak var descriptionLabel: UILabel!
19 +
20 + public override func awakeFromNib() {
21 + super.awakeFromNib()
22 +
23 + inboxView.layer.cornerRadius = 5.0
24 + inboxView.clipsToBounds = true
25 +
26 + // TODO: UNCOMMENT
27 +// newBadgeImage.image = UIImage(named: "new_icon", in: Bundle(for: MyEmptyClass.self), compatibleWith: nil)
28 +// curvedBgImage.image = UIImage(named: "curved_bg_white", in: Bundle(for: MyEmptyClass.self), compatibleWith: nil)
29 +
30 + newBadgeImage.isHidden = true
31 + }
32 +
33 + public override func setSelected(_ selected: Bool, animated: Bool) {
34 + super.setSelected(selected, animated: animated)
35 +
36 + // Configure the view for the selected state
37 + }
38 +
39 + public override func layoutSubviews() {
40 + super.layoutSubviews()
41 + //set the values for top,left,bottom,right margins
42 + let margins = UIEdgeInsets(top: 0, left: 0, bottom: 10, right: 0)
43 + contentView.frame = contentView.frame.inset(by: margins)
44 + }
45 +
46 +
47 + func configureCell(campaign: swiftApi.CampaignItemModel) {
48 + campaignImage.load(link: campaign.logo_url ?? "", placeholder: UIImage(), cache: URLCache())
49 +
50 + campaignTitleLabel.text = campaign.title ?? ""
51 + subtitleLabel.text = campaign.subtitle ?? ""
52 + descriptionLabel.text = campaign.message ?? ""
53 +
54 + if (campaign.is_new ?? false) {
55 + newBadgeImage.isHidden = false
56 + }
57 + }
58 +
59 +}
1 +//
2 +// MFYViewController.swift
3 +// swift_example
4 +//
5 +// Created by Manos Chorianopoulos on 24/6/22.
6 +//
7 +
8 +import UIKit
9 +import SwiftWarplyFramework
10 +
11 +@objc public class MFYViewController: UIViewController {
12 + @IBOutlet weak var mainView: UIView!
13 + @IBOutlet weak var tableView: UITableView!
14 +
15 + // TODO: ADD
16 + public var campaigns:Array<swiftApi.CampaignItemModel> = swiftApi().mergeMFYCCMSLoyaltyCampaigns(campaigns: swiftApi().getCCMSLoyaltyCampaigns())
17 +// swiftApi().getCampaignList().filter { $0.offer_category == "more_for_you" }
18 +
19 +
20 + public override func viewDidLoad() {
21 + super.viewDidLoad()
22 +
23 + self.hidesBottomBarWhenPushed = true
24 +
25 + // TODO: ADD
26 +// getCampaignsRequest()
27 +
28 + setBackButton()
29 + setNavigationTitle("MORE for YOU")
30 +
31 + tableView.delegate = self
32 + tableView.dataSource = self
33 +
34 + tableView.clipsToBounds = true
35 + tableView.layer.cornerRadius = 30
36 + tableView.layer.maskedCorners = [ .layerMinXMinYCorner] // Top left corner radius
37 + tableView.contentInset.top = 50
38 +
39 + // Add Top left corner radius
40 + mainView.clipsToBounds = true
41 + mainView.layer.cornerRadius = 30
42 + mainView.layer.maskedCorners = [ .layerMinXMinYCorner] // Top left corner radius
43 + mainView.backgroundColor = UIColor(red: 0.22, green: 0.32, blue: 0.40, alpha: 1.00)
44 +
45 + }
46 +
47 +
48 + // TODO: ADD ===>
49 + // func getCampaignsRequest() {
50 + // swiftApi().getCampaignsAsync(getCampaignsCallback)
51 + // }
52 +
53 + // func getCampaignsCallback (_ campaignsData: Array<swiftApi.CampaignItemModel>?) -> Void {
54 + // if (campaignsData != nil) {
55 +
56 + // self.campaigns = campaignsData?.filter { $0.offer_category == "more_for_you" } ?? []
57 +
58 + // for campaign in (self.campaigns ?? []) {
59 + // print("campaign.ccms_offer: " + (campaign.ccms_offer ?? ""))
60 +
61 + // }
62 +
63 + // DispatchQueue.main.async {
64 + // self.tableView.reloadData()
65 + // swiftApi().setUniqueCampaignList(campaignsData ?? [])
66 + // }
67 + // } else {
68 + // self.campaigns = []
69 + // }
70 + // }
71 + // TODO: ADD <=====
72 +}
73 +
74 +// MARK: - TableView
75 +extension MFYViewController: UITableViewDelegate, UITableViewDataSource{
76 +
77 + public func numberOfSections(in tableView: UITableView) -> Int {
78 + return 1
79 + }
80 +
81 + public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
82 + return self.campaigns.count
83 + }
84 +
85 + public func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
86 + return 220.0 + 10.0
87 +// return UITableViewAutomaticDimension
88 + }
89 +
90 + public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
91 + let cell = tableView.dequeueReusableCell(withIdentifier: "MFYInboxTableViewCellId", for: indexPath) as! MFYInboxTableViewCell
92 +
93 + cell.configureCell(campaign: campaigns[indexPath.row])
94 +
95 + return cell
96 + }
97 +
98 + public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
99 +
100 + // TODO: DELETE
101 + let storyboard = UIStoryboard(name: "Main", bundle: nil)
102 + let vc = storyboard.instantiateViewController(withIdentifier: "CampaignWebviewViewController") as! CampaignWebviewViewController
103 + let url = swiftApi().constructCampaignUrl(campaigns[indexPath.row])
104 + print("CampaignUrl url onclick: " + url)
105 + vc.campaignUrl = url
106 + self.navigationController?.pushViewController(vc, animated: true)
107 +
108 + // TODO: UNCOMMENT
109 +// let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self))
110 +// let vc = storyboard.instantiateViewController(withIdentifier: "CampaignViewController") as! CampaignViewController
111 +// let url = swiftApi().constructCampaignUrl(campaigns[indexPath.row])
112 +// vc.campaignUrl = url
113 +// self.navigationController?.pushViewController(vc, animated: true)
114 + }
115 +
116 +}
1 +//
2 +// StepsViewController.swift
3 +// swift_example
4 +//
5 +// Created by Manos Chorianopoulos on 10/6/22.
6 +//
7 +
8 +import UIKit
9 +
10 +class StepsViewController: UIViewController {
11 +
12 + override func viewDidLoad() {
13 + super.viewDidLoad()
14 +
15 + self.hidesBottomBarWhenPushed = true
16 +
17 + // Do any additional setup after loading the view.
18 + }
19 +
20 +
21 + /*
22 + // MARK: - Navigation
23 +
24 + // In a storyboard-based application, you will often want to do a little preparation before navigation
25 + override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
26 + // Get the new view controller using segue.destination.
27 + // Pass the selected object to the new view controller.
28 + }
29 + */
30 +
31 +}
1 +//
2 +// WalletViewController.swift
3 +// swift_example
4 +//
5 +// Created by Manos Chorianopoulos on 21/6/22.
6 +//
7 +
8 +import Foundation
9 +import UIKit
10 +import SwiftWarplyFramework
11 +
12 +@objc public class WalletViewController: UIViewController {
13 + @IBOutlet weak var scrollview: UIScrollView!
14 + @IBOutlet weak var scrollviewContainer: UIView!
15 + @IBOutlet weak var headerImage: UIImageView!
16 + @IBOutlet weak var profileImage: UIImageView!
17 + @IBOutlet weak var profileNameLabel: UILabel!
18 + @IBOutlet weak var questionnaireButton: UIButton!
19 + @IBOutlet weak var dfyEarnView: UIView!
20 + @IBOutlet weak var dfyEarnLabel: UILabel!
21 + @IBOutlet weak var dfyEarnAmountLabel: UILabel!
22 + @IBOutlet weak var dfyEarnImage: UIImageView!
23 + @IBOutlet weak var couponEarnView: UIView!
24 + @IBOutlet weak var couponEarnLabel: UILabel!
25 + @IBOutlet weak var couponEarnAmountLabel: UILabel!
26 + @IBOutlet weak var couponEarnImage: UIImageView!
27 + @IBOutlet weak var dfyLogoImage: UIImageView!
28 + @IBOutlet weak var dfyLogoImageTopSpace: NSLayoutConstraint!
29 + @IBOutlet weak var dfyLogoImageHeight: NSLayoutConstraint!
30 + @IBOutlet weak var activeCodeView: UIView!
31 + @IBOutlet weak var activeCodeViewHeight: NSLayoutConstraint!
32 + @IBOutlet weak var activeCodesCountLabel: UILabel!
33 + @IBOutlet weak var activeCodeLabel: UILabel!
34 + @IBOutlet weak var activeCodeExpirationLabel: UILabel!
35 + @IBOutlet weak var tableView: UITableView!
36 + @IBOutlet weak var activeCodeImage: UIImageView!
37 +
38 + let uiscreen: CGRect = UIScreen.main.bounds
39 +
40 + public var coupons:Array<swiftApi.CouponItemModel> = swiftApi().getCouponList()
41 + public var dfyCoupons:Array<swiftApi.ActiveDFYCouponModel> = swiftApi().getActiveDFYCoupons()
42 + public var loyaltyBadge:swiftApi.LoyaltyBadgeModel = swiftApi().getLoyaltyBadge()
43 + public var profile:swiftApi.ProfileModel? = swiftApi().getConsumer()
44 +
45 + // TEST
46 + public var campaigns:Array<swiftApi.CampaignItemModel> = swiftApi().getCampaignList()
47 + // <==
48 +
49 +
50 +
51 + public override func viewDidLoad() {
52 + super.viewDidLoad()
53 +
54 + self.hidesBottomBarWhenPushed = true
55 +
56 + // TODO: DELETE ===>
57 + getCouponsRequest()
58 + getProfileRequest()
59 + // <======
60 +
61 + setBackButton()
62 + setNavigationTitle("For You")
63 +
64 + tableView.delegate = self
65 + tableView.dataSource = self
66 +
67 + print("Active Gifts Count: " + String(coupons.count))
68 +
69 + // TODO: DELETE ===>
70 +// swiftApi().setUserTag("123")
71 +
72 + let coupon = swiftApi.ActiveDFYCouponModel()
73 + coupon._value = "12"
74 + coupon._date = "2022-12-05 01:55:01"
75 + coupon._code = "123456789"
76 +
77 + let coupon2 = swiftApi.ActiveDFYCouponModel()
78 + coupon2._value = "23"
79 + coupon2._date = "2022-11-05 01:55:01"
80 + coupon2._code = "234567891"
81 +
82 + let coupon3 = swiftApi.ActiveDFYCouponModel()
83 + coupon3._value = "34"
84 + coupon3._date = "2022-07-01 01:55:01"
85 + coupon3._code = "345678912"
86 +
87 + let couponsArray: Array<swiftApi.ActiveDFYCouponModel> = [coupon, coupon2, coupon3]
88 +
89 + swiftApi().setActiveDFYCoupons(dfyCoupons: couponsArray)
90 +
91 + dfyCoupons = swiftApi().getActiveDFYCoupons()
92 + // TODO: DELETE <===
93 +
94 + print("======= swiftApi().getUserTag() ========")
95 + print(swiftApi().getUserTag())
96 +
97 + // TODO: Uncomment
98 +// headerImage.image = UIImage(named: "ic_background_circle", in: Bundle(for: MyEmptyClass.self), compatibleWith: nil)
99 +// dfyEarnImage.image = UIImage(named: "wallet_dfy_earn", in: Bundle(for: MyEmptyClass.self), compatibleWith: nil)
100 +// couponEarnImage.image = UIImage(named: "wallet_coupons", in: Bundle(for: MyEmptyClass.self), compatibleWith: nil)
101 +// dfyLogoImage.image = UIImage(named: "dfy_logo_white", in: Bundle(for: MyEmptyClass.self), compatibleWith: nil)
102 +// activeCodeImage.image = UIImage(named: "active_code_logo", in: Bundle(for: MyEmptyClass.self), compatibleWith: nil)
103 +
104 + profileImage.layer.cornerRadius = 32.5
105 + profileImage.layer.borderWidth = 1
106 + profileImage.layer.borderColor = UIColor(red: 0.13, green: 0.66, blue: 0.71, alpha: 1.00).cgColor
107 +
108 + if (profile != nil && profile?.image_url != nil && profile?.image_url != "") {
109 + profileImage.load(link: profile?.image_url ?? "", placeholder: UIImage(), cache: URLCache())
110 + } else {
111 + // TODO: DELETE
112 + profileImage.image = UIImage(named: "default_profile_image")
113 + // TODO: Uncomment
114 + // profileImage.image = UIImage(named: "default_profile_image", in: Bundle(for: MyEmptyClass.self), compatibleWith: nil)
115 + }
116 +
117 + print("Profile Name: " + (profile?.firstname ?? "") + " " + (profile?.lastname ?? ""))
118 +
119 + profileNameLabel.text = (profile?.firstname ?? "") + " " + (profile?.lastname ?? "")
120 +
121 + let userTag = swiftApi().getUserTag()
122 + print("User tag: " + userTag)
123 + if (userTag != "" && userTag != "undefined") {
124 + questionnaireButton.setTitle(userTag, for: .normal)
125 + questionnaireButton.titleLabel?.font = UIFont.systemFont(ofSize: 13, weight: .semibold)
126 + questionnaireButton.setTitleColor(.white, for: .normal)
127 + // questionnaireButton.sizeToFit()
128 + questionnaireButton.frame = CGRect(x: 0.0, y: 0.0, width: questionnaireButton.intrinsicContentSize.width, height: questionnaireButton.intrinsicContentSize.height)
129 + questionnaireButton.applyGradient(colours: [UIColor(red: 0.40, green: 0.77, blue: 0.28, alpha: 1.00), UIColor(red: 0.10, green: 0.66, blue: 0.72, alpha: 1.00)], gradient: GradientOrientation.horizontal, cornerRadius: 7.0)
130 + // Shadow Color
131 + questionnaireButton.layer.shadowColor = UIColor(red: 0.33, green: 0.38, blue: 0.43, alpha: 1.00).cgColor
132 + questionnaireButton.layer.shadowOffset = CGSize(width: 0.0, height: 2.0)
133 + questionnaireButton.layer.shadowOpacity = 1.0
134 + questionnaireButton.layer.shadowRadius = 0.0
135 + questionnaireButton.layer.masksToBounds = false
136 + } else {
137 + questionnaireButton.setTitle("+Προτιμήσεις", for: .normal)
138 + questionnaireButton.titleLabel?.font = UIFont.systemFont(ofSize: 13, weight: .semibold)
139 + questionnaireButton.setTitleColor(UIColor(red: 0.31, green: 0.62, blue: 0.18, alpha: 1.00), for: .normal)
140 + questionnaireButton.backgroundColor = UIColor(red: 0.90, green: 0.90, blue: 0.90, alpha: 1.00)
141 + questionnaireButton.frame = CGRect(x: 0.0, y: 0.0, width: questionnaireButton.intrinsicContentSize.width, height: questionnaireButton.intrinsicContentSize.height)
142 + }
143 +
144 + questionnaireButton.layer.cornerRadius = 7.0
145 +
146 + dfyEarnView.layer.cornerRadius = 5.0
147 + dfyEarnView.layer.shadowColor = UIColor(red: 0.00, green: 0.00, blue: 0.00, alpha: 0.16).cgColor
148 + dfyEarnView.layer.shadowOffset = CGSize(width: 0.0, height: 3.0)
149 + dfyEarnView.layer.shadowOpacity = 1.0
150 + dfyEarnView.layer.shadowRadius = 3.0
151 +
152 +// var totalCouponValue = self.dfyCoupons.reduce(0) { $0 + (Float($1._value) ?? 0) }
153 +// totalCouponValue = Float(round(100 * totalCouponValue) / 100)
154 +
155 + var totalCouponValue = swiftApi().getDealsCouponsSum()
156 + totalCouponValue = Float(round(100 * totalCouponValue) / 100)
157 + var totalCouponValueString = "0"
158 + totalCouponValueString = String(format: "%.2f", totalCouponValue).replacingOccurrences(of: ".", with: ",", options: .literal, range: nil)
159 +
160 + dfyEarnLabel.text = "Μέχρι τώρα έχεις κερδίσει " + totalCouponValueString + "€ με το DEALS for YOU!"
161 + dfyEarnAmountLabel.text = totalCouponValueString + "€"
162 +
163 + couponEarnView.layer.cornerRadius = 5.0
164 + couponEarnView.layer.shadowColor = UIColor(red: 0.00, green: 0.00, blue: 0.00, alpha: 0.16).cgColor
165 + couponEarnView.layer.shadowOffset = CGSize(width: 0.0, height: 3.0)
166 + couponEarnView.layer.shadowOpacity = 1.0
167 + couponEarnView.layer.shadowRadius = 3.0
168 +
169 + let totalCouponDiscount = Float(round(100 * loyaltyBadge._value) / 100)
170 + var totalCouponDiscountString = "0"
171 + totalCouponDiscountString = String(format: "%.2f", totalCouponDiscount).replacingOccurrences(of: ".", with: ",", options: .literal, range: nil)
172 +
173 + couponEarnLabel.text = "Μέχρι τώρα έχεις κερδίσει " + totalCouponDiscountString + "€ σε προσφορές από " + String(loyaltyBadge._couponCount) + " κουπόνια!"
174 + couponEarnAmountLabel.text = totalCouponDiscountString + "€"
175 +
176 + print("Loyalty Badge Value: " + totalCouponDiscountString)
177 + print("Loyalty Badge Count: " + String(loyaltyBadge._couponCount))
178 +
179 + activeCodeView.layer.cornerRadius = 5.0
180 + activeCodeView.layer.shadowColor = UIColor(red: 0.00, green: 0.00, blue: 0.00, alpha: 0.16).cgColor
181 + activeCodeView.layer.shadowOffset = CGSize(width: 0.0, height: 0.0)
182 + activeCodeView.layer.shadowOpacity = 1.0
183 + activeCodeView.layer.shadowRadius = 6.0
184 +
185 + if (dfyCoupons.count > 0) {
186 + if (dfyCoupons.count == 1) {
187 + let dateFormatter = DateFormatter()
188 + dateFormatter.dateFormat = "yyyy-MM-dd hh:mm:ss"
189 +
190 + // sort dfyCoupons by date
191 + dfyCoupons.sort(by: {
192 + let date1 = dateFormatter.date(from: $0._date)
193 + let date2 = dateFormatter.date(from: $1._date)
194 +
195 + if ((date1 != nil) && (date2 != nil)) {
196 + return date1!.compare(date2!) == .orderedAscending
197 + } else {
198 + return false
199 + }
200 +
201 + })
202 +
203 + // Get days from now of the most recet coupon
204 + var daysFromNow = ""
205 + let calendar = Calendar.current
206 +
207 + // Replace the hour (time) of both dates with 00:00
208 + let date1 = calendar.startOfDay(for: Date())
209 + if let date2 = dateFormatter.date(from: dfyCoupons[0]._date) {
210 + let components = calendar.dateComponents([.day], from: date1, to: date2)
211 + daysFromNow = (components.day) != nil ? String(components.day ?? 0) : ""
212 + }
213 +
214 + activeCodesCountLabel.text = "Ενεργός κωδικός:"
215 + activeCodeLabel.text = dfyCoupons[0]._code
216 + // TODO: UNHIDE IT
217 + activeCodeExpirationLabel.isHidden = true
218 + if (daysFromNow == "1") {
219 + activeCodeExpirationLabel.text = "Λήγει σε " + daysFromNow + " ημέρα"
220 + } else {
221 + activeCodeExpirationLabel.text = "Λήγει σε " + daysFromNow + " ημέρες"
222 + }
223 +
224 + } else {
225 + var couponCodesString = ""
226 + for (index, item) in dfyCoupons.enumerated() {
227 + if (index == (dfyCoupons.endIndex - 1)) {
228 + couponCodesString += String(item._code)
229 + } else {
230 + couponCodesString += String(item._code) + ", "
231 + }
232 +
233 + }
234 +
235 + activeCodesCountLabel.text = String(dfyCoupons.count) + " Ενεργοί κωδικοί:"
236 + activeCodeLabel.text = couponCodesString
237 + activeCodeExpirationLabel.isHidden = true
238 + }
239 + } else {
240 + activeCodeLabel.text = "-"
241 + activeCodeExpirationLabel.text = ""
242 +
243 + dfyLogoImage.isHidden = true
244 + activeCodeView.isHidden = true
245 +
246 + dfyLogoImageHeight.constant = 0
247 + activeCodeViewHeight.constant = 0
248 + dfyLogoImageTopSpace.constant = 0
249 +
250 + }
251 +
252 +
253 + // TODO: DELETE ===>
254 +// swiftApi().setUserTag("123")
255 + }
256 +
257 + public override func viewWillAppear(_ animated: Bool) {
258 + super.viewWillAppear(animated)
259 +
260 + let userTag = swiftApi().getUserTag()
261 + if (questionnaireButton.currentTitle != userTag) {
262 + if (userTag != "" && userTag != "undefined") {
263 + questionnaireButton.setTitle(userTag, for: .normal)
264 + questionnaireButton.titleLabel?.font = UIFont.systemFont(ofSize: 13, weight: .semibold)
265 + questionnaireButton.setTitleColor(.white, for: .normal)
266 + // questionnaireButton.sizeToFit()
267 + questionnaireButton.frame = CGRect(x: 0.0, y: 0.0, width: questionnaireButton.intrinsicContentSize.width, height: questionnaireButton.intrinsicContentSize.height)
268 + questionnaireButton.applyGradient(colours: [UIColor(red: 0.40, green: 0.77, blue: 0.28, alpha: 1.00), UIColor(red: 0.10, green: 0.66, blue: 0.72, alpha: 1.00)], gradient: GradientOrientation.horizontal, cornerRadius: 7.0)
269 + // Shadow Color
270 + questionnaireButton.layer.shadowColor = UIColor(red: 0.33, green: 0.38, blue: 0.43, alpha: 1.00).cgColor
271 + questionnaireButton.layer.shadowOffset = CGSize(width: 0.0, height: 2.0)
272 + questionnaireButton.layer.shadowOpacity = 1.0
273 + questionnaireButton.layer.shadowRadius = 0.0
274 + questionnaireButton.layer.masksToBounds = false
275 + } else {
276 + for layer in (questionnaireButton.layer.sublayers ?? []) {
277 + if(layer.name == "linearGradientLayer"){
278 + layer.removeFromSuperlayer()
279 + }
280 + }
281 + questionnaireButton.layer.shadowOpacity = 0.0;
282 + questionnaireButton.setTitle("+Προτιμήσεις", for: .normal)
283 + questionnaireButton.titleLabel?.font = UIFont.systemFont(ofSize: 13, weight: .semibold)
284 + questionnaireButton.setTitleColor(UIColor(red: 0.31, green: 0.62, blue: 0.18, alpha: 1.00), for: .normal)
285 + questionnaireButton.backgroundColor = UIColor(red: 0.90, green: 0.90, blue: 0.90, alpha: 1.00)
286 + questionnaireButton.frame = CGRect(x: 0.0, y: 0.0, width: questionnaireButton.intrinsicContentSize.width, height: questionnaireButton.intrinsicContentSize.height)
287 + }
288 + questionnaireButton.layer.cornerRadius = 7.0
289 + }
290 +
291 + }
292 +
293 + public override func viewDidLayoutSubviews() {
294 + super.viewDidLayoutSubviews()
295 +
296 + if let headerView = tableView.tableHeaderView {
297 +
298 + let height = headerView.systemLayoutSizeFitting(UIView.layoutFittingCompressedSize).height
299 + var headerFrame = headerView.frame
300 +
301 + //Comparison necessary to avoid infinite loop
302 + if height != headerFrame.size.height {
303 + headerFrame.size.height = height
304 + headerView.frame = headerFrame
305 + tableView.tableHeaderView = headerView
306 + }
307 + }
308 + }
309 +
310 + // TODO: DELETE ===>
311 + // MARK: - API Functions
312 + func getCouponsRequest() {
313 + swiftApi().getCouponsAsync(getCouponsCallback)
314 + }
315 +
316 + func getCouponsCallback (_ couponsData: Array<swiftApi.CouponItemModel>?) -> Void {
317 + if (couponsData != nil) {
318 + let activeCouponData = swiftApi().filterActiveCoupons(couponsData ?? [])
319 +
320 +// self.coupons = activeCouponData
321 +
322 + swiftApi().setCouponList(activeCouponData)
323 +
324 + self.coupons = swiftApi().getCouponList()
325 + self.loyaltyBadge = swiftApi().getLoyaltyBadge()
326 +
327 + DispatchQueue.main.async {
328 + self.tableView.reloadData()
329 +
330 + let totalCouponDiscount = Float(round(100 * self.loyaltyBadge._value) / 100)
331 + let totalCouponDiscountString = String(format: "%.2f", totalCouponDiscount).replacingOccurrences(of: ".", with: ",", options: .literal, range: nil)
332 +
333 + self.couponEarnLabel.text = "Μέχρι τώρα έχεις κερδίσει " + totalCouponDiscountString + "€ σε προσφορές από " + String(self.loyaltyBadge._couponCount) + " κουπόνια!"
334 + self.couponEarnAmountLabel.text = totalCouponDiscountString + "€"
335 + }
336 + } else {
337 + self.coupons = []
338 + }
339 + }
340 +
341 + func getProfileRequest() {
342 + swiftApi().getProfileAsync(getProfileCallback)
343 + }
344 +
345 + func getProfileCallback (_ profileData: swiftApi.ProfileModel?) -> Void {
346 + if (profileData != nil) {
347 +
348 + // self.profile = profileData ?? nil
349 +
350 + DispatchQueue.main.async {
351 +// self.tableView.reloadData()
352 +
353 + // TODO: Rerender screen
354 + swiftApi().setConsumer(profileData ?? swiftApi.ProfileModel())
355 + let newProfile = swiftApi().getConsumer()
356 +
357 + if (newProfile?.image_url != "") {
358 + self.profileImage.load(link: newProfile?.image_url ?? "", placeholder: UIImage(), cache: URLCache())
359 + } else {
360 + // TODO: DELETE
361 + self.profileImage.image = UIImage(named: "default_profile_image")
362 + // TODO: Uncomment
363 + // profileImage.image = UIImage(named: "default_profile_image", in: Bundle(for: MyEmptyClass.self), compatibleWith: nil)
364 + }
365 +
366 + self.profileNameLabel.text = (newProfile?.firstname ?? "") + " " + (newProfile?.lastname ?? "")
367 +
368 + print("========= DispatchQueue profileData SUCCESSSS =========")
369 + print(profileData)
370 + print("========= DispatchQueue profileData SUCCESSSS =========")
371 + }
372 + } else {
373 + // self.profile = nil
374 + }
375 + }
376 +
377 +
378 + func openQuestionnaire(_ controller: UIViewController) -> Void {
379 + for item in self.campaigns {
380 + if (item.offer_category == "questionnaire") {
381 +
382 + let storyboard = UIStoryboard(name: "Main", bundle: nil)
383 + let vc = storyboard.instantiateViewController(withIdentifier: "CampaignWebviewViewController") as! CampaignWebviewViewController
384 + let url = swiftApi().constructCampaignUrl(item)
385 + vc.campaignUrl = url
386 + controller.navigationController?.pushViewController(vc, animated: true)
387 +
388 + break;
389 + }
390 + }
391 + }
392 + // <=====
393 +
394 + // MARK: - Actions
395 + @IBAction func qustionnaireButtonAction(_ sender: Any) {
396 +// swiftApi().openQuestionnaire(self);
397 + openQuestionnaire(self)
398 +// print("qustionnaireButtonAction Tapped!")
399 + }
400 +
401 + @IBAction func dfyEarnButtonAction(_ sender: Any) {
402 +// // analysis_pressed event
403 +// let dealsAnalysis = swiftApi.WarplyDealsAnalysisEventModel()
404 +// dealsAnalysis._isPressed = true
405 +// SwiftEventBus.post("analysis_pressed", sender: dealsAnalysis)
406 + }
407 + @IBAction func couponEarnButtonAction(_ sender: Any) {
408 + // TODO: couponEarnButtonAction
409 + print("couponEarnButtonAction Tapped!")
410 + }
411 +
412 +}
413 +
414 +// MARK: - TableView
415 +extension WalletViewController: UITableViewDelegate, UITableViewDataSource{
416 +
417 + public func numberOfSections(in tableView: UITableView) -> Int {
418 + return 1
419 + }
420 +
421 + public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
422 + return self.coupons.count
423 + }
424 +
425 + public func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
426 + return 120.0 + 30.0
427 +// return UITableViewAutomaticDimension
428 + }
429 +
430 + public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
431 + let cell = tableView.dequeueReusableCell(withIdentifier: "CouponsTableViewCellId", for: indexPath) as! CouponsTableViewCell
432 +
433 + cell.configureCell(coupon: coupons[indexPath.row])
434 +
435 + return cell
436 + }
437 +
438 + public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
439 +
440 +// TODO: DELETE
441 + let storyboard = UIStoryboard(name: "Main", bundle: nil)
442 + let vc = storyboard.instantiateViewController(withIdentifier: "CouponBarcodeViewController") as! CouponBarcodeViewController
443 + vc.coupon = coupons[indexPath.row]
444 + self.navigationController?.pushViewController(vc, animated: true)
445 +
446 +// TODO: UNCOMMENT
447 +// let storyboard = UIStoryboard(name: "Main", bundle: Bundle(for: MyEmptyClass.self))
448 +// let vc = storyboard.instantiateViewController(withIdentifier: "CouponBarcodeViewController") as! CouponBarcodeViewController
449 +// vc.coupon = coupons[indexPath.row]
450 +// self.navigationController?.pushViewController(vc, animated: true)
451 +
452 + }
453 +
454 +}
1 +[
2 + {
3 + "treatmentCode": "5228.e1d.38378e61.750186c1",
4 + "provDuration": "0.0",
5 + "offerName": "CCMS loyalty - postpay addon gifts4u",
6 + "eligibleAssets": [
7 + "306932222490"
8 + ],
9 + "noOfRecurrance": "0",
10 + "businessService": "0.0",
11 + "loyaltyCampaignId": "8eb71c4ceaff409c896e2d1f6f1c20f3",
12 + "discount": "NaN",
13 + "notificationMessage": "",
14 + "score": "50",
15 + "provStepValueMins": "",
16 + "dataCategory": "",
17 + "productType": "MOBILE ADDON",
18 + "sessionId": "ONE_APP.6932222490.20220708164935",
19 + "offerCode1": "000003612",
20 + "wave": "1",
21 + "id": "000003612",
22 + "offerAudienceLevel": "msisdn",
23 + "voiceCategory": "",
24 + "uaciOfferTrackingCode": "5228.e1d.38378e61.750186c1",
25 + "validity": "0",
26 + "businessAdditionalId": "0.0",
27 + "postpayProduct": "0.0",
28 + "price": "NaN",
29 + "minsValue": "",
30 + "dataValue": "",
31 + "zone": "COSMOTE_APP_GIFTS4U"
32 + },
33 + {
34 + "treatmentCode": "5162.e07.fffffffffa10663a.ffffffffda30c76a",
35 + "provDuration": "0.0",
36 + "offerName": "CCMS loyalty white label",
37 + "eligibleAssets": [
38 + "306932222490"
39 + ],
40 + "noOfRecurrance": "",
41 + "businessService": "",
42 + "loyaltyCampaignId": "NA",
43 + "discount": "",
44 + "notificationMessage": "",
45 + "score": "50",
46 + "provStepValueMins": "",
47 + "dataCategory": "Data",
48 + "productType": "White Label",
49 + "sessionId": "ONE_APP.6932222490.20220708164935",
50 + "offerCode1": "000003590",
51 + "wave": "1",
52 + "id": "000003590",
53 + "offerAudienceLevel": "msisdn",
54 + "voiceCategory": "",
55 + "uaciOfferTrackingCode": "5162.e07.fffffffffa10663a.ffffffffda30c76a",
56 + "validity": "0",
57 + "businessAdditionalId": "",
58 + "postpayProduct": "",
59 + "price": "NaN",
60 + "minsValue": "",
61 + "dataValue": "",
62 + "zone": "COSMOTE_APP_GIFTS4U"
63 + },
64 + {
65 + "treatmentCode": "5224.e19.30e2f27b.ffffffffeb22b0db",
66 + "provDuration": "0.0",
67 + "offerName": "CCMS loyalty gifts4u v1",
68 + "eligibleAssets": [
69 + "306932222490"
70 + ],
71 + "noOfRecurrance": "",
72 + "businessService": "",
73 + "loyaltyCampaignId": "c134cdeb8a924f8eac38e261acb9caf5",
74 + "discount": "",
75 + "notificationMessage": "",
76 + "score": "50",
77 + "provStepValueMins": "",
78 + "dataCategory": "Data",
79 + "productType": "White Label",
80 + "sessionId": "ONE_APP.6932222490.20220708164935",
81 + "offerCode1": "000003608",
82 + "wave": "1",
83 + "id": "000003608",
84 + "offerAudienceLevel": "msisdn",
85 + "voiceCategory": "",
86 + "uaciOfferTrackingCode": "5224.e19.30e2f27b.ffffffffeb22b0db",
87 + "validity": "0",
88 + "businessAdditionalId": "",
89 + "postpayProduct": "",
90 + "price": "NaN",
91 + "minsValue": "",
92 + "dataValue": "",
93 + "zone": "COSMOTE_APP_GIFTS4U"
94 + },
95 + {
96 + "treatmentCode": "51e9.e10.2c006f18.71e96d08",
97 + "provDuration": "0.0",
98 + "offerName": "CCMS loyalty white label with campaignId",
99 + "eligibleAssets": [
100 + "306932222490"
101 + ],
102 + "noOfRecurrance": "",
103 + "businessService": "",
104 + "loyaltyCampaignId": "c5cc5f4f65624f47a580b720233fa60d",
105 + "discount": "",
106 + "notificationMessage": "",
107 + "score": "50",
108 + "provStepValueMins": "",
109 + "dataCategory": "Data",
110 + "productType": "White Label",
111 + "sessionId": "ONE_APP.6932222490.20220708164935",
112 + "offerCode1": "000003599",
113 + "wave": "1",
114 + "id": "000003599",
115 + "offerAudienceLevel": "msisdn",
116 + "voiceCategory": "",
117 + "uaciOfferTrackingCode": "51e9.e10.2c006f18.71e96d08",
118 + "validity": "0",
119 + "businessAdditionalId": "",
120 + "postpayProduct": "",
121 + "price": "NaN",
122 + "minsValue": "",
123 + "dataValue": "",
124 + "zone": "COSMOTE_APP_GIFTS4U"
125 + },
126 + {
127 + "treatmentCode": "5168.e05.ffffffffa943695b.79ff470b",
128 + "provDuration": "0.0",
129 + "offerName": "CCMS loyalty postpay addon",
130 + "eligibleAssets": [
131 + "306932222490"
132 + ],
133 + "noOfRecurrance": "0",
134 + "businessService": "0.0",
135 + "loyaltyCampaignId": "NA",
136 + "discount": "NaN",
137 + "notificationMessage": "",
138 + "score": "50",
139 + "provStepValueMins": "",
140 + "dataCategory": "",
141 + "productType": "MOBILE ADDON",
142 + "sessionId": "ONE_APP.6932222490.20220708164935",
143 + "offerCode1": "000003588",
144 + "wave": "1",
145 + "id": "000003588",
146 + "offerAudienceLevel": "msisdn",
147 + "voiceCategory": "",
148 + "uaciOfferTrackingCode": "5168.e05.ffffffffa943695b.79ff470b",
149 + "validity": "0",
150 + "businessAdditionalId": "0.0",
151 + "postpayProduct": "0.0",
152 + "price": "NaN",
153 + "minsValue": "",
154 + "dataValue": "",
155 + "zone": "COSMOTE_APP_GIFTS4U"
156 + },
157 + {
158 + "treatmentCode": "5222.e1b.ffffffffe725d1b3.ffffffffed6d8723",
159 + "provDuration": "7.0",
160 + "offerName": "CCMS loyalty more4u v1",
161 + "eligibleAssets": [
162 + "306932222490"
163 + ],
164 + "noOfRecurrance": "",
165 + "businessService": "",
166 + "loyaltyCampaignId": "8e2c88ec94c948d8b51577324ed9a4d5",
167 + "discount": "",
168 + "notificationMessage": "",
169 + "score": "60",
170 + "provStepValueMins": "",
171 + "dataCategory": "Data",
172 + "productType": "White Label",
173 + "sessionId": "ONE_APP.6932222490.20220708164935",
174 + "offerCode1": "000003610",
175 + "wave": "1",
176 + "id": "000003610",
177 + "offerAudienceLevel": "msisdn",
178 + "voiceCategory": "",
179 + "uaciOfferTrackingCode": "5222.e1b.ffffffffe725d1b3.ffffffffed6d8723",
180 + "validity": "0",
181 + "businessAdditionalId": "",
182 + "postpayProduct": "",
183 + "price": "20",
184 + "minsValue": "",
185 + "dataValue": "",
186 + "zone": "COSMOTE_APP_MORE4U"
187 + },
188 + {
189 + "treatmentCode": "5164.e07.fffffffffa10663a.ffffffffda30c76a",
190 + "provDuration": "0.0",
191 + "offerName": "CCMS loyalty white label",
192 + "eligibleAssets": [
193 + "306932222490"
194 + ],
195 + "noOfRecurrance": "",
196 + "businessService": "",
197 + "loyaltyCampaignId": "NA",
198 + "discount": "",
199 + "notificationMessage": "",
200 + "score": "50",
201 + "provStepValueMins": "",
202 + "dataCategory": "Data",
203 + "productType": "White Label",
204 + "sessionId": "ONE_APP.6932222490.20220708164935",
205 + "offerCode1": "000003590",
206 + "wave": "1",
207 + "id": "000003590",
208 + "offerAudienceLevel": "msisdn",
209 + "voiceCategory": "",
210 + "uaciOfferTrackingCode": "5164.e07.fffffffffa10663a.ffffffffda30c76a",
211 + "validity": "0",
212 + "businessAdditionalId": "",
213 + "postpayProduct": "",
214 + "price": "NaN",
215 + "minsValue": "",
216 + "dataValue": "",
217 + "zone": "COSMOTE_APP_MORE4U"
218 + },
219 + {
220 + "treatmentCode": "5226.e1f.728b68c6.ffffffffa6c7b10e",
221 + "provDuration": "0.0",
222 + "offerName": "CCMS loyalty - postpay addon more4u",
223 + "eligibleAssets": [
224 + "306932222490"
225 + ],
226 + "noOfRecurrance": "0",
227 + "businessService": "0.0",
228 + "loyaltyCampaignId": "aaf4022194584f02bb84c7b283c7c51e",
229 + "discount": "NaN",
230 + "notificationMessage": "",
231 + "score": "50",
232 + "provStepValueMins": "",
233 + "dataCategory": "",
234 + "productType": "MOBILE ADDON",
235 + "sessionId": "ONE_APP.6932222490.20220708164935",
236 + "offerCode1": "000003614",
237 + "wave": "1",
238 + "id": "000003614",
239 + "offerAudienceLevel": "msisdn",
240 + "voiceCategory": "",
241 + "uaciOfferTrackingCode": "5226.e1f.728b68c6.ffffffffa6c7b10e",
242 + "validity": "0",
243 + "businessAdditionalId": "0.0",
244 + "postpayProduct": "0.0",
245 + "price": "NaN",
246 + "minsValue": "",
247 + "dataValue": "",
248 + "zone": "COSMOTE_APP_MORE4U"
249 + },
250 + {
251 + "treatmentCode": "516a.e05.ffffffffa943695b.79ff470b",
252 + "provDuration": "0.0",
253 + "offerName": "CCMS loyalty postpay addon",
254 + "eligibleAssets": [
255 + "306932222490"
256 + ],
257 + "noOfRecurrance": "0",
258 + "businessService": "0.0",
259 + "loyaltyCampaignId": "NA",
260 + "discount": "NaN",
261 + "notificationMessage": "",
262 + "score": "50",
263 + "provStepValueMins": "",
264 + "dataCategory": "",
265 + "productType": "MOBILE ADDON",
266 + "sessionId": "ONE_APP.6932222490.20220708164935",
267 + "offerCode1": "000003588",
268 + "wave": "1",
269 + "id": "000003588",
270 + "offerAudienceLevel": "msisdn",
271 + "voiceCategory": "",
272 + "uaciOfferTrackingCode": "516a.e05.ffffffffa943695b.79ff470b",
273 + "validity": "0",
274 + "businessAdditionalId": "0.0",
275 + "postpayProduct": "0.0",
276 + "price": "NaN",
277 + "minsValue": "",
278 + "dataValue": "",
279 + "zone": "COSMOTE_APP_MORE4U"
280 + },
281 + {
282 + "treatmentCode": "51eb.e10.2c006f18.71e96d08",
283 + "provDuration": "0.0",
284 + "offerName": "CCMS loyalty white label with campaignId",
285 + "eligibleAssets": [
286 + "306932222490"
287 + ],
288 + "noOfRecurrance": "",
289 + "businessService": "",
290 + "loyaltyCampaignId": "c5cc5f4f65624f47a580b720233fa60d",
291 + "discount": "",
292 + "notificationMessage": "",
293 + "score": "50",
294 + "provStepValueMins": "",
295 + "dataCategory": "Data",
296 + "productType": "White Label",
297 + "sessionId": "ONE_APP.6932222490.20220708164935",
298 + "offerCode1": "000003599",
299 + "wave": "1",
300 + "id": "000003599",
301 + "offerAudienceLevel": "msisdn",
302 + "voiceCategory": "",
303 + "uaciOfferTrackingCode": "51eb.e10.2c006f18.71e96d08",
304 + "validity": "0",
305 + "businessAdditionalId": "",
306 + "postpayProduct": "",
307 + "price": "NaN",
308 + "minsValue": "",
309 + "dataValue": "",
310 + "zone": "COSMOTE_APP_MORE4U"
311 + },
312 + {
313 + "treatmentCode": "5166.e07.fffffffffa10663a.ffffffffda30c76a",
314 + "provDuration": "0.0",
315 + "offerName": "CCMS loyalty white label",
316 + "eligibleAssets": [
317 + "306932222490"
318 + ],
319 + "noOfRecurrance": "",
320 + "businessService": "",
321 + "loyaltyCampaignId": "NA",
322 + "discount": "",
323 + "notificationMessage": "",
324 + "score": "50",
325 + "provStepValueMins": "",
326 + "dataCategory": "Data",
327 + "productType": "White Label",
328 + "sessionId": "ONE_APP.6932222490.20220708164935",
329 + "offerCode1": "000003590",
330 + "wave": "1",
331 + "id": "000003590",
332 + "offerAudienceLevel": "msisdn",
333 + "voiceCategory": "",
334 + "uaciOfferTrackingCode": "5166.e07.fffffffffa10663a.ffffffffda30c76a",
335 + "validity": "0",
336 + "businessAdditionalId": "",
337 + "postpayProduct": "",
338 + "price": "NaN",
339 + "minsValue": "",
340 + "dataValue": "",
341 + "zone": "COSMOTE_APP_LOYALTY_PROMO"
342 + },
343 + {
344 + "treatmentCode": "51ed.e10.2c006f18.71e96d08",
345 + "provDuration": "0.0",
346 + "offerName": "CCMS loyalty white label with campaignId",
347 + "eligibleAssets": [
348 + "306932222490"
349 + ],
350 + "noOfRecurrance": "",
351 + "businessService": "",
352 + "loyaltyCampaignId": "c5cc5f4f65624f47a580b720233fa60d",
353 + "discount": "",
354 + "notificationMessage": "",
355 + "score": "50",
356 + "provStepValueMins": "",
357 + "dataCategory": "Data",
358 + "productType": "White Label",
359 + "sessionId": "ONE_APP.6932222490.20220708164935",
360 + "offerCode1": "000003599",
361 + "wave": "1",
362 + "id": "000003599",
363 + "offerAudienceLevel": "msisdn",
364 + "voiceCategory": "",
365 + "uaciOfferTrackingCode": "51ed.e10.2c006f18.71e96d08",
366 + "validity": "0",
367 + "businessAdditionalId": "",
368 + "postpayProduct": "",
369 + "price": "NaN",
370 + "minsValue": "",
371 + "dataValue": "",
372 + "zone": "COSMOTE_APP_LOYALTY_PROMO"
373 + },
374 + {
375 + "treatmentCode": "516c.e05.ffffffffa943695b.79ff470b",
376 + "provDuration": "0.0",
377 + "offerName": "CCMS loyalty postpay addon",
378 + "eligibleAssets": [
379 + "306932222490"
380 + ],
381 + "noOfRecurrance": "0",
382 + "businessService": "0.0",
383 + "loyaltyCampaignId": "NA",
384 + "discount": "NaN",
385 + "notificationMessage": "",
386 + "score": "50",
387 + "provStepValueMins": "",
388 + "dataCategory": "",
389 + "productType": "MOBILE ADDON",
390 + "sessionId": "ONE_APP.6932222490.20220708164935",
391 + "offerCode1": "000003588",
392 + "wave": "1",
393 + "id": "000003588",
394 + "offerAudienceLevel": "msisdn",
395 + "voiceCategory": "",
396 + "uaciOfferTrackingCode": "516c.e05.ffffffffa943695b.79ff470b",
397 + "validity": "0",
398 + "businessAdditionalId": "0.0",
399 + "postpayProduct": "0.0",
400 + "price": "NaN",
401 + "minsValue": "",
402 + "dataValue": "",
403 + "zone": "COSMOTE_APP_LOYALTY_PROMO"
404 + }
405 +]
...\ No newline at end of file ...\ No newline at end of file
1 +//
2 +// Use this file to import your target's public headers that you would like to expose to Swift.
3 +//
4 +#import <UIKit/UIKit.h>
5 +#import "WarplySDKFrameworkIOS/MyApi.h"
1 +//
2 +// swift_exampleTests.swift
3 +// swift_exampleTests
4 +//
5 +// Created by Manos Chorianopoulos on 18/4/22.
6 +//
7 +
8 +import XCTest
9 +@testable import swift_example
10 +
11 +class swift_exampleTests: XCTestCase {
12 +
13 + override func setUpWithError() throws {
14 + // Put setup code here. This method is called before the invocation of each test method in the class.
15 + }
16 +
17 + override func tearDownWithError() throws {
18 + // Put teardown code here. This method is called after the invocation of each test method in the class.
19 + }
20 +
21 + func testExample() throws {
22 + // This is an example of a functional test case.
23 + // Use XCTAssert and related functions to verify your tests produce the correct results.
24 + }
25 +
26 + func testPerformanceExample() throws {
27 + // This is an example of a performance test case.
28 + self.measure {
29 + // Put the code you want to measure the time of here.
30 + }
31 + }
32 +
33 +}
1 +//
2 +// swift_exampleUITests.swift
3 +// swift_exampleUITests
4 +//
5 +// Created by Manos Chorianopoulos on 18/4/22.
6 +//
7 +
8 +import XCTest
9 +
10 +class swift_exampleUITests: XCTestCase {
11 +
12 + override func setUpWithError() throws {
13 + // Put setup code here. This method is called before the invocation of each test method in the class.
14 +
15 + // In UI tests it is usually best to stop immediately when a failure occurs.
16 + continueAfterFailure = false
17 +
18 + // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this.
19 + }
20 +
21 + override func tearDownWithError() throws {
22 + // Put teardown code here. This method is called after the invocation of each test method in the class.
23 + }
24 +
25 + func testExample() throws {
26 + // UI tests must launch the application that they test.
27 + let app = XCUIApplication()
28 + app.launch()
29 +
30 + // Use recording to get started writing UI tests.
31 + // Use XCTAssert and related functions to verify your tests produce the correct results.
32 + }
33 +
34 + func testLaunchPerformance() throws {
35 + if #available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 7.0, *) {
36 + // This measures how long it takes to launch your application.
37 + measure(metrics: [XCTApplicationLaunchMetric()]) {
38 + XCUIApplication().launch()
39 + }
40 + }
41 + }
42 +}
1 +//
2 +// swift_exampleUITestsLaunchTests.swift
3 +// swift_exampleUITests
4 +//
5 +// Created by Manos Chorianopoulos on 18/4/22.
6 +//
7 +
8 +import XCTest
9 +
10 +class swift_exampleUITestsLaunchTests: XCTestCase {
11 +
12 + override class var runsForEachTargetApplicationUIConfiguration: Bool {
13 + true
14 + }
15 +
16 + override func setUpWithError() throws {
17 + continueAfterFailure = false
18 + }
19 +
20 + func testLaunch() throws {
21 + let app = XCUIApplication()
22 + app.launch()
23 +
24 + // Insert steps here to perform after app launch but before taking a screenshot,
25 + // such as logging into a test account or navigating somewhere in the app
26 +
27 + let attachment = XCTAttachment(screenshot: app.screenshot())
28 + attachment.name = "Launch Screen"
29 + attachment.lifetime = .keepAlways
30 + add(attachment)
31 + }
32 +}
1 -# Uncomment the next line to define a global platform for your project
2 -# platform :ios, '9.0'
3 -
4 -target 'SwiftWarplyFramework' do
5 - # Comment the next line if you don't want to use dynamic frameworks
6 - use_frameworks!
7 -
8 - # Pods for SwiftWarplyFramework
9 -
10 -end
1 -PODFILE CHECKSUM: 54752dc113f1a895fde22654f99199950788b81a
2 -
3 -COCOAPODS: 1.11.3
1 -PODFILE CHECKSUM: 54752dc113f1a895fde22654f99199950788b81a
2 -
3 -COCOAPODS: 1.11.3
1 -// !$*UTF8*$!
2 -{
3 - archiveVersion = 1;
4 - classes = {
5 - };
6 - objectVersion = 55;
7 - objects = {
8 -
9 -/* Begin PBXBuildFile section */
10 - 5FFFBBDC8747F8F95267B369A0B08A98 /* Pods-SwiftWarplyFramework-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F8331D4BF59E223F03F9D78498A11D3 /* Pods-SwiftWarplyFramework-dummy.m */; };
11 - 74539182FFE1CC9A3E4A1148C6E79EE2 /* Pods-SwiftWarplyFramework-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = BBB69456FA6939ACD4861B5811D770FE /* Pods-SwiftWarplyFramework-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
12 - E4181C0613DFE2B5114170C92345E9CD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */; };
13 -/* End PBXBuildFile section */
14 -
15 -/* Begin PBXFileReference section */
16 - 0AB974C2109C7DBBE55E5D7D226F4EBE /* Pods-SwiftWarplyFramework.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SwiftWarplyFramework.debug.xcconfig"; sourceTree = "<group>"; };
17 - 498C91A02DB96471EA0C396AF19FE567 /* Pods-SwiftWarplyFramework-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-SwiftWarplyFramework-acknowledgements.plist"; sourceTree = "<group>"; };
18 - 4F8331D4BF59E223F03F9D78498A11D3 /* Pods-SwiftWarplyFramework-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-SwiftWarplyFramework-dummy.m"; sourceTree = "<group>"; };
19 - 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
20 - 9C56DCEAAECE1BF9FFCB6DA961E060A0 /* Pods-SwiftWarplyFramework.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SwiftWarplyFramework.release.xcconfig"; sourceTree = "<group>"; };
21 - 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
22 - B635393CCC529FD1813F0745916C87AC /* Pods-SwiftWarplyFramework.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-SwiftWarplyFramework.modulemap"; sourceTree = "<group>"; };
23 - B8A1D33859E1702D0F866D60935E2541 /* Pods-SwiftWarplyFramework-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-SwiftWarplyFramework-Info.plist"; sourceTree = "<group>"; };
24 - BA497191C8973FAD25E5BF0C5906F342 /* Pods-SwiftWarplyFramework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-SwiftWarplyFramework"; path = Pods_SwiftWarplyFramework.framework; sourceTree = BUILT_PRODUCTS_DIR; };
25 - BBB69456FA6939ACD4861B5811D770FE /* Pods-SwiftWarplyFramework-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-SwiftWarplyFramework-umbrella.h"; sourceTree = "<group>"; };
26 - C8DE3069F6B905BDACB2D38E4C3667A1 /* Pods-SwiftWarplyFramework-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-SwiftWarplyFramework-acknowledgements.markdown"; sourceTree = "<group>"; };
27 -/* End PBXFileReference section */
28 -
29 -/* Begin PBXFrameworksBuildPhase section */
30 - 8DBBA6E0B0801ADCD87B79CF2CE336CE /* Frameworks */ = {
31 - isa = PBXFrameworksBuildPhase;
32 - buildActionMask = 2147483647;
33 - files = (
34 - E4181C0613DFE2B5114170C92345E9CD /* Foundation.framework in Frameworks */,
35 - );
36 - runOnlyForDeploymentPostprocessing = 0;
37 - };
38 -/* End PBXFrameworksBuildPhase section */
39 -
40 -/* Begin PBXGroup section */
41 - 0E630E55450A4BE65A856032DD4502FF /* Products */ = {
42 - isa = PBXGroup;
43 - children = (
44 - BA497191C8973FAD25E5BF0C5906F342 /* Pods-SwiftWarplyFramework */,
45 - );
46 - name = Products;
47 - sourceTree = "<group>";
48 - };
49 - 578452D2E740E91742655AC8F1636D1F /* iOS */ = {
50 - isa = PBXGroup;
51 - children = (
52 - 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */,
53 - );
54 - name = iOS;
55 - sourceTree = "<group>";
56 - };
57 - 676E7414F2F8A3E83407E27852342B51 /* Pods-SwiftWarplyFramework */ = {
58 - isa = PBXGroup;
59 - children = (
60 - B635393CCC529FD1813F0745916C87AC /* Pods-SwiftWarplyFramework.modulemap */,
61 - C8DE3069F6B905BDACB2D38E4C3667A1 /* Pods-SwiftWarplyFramework-acknowledgements.markdown */,
62 - 498C91A02DB96471EA0C396AF19FE567 /* Pods-SwiftWarplyFramework-acknowledgements.plist */,
63 - 4F8331D4BF59E223F03F9D78498A11D3 /* Pods-SwiftWarplyFramework-dummy.m */,
64 - B8A1D33859E1702D0F866D60935E2541 /* Pods-SwiftWarplyFramework-Info.plist */,
65 - BBB69456FA6939ACD4861B5811D770FE /* Pods-SwiftWarplyFramework-umbrella.h */,
66 - 0AB974C2109C7DBBE55E5D7D226F4EBE /* Pods-SwiftWarplyFramework.debug.xcconfig */,
67 - 9C56DCEAAECE1BF9FFCB6DA961E060A0 /* Pods-SwiftWarplyFramework.release.xcconfig */,
68 - );
69 - name = "Pods-SwiftWarplyFramework";
70 - path = "Target Support Files/Pods-SwiftWarplyFramework";
71 - sourceTree = "<group>";
72 - };
73 - A52BE7DC1544A14AE1EDB07366624F62 /* Targets Support Files */ = {
74 - isa = PBXGroup;
75 - children = (
76 - 676E7414F2F8A3E83407E27852342B51 /* Pods-SwiftWarplyFramework */,
77 - );
78 - name = "Targets Support Files";
79 - sourceTree = "<group>";
80 - };
81 - CF1408CF629C7361332E53B88F7BD30C = {
82 - isa = PBXGroup;
83 - children = (
84 - 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */,
85 - D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */,
86 - 0E630E55450A4BE65A856032DD4502FF /* Products */,
87 - A52BE7DC1544A14AE1EDB07366624F62 /* Targets Support Files */,
88 - );
89 - sourceTree = "<group>";
90 - };
91 - D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */ = {
92 - isa = PBXGroup;
93 - children = (
94 - 578452D2E740E91742655AC8F1636D1F /* iOS */,
95 - );
96 - name = Frameworks;
97 - sourceTree = "<group>";
98 - };
99 -/* End PBXGroup section */
100 -
101 -/* Begin PBXHeadersBuildPhase section */
102 - 9094B0279074070AF637753912AB9D1F /* Headers */ = {
103 - isa = PBXHeadersBuildPhase;
104 - buildActionMask = 2147483647;
105 - files = (
106 - 74539182FFE1CC9A3E4A1148C6E79EE2 /* Pods-SwiftWarplyFramework-umbrella.h in Headers */,
107 - );
108 - runOnlyForDeploymentPostprocessing = 0;
109 - };
110 -/* End PBXHeadersBuildPhase section */
111 -
112 -/* Begin PBXNativeTarget section */
113 - 0779DA8BF8CD56EC67C289108B77221C /* Pods-SwiftWarplyFramework */ = {
114 - isa = PBXNativeTarget;
115 - buildConfigurationList = 0FEBE74A1ACE6D0CCBD55530A22DA04D /* Build configuration list for PBXNativeTarget "Pods-SwiftWarplyFramework" */;
116 - buildPhases = (
117 - 9094B0279074070AF637753912AB9D1F /* Headers */,
118 - 53A235508235D85D9CABA02615AF1954 /* Sources */,
119 - 8DBBA6E0B0801ADCD87B79CF2CE336CE /* Frameworks */,
120 - D623D98A94A9FDCD93C40621097E6621 /* Resources */,
121 - );
122 - buildRules = (
123 - );
124 - dependencies = (
125 - );
126 - name = "Pods-SwiftWarplyFramework";
127 - productName = Pods_SwiftWarplyFramework;
128 - productReference = BA497191C8973FAD25E5BF0C5906F342 /* Pods-SwiftWarplyFramework */;
129 - productType = "com.apple.product-type.framework";
130 - };
131 -/* End PBXNativeTarget section */
132 -
133 -/* Begin PBXProject section */
134 - BFDFE7DC352907FC980B868725387E98 /* Project object */ = {
135 - isa = PBXProject;
136 - attributes = {
137 - LastSwiftUpdateCheck = 1240;
138 - LastUpgradeCheck = 1240;
139 - };
140 - buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */;
141 - compatibilityVersion = "Xcode 13.0";
142 - developmentRegion = en;
143 - hasScannedForEncodings = 0;
144 - knownRegions = (
145 - Base,
146 - en,
147 - );
148 - mainGroup = CF1408CF629C7361332E53B88F7BD30C;
149 - productRefGroup = 0E630E55450A4BE65A856032DD4502FF /* Products */;
150 - projectDirPath = "";
151 - projectRoot = "";
152 - targets = (
153 - 0779DA8BF8CD56EC67C289108B77221C /* Pods-SwiftWarplyFramework */,
154 - );
155 - };
156 -/* End PBXProject section */
157 -
158 -/* Begin PBXResourcesBuildPhase section */
159 - D623D98A94A9FDCD93C40621097E6621 /* Resources */ = {
160 - isa = PBXResourcesBuildPhase;
161 - buildActionMask = 2147483647;
162 - files = (
163 - );
164 - runOnlyForDeploymentPostprocessing = 0;
165 - };
166 -/* End PBXResourcesBuildPhase section */
167 -
168 -/* Begin PBXSourcesBuildPhase section */
169 - 53A235508235D85D9CABA02615AF1954 /* Sources */ = {
170 - isa = PBXSourcesBuildPhase;
171 - buildActionMask = 2147483647;
172 - files = (
173 - 5FFFBBDC8747F8F95267B369A0B08A98 /* Pods-SwiftWarplyFramework-dummy.m in Sources */,
174 - );
175 - runOnlyForDeploymentPostprocessing = 0;
176 - };
177 -/* End PBXSourcesBuildPhase section */
178 -
179 -/* Begin XCBuildConfiguration section */
180 - 8C3E239946F02EEF0EA8A796F2493F7E /* Release */ = {
181 - isa = XCBuildConfiguration;
182 - baseConfigurationReference = 9C56DCEAAECE1BF9FFCB6DA961E060A0 /* Pods-SwiftWarplyFramework.release.xcconfig */;
183 - buildSettings = {
184 - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
185 - CLANG_ENABLE_OBJC_WEAK = NO;
186 - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
187 - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
188 - "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
189 - CURRENT_PROJECT_VERSION = 1;
190 - DEFINES_MODULE = YES;
191 - DYLIB_COMPATIBILITY_VERSION = 1;
192 - DYLIB_CURRENT_VERSION = 1;
193 - DYLIB_INSTALL_NAME_BASE = "@rpath";
194 - INFOPLIST_FILE = "Target Support Files/Pods-SwiftWarplyFramework/Pods-SwiftWarplyFramework-Info.plist";
195 - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
196 - IPHONEOS_DEPLOYMENT_TARGET = 11.0;
197 - LD_RUNPATH_SEARCH_PATHS = (
198 - "$(inherited)",
199 - "@executable_path/Frameworks",
200 - "@loader_path/Frameworks",
201 - );
202 - MACH_O_TYPE = staticlib;
203 - MODULEMAP_FILE = "Target Support Files/Pods-SwiftWarplyFramework/Pods-SwiftWarplyFramework.modulemap";
204 - OTHER_LDFLAGS = "";
205 - OTHER_LIBTOOLFLAGS = "";
206 - PODS_ROOT = "$(SRCROOT)";
207 - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
208 - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
209 - SDKROOT = iphoneos;
210 - SKIP_INSTALL = YES;
211 - TARGETED_DEVICE_FAMILY = "1,2";
212 - VALIDATE_PRODUCT = YES;
213 - VERSIONING_SYSTEM = "apple-generic";
214 - VERSION_INFO_PREFIX = "";
215 - };
216 - name = Release;
217 - };
218 - 903A0004D3E6651EFD5D2E16214D101B /* Release */ = {
219 - isa = XCBuildConfiguration;
220 - buildSettings = {
221 - ALWAYS_SEARCH_USER_PATHS = NO;
222 - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
223 - CLANG_ANALYZER_NONNULL = YES;
224 - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
225 - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
226 - CLANG_CXX_LIBRARY = "libc++";
227 - CLANG_ENABLE_MODULES = YES;
228 - CLANG_ENABLE_OBJC_ARC = YES;
229 - CLANG_ENABLE_OBJC_WEAK = YES;
230 - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
231 - CLANG_WARN_BOOL_CONVERSION = YES;
232 - CLANG_WARN_COMMA = YES;
233 - CLANG_WARN_CONSTANT_CONVERSION = YES;
234 - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
235 - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
236 - CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
237 - CLANG_WARN_EMPTY_BODY = YES;
238 - CLANG_WARN_ENUM_CONVERSION = YES;
239 - CLANG_WARN_INFINITE_RECURSION = YES;
240 - CLANG_WARN_INT_CONVERSION = YES;
241 - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
242 - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
243 - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
244 - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
245 - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
246 - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
247 - CLANG_WARN_STRICT_PROTOTYPES = YES;
248 - CLANG_WARN_SUSPICIOUS_MOVE = YES;
249 - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
250 - CLANG_WARN_UNREACHABLE_CODE = YES;
251 - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
252 - COPY_PHASE_STRIP = NO;
253 - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
254 - ENABLE_NS_ASSERTIONS = NO;
255 - ENABLE_STRICT_OBJC_MSGSEND = YES;
256 - GCC_C_LANGUAGE_STANDARD = gnu11;
257 - GCC_NO_COMMON_BLOCKS = YES;
258 - GCC_PREPROCESSOR_DEFINITIONS = (
259 - "POD_CONFIGURATION_RELEASE=1",
260 - "$(inherited)",
261 - );
262 - GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
263 - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
264 - GCC_WARN_UNDECLARED_SELECTOR = YES;
265 - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
266 - GCC_WARN_UNUSED_FUNCTION = YES;
267 - GCC_WARN_UNUSED_VARIABLE = YES;
268 - IPHONEOS_DEPLOYMENT_TARGET = 11.0;
269 - MTL_ENABLE_DEBUG_INFO = NO;
270 - MTL_FAST_MATH = YES;
271 - PRODUCT_NAME = "$(TARGET_NAME)";
272 - STRIP_INSTALLED_PRODUCT = NO;
273 - SWIFT_COMPILATION_MODE = wholemodule;
274 - SWIFT_OPTIMIZATION_LEVEL = "-O";
275 - SWIFT_VERSION = 5.0;
276 - SYMROOT = "${SRCROOT}/../build";
277 - };
278 - name = Release;
279 - };
280 - B4EFE046ACF8F37157F6E322C7FCFC28 /* Debug */ = {
281 - isa = XCBuildConfiguration;
282 - buildSettings = {
283 - ALWAYS_SEARCH_USER_PATHS = NO;
284 - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
285 - CLANG_ANALYZER_NONNULL = YES;
286 - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
287 - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
288 - CLANG_CXX_LIBRARY = "libc++";
289 - CLANG_ENABLE_MODULES = YES;
290 - CLANG_ENABLE_OBJC_ARC = YES;
291 - CLANG_ENABLE_OBJC_WEAK = YES;
292 - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
293 - CLANG_WARN_BOOL_CONVERSION = YES;
294 - CLANG_WARN_COMMA = YES;
295 - CLANG_WARN_CONSTANT_CONVERSION = YES;
296 - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
297 - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
298 - CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
299 - CLANG_WARN_EMPTY_BODY = YES;
300 - CLANG_WARN_ENUM_CONVERSION = YES;
301 - CLANG_WARN_INFINITE_RECURSION = YES;
302 - CLANG_WARN_INT_CONVERSION = YES;
303 - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
304 - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
305 - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
306 - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
307 - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
308 - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
309 - CLANG_WARN_STRICT_PROTOTYPES = YES;
310 - CLANG_WARN_SUSPICIOUS_MOVE = YES;
311 - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
312 - CLANG_WARN_UNREACHABLE_CODE = YES;
313 - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
314 - COPY_PHASE_STRIP = NO;
315 - DEBUG_INFORMATION_FORMAT = dwarf;
316 - ENABLE_STRICT_OBJC_MSGSEND = YES;
317 - ENABLE_TESTABILITY = YES;
318 - GCC_C_LANGUAGE_STANDARD = gnu11;
319 - GCC_DYNAMIC_NO_PIC = NO;
320 - GCC_NO_COMMON_BLOCKS = YES;
321 - GCC_OPTIMIZATION_LEVEL = 0;
322 - GCC_PREPROCESSOR_DEFINITIONS = (
323 - "POD_CONFIGURATION_DEBUG=1",
324 - "DEBUG=1",
325 - "$(inherited)",
326 - );
327 - GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
328 - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
329 - GCC_WARN_UNDECLARED_SELECTOR = YES;
330 - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
331 - GCC_WARN_UNUSED_FUNCTION = YES;
332 - GCC_WARN_UNUSED_VARIABLE = YES;
333 - IPHONEOS_DEPLOYMENT_TARGET = 11.0;
334 - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
335 - MTL_FAST_MATH = YES;
336 - ONLY_ACTIVE_ARCH = YES;
337 - PRODUCT_NAME = "$(TARGET_NAME)";
338 - STRIP_INSTALLED_PRODUCT = NO;
339 - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
340 - SWIFT_OPTIMIZATION_LEVEL = "-Onone";
341 - SWIFT_VERSION = 5.0;
342 - SYMROOT = "${SRCROOT}/../build";
343 - };
344 - name = Debug;
345 - };
346 - D25A872A3923E080CEE85E5E489F52F1 /* Debug */ = {
347 - isa = XCBuildConfiguration;
348 - baseConfigurationReference = 0AB974C2109C7DBBE55E5D7D226F4EBE /* Pods-SwiftWarplyFramework.debug.xcconfig */;
349 - buildSettings = {
350 - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
351 - CLANG_ENABLE_OBJC_WEAK = NO;
352 - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
353 - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
354 - "CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
355 - CURRENT_PROJECT_VERSION = 1;
356 - DEFINES_MODULE = YES;
357 - DYLIB_COMPATIBILITY_VERSION = 1;
358 - DYLIB_CURRENT_VERSION = 1;
359 - DYLIB_INSTALL_NAME_BASE = "@rpath";
360 - INFOPLIST_FILE = "Target Support Files/Pods-SwiftWarplyFramework/Pods-SwiftWarplyFramework-Info.plist";
361 - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
362 - IPHONEOS_DEPLOYMENT_TARGET = 11.0;
363 - LD_RUNPATH_SEARCH_PATHS = (
364 - "$(inherited)",
365 - "@executable_path/Frameworks",
366 - "@loader_path/Frameworks",
367 - );
368 - MACH_O_TYPE = staticlib;
369 - MODULEMAP_FILE = "Target Support Files/Pods-SwiftWarplyFramework/Pods-SwiftWarplyFramework.modulemap";
370 - OTHER_LDFLAGS = "";
371 - OTHER_LIBTOOLFLAGS = "";
372 - PODS_ROOT = "$(SRCROOT)";
373 - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
374 - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
375 - SDKROOT = iphoneos;
376 - SKIP_INSTALL = YES;
377 - TARGETED_DEVICE_FAMILY = "1,2";
378 - VERSIONING_SYSTEM = "apple-generic";
379 - VERSION_INFO_PREFIX = "";
380 - };
381 - name = Debug;
382 - };
383 -/* End XCBuildConfiguration section */
384 -
385 -/* Begin XCConfigurationList section */
386 - 0FEBE74A1ACE6D0CCBD55530A22DA04D /* Build configuration list for PBXNativeTarget "Pods-SwiftWarplyFramework" */ = {
387 - isa = XCConfigurationList;
388 - buildConfigurations = (
389 - D25A872A3923E080CEE85E5E489F52F1 /* Debug */,
390 - 8C3E239946F02EEF0EA8A796F2493F7E /* Release */,
391 - );
392 - defaultConfigurationIsVisible = 0;
393 - defaultConfigurationName = Release;
394 - };
395 - 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = {
396 - isa = XCConfigurationList;
397 - buildConfigurations = (
398 - B4EFE046ACF8F37157F6E322C7FCFC28 /* Debug */,
399 - 903A0004D3E6651EFD5D2E16214D101B /* Release */,
400 - );
401 - defaultConfigurationIsVisible = 0;
402 - defaultConfigurationName = Release;
403 - };
404 -/* End XCConfigurationList section */
405 - };
406 - rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */;
407 -}
1 -<?xml version="1.0" encoding="UTF-8"?>
2 -<Scheme
3 - LastUpgradeVersion = "1240"
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 = "0779DA8BF8CD56EC67C289108B77221C"
18 - BuildableName = "Pods_SwiftWarplyFramework.framework"
19 - BlueprintName = "Pods-SwiftWarplyFramework"
20 - ReferencedContainer = "container:Pods.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 - </ProfileAction>
51 - <AnalyzeAction
52 - buildConfiguration = "Debug">
53 - </AnalyzeAction>
54 - <ArchiveAction
55 - buildConfiguration = "Release"
56 - revealArchiveInOrganizer = "YES">
57 - </ArchiveAction>
58 -</Scheme>
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>CFBundleDevelopmentRegion</key>
6 - <string>en</string>
7 - <key>CFBundleExecutable</key>
8 - <string>${EXECUTABLE_NAME}</string>
9 - <key>CFBundleIdentifier</key>
10 - <string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
11 - <key>CFBundleInfoDictionaryVersion</key>
12 - <string>6.0</string>
13 - <key>CFBundleName</key>
14 - <string>${PRODUCT_NAME}</string>
15 - <key>CFBundlePackageType</key>
16 - <string>FMWK</string>
17 - <key>CFBundleShortVersionString</key>
18 - <string>1.0.0</string>
19 - <key>CFBundleSignature</key>
20 - <string>????</string>
21 - <key>CFBundleVersion</key>
22 - <string>${CURRENT_PROJECT_VERSION}</string>
23 - <key>NSPrincipalClass</key>
24 - <string></string>
25 -</dict>
26 -</plist>
1 -# Acknowledgements
2 -This application makes use of the following third party libraries:
3 -Generated by CocoaPods - https://cocoapods.org
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>PreferenceSpecifiers</key>
6 - <array>
7 - <dict>
8 - <key>FooterText</key>
9 - <string>This application makes use of the following third party libraries:</string>
10 - <key>Title</key>
11 - <string>Acknowledgements</string>
12 - <key>Type</key>
13 - <string>PSGroupSpecifier</string>
14 - </dict>
15 - <dict>
16 - <key>FooterText</key>
17 - <string>Generated by CocoaPods - https://cocoapods.org</string>
18 - <key>Title</key>
19 - <string></string>
20 - <key>Type</key>
21 - <string>PSGroupSpecifier</string>
22 - </dict>
23 - </array>
24 - <key>StringsTable</key>
25 - <string>Acknowledgements</string>
26 - <key>Title</key>
27 - <string>Acknowledgements</string>
28 -</dict>
29 -</plist>
1 -#import <Foundation/Foundation.h>
2 -@interface PodsDummy_Pods_SwiftWarplyFramework : NSObject
3 -@end
4 -@implementation PodsDummy_Pods_SwiftWarplyFramework
5 -@end
1 -#ifdef __OBJC__
2 -#import <UIKit/UIKit.h>
3 -#else
4 -#ifndef FOUNDATION_EXPORT
5 -#if defined(__cplusplus)
6 -#define FOUNDATION_EXPORT extern "C"
7 -#else
8 -#define FOUNDATION_EXPORT extern
9 -#endif
10 -#endif
11 -#endif
12 -
13 -
14 -FOUNDATION_EXPORT double Pods_SwiftWarplyFrameworkVersionNumber;
15 -FOUNDATION_EXPORT const unsigned char Pods_SwiftWarplyFrameworkVersionString[];
16 -
1 -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 -PODS_BUILD_DIR = ${BUILD_DIR}
4 -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
5 -PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
6 -PODS_ROOT = ${SRCROOT}/Pods
7 -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
8 -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
1 -framework module Pods_SwiftWarplyFramework {
2 - umbrella header "Pods-SwiftWarplyFramework-umbrella.h"
3 -
4 - export *
5 - module * { export * }
6 -}
1 -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
2 -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 -PODS_BUILD_DIR = ${BUILD_DIR}
4 -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
5 -PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
6 -PODS_ROOT = ${SRCROOT}/Pods
7 -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
8 -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
...@@ -18,12 +18,12 @@ ...@@ -18,12 +18,12 @@
18 1EB5F4CA285370C90016F36E /* LoyaltyAnalysisViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EB5F4C9285370C90016F36E /* LoyaltyAnalysisViewController.swift */; }; 18 1EB5F4CA285370C90016F36E /* LoyaltyAnalysisViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EB5F4C9285370C90016F36E /* LoyaltyAnalysisViewController.swift */; };
19 1EBE97212865EE460080EFF7 /* MFYInboxTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EBE97202865EE460080EFF7 /* MFYInboxTableViewCell.swift */; }; 19 1EBE97212865EE460080EFF7 /* MFYInboxTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EBE97202865EE460080EFF7 /* MFYInboxTableViewCell.swift */; };
20 1EBF5F072840E13F00B8B17F /* SwiftEventBus in Frameworks */ = {isa = PBXBuildFile; productRef = 1EBF5F062840E13F00B8B17F /* SwiftEventBus */; }; 20 1EBF5F072840E13F00B8B17F /* SwiftEventBus in Frameworks */ = {isa = PBXBuildFile; productRef = 1EBF5F062840E13F00B8B17F /* SwiftEventBus */; };
21 - 7630AD9A6242D60846D6750C /* Pods_SwiftWarplyFramework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C0D5F56DD4E5371A50AD2D87 /* Pods_SwiftWarplyFramework.framework */; }; 21 + A025EA5B288B2DE600057288 /* RESegmentedControl in Frameworks */ = {isa = PBXBuildFile; productRef = A025EA5A288B2DE600057288 /* RESegmentedControl */; };
22 A02F34052882B6E60086465F /* TelcoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A02F34042882B6E60086465F /* TelcoViewController.swift */; }; 22 A02F34052882B6E60086465F /* TelcoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A02F34042882B6E60086465F /* TelcoViewController.swift */; };
23 + A06A3BEA288B120500C8DED5 /* WarplySDKFrameworkIOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A06A3BE9288B120500C8DED5 /* WarplySDKFrameworkIOS.framework */; };
24 + A06A3BEB288B120500C8DED5 /* WarplySDKFrameworkIOS.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = A06A3BE9288B120500C8DED5 /* WarplySDKFrameworkIOS.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
23 E6A77853282933340045BBA8 /* SwiftWarplyFramework.docc in Sources */ = {isa = PBXBuildFile; fileRef = E6A77852282933340045BBA8 /* SwiftWarplyFramework.docc */; }; 25 E6A77853282933340045BBA8 /* SwiftWarplyFramework.docc in Sources */ = {isa = PBXBuildFile; fileRef = E6A77852282933340045BBA8 /* SwiftWarplyFramework.docc */; };
24 E6A77854282933340045BBA8 /* SwiftWarplyFramework.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A77851282933340045BBA8 /* SwiftWarplyFramework.h */; settings = {ATTRIBUTES = (Public, ); }; }; 26 E6A77854282933340045BBA8 /* SwiftWarplyFramework.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A77851282933340045BBA8 /* SwiftWarplyFramework.h */; settings = {ATTRIBUTES = (Public, ); }; };
25 - E6A778DF282933E60045BBA8 /* WarplyReactMethods.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A7785B282933E40045BBA8 /* WarplyReactMethods.m */; };
26 - E6A778E0282933E60045BBA8 /* WarplyReactMethods.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A7785C282933E40045BBA8 /* WarplyReactMethods.h */; };
27 E6A778E1282933E60045BBA8 /* CouponViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6A7785D282933E40045BBA8 /* CouponViewController.swift */; }; 27 E6A778E1282933E60045BBA8 /* CouponViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6A7785D282933E40045BBA8 /* CouponViewController.swift */; };
28 E6A778E2282933E60045BBA8 /* CouponsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6A7785E282933E40045BBA8 /* CouponsViewController.swift */; }; 28 E6A778E2282933E60045BBA8 /* CouponsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6A7785E282933E40045BBA8 /* CouponsViewController.swift */; };
29 E6A778E3282933E60045BBA8 /* WalletViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6A7785F282933E40045BBA8 /* WalletViewController.swift */; }; 29 E6A778E3282933E60045BBA8 /* WalletViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6A7785F282933E40045BBA8 /* WalletViewController.swift */; };
...@@ -31,112 +31,6 @@ ...@@ -31,112 +31,6 @@
31 E6A778E5282933E60045BBA8 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = E6A77861282933E50045BBA8 /* Main.storyboard */; }; 31 E6A778E5282933E60045BBA8 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = E6A77861282933E50045BBA8 /* Main.storyboard */; };
32 E6A778E6282933E60045BBA8 /* MyEmptyClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6A77862282933E50045BBA8 /* MyEmptyClass.swift */; }; 32 E6A778E6282933E60045BBA8 /* MyEmptyClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6A77862282933E50045BBA8 /* MyEmptyClass.swift */; };
33 E6A778E7282933E60045BBA8 /* DetailsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6A77863282933E50045BBA8 /* DetailsViewController.swift */; }; 33 E6A778E7282933E60045BBA8 /* DetailsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6A77863282933E50045BBA8 /* DetailsViewController.swift */; };
34 - E6A778E9282933E60045BBA8 /* WLNativeAdCollectionViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A77867282933E50045BBA8 /* WLNativeAdCollectionViewCell.h */; };
35 - E6A778EA282933E60045BBA8 /* WLNativeVideoTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E6A77868282933E50045BBA8 /* WLNativeVideoTableViewCell.xib */; };
36 - E6A778EB282933E60045BBA8 /* WLNativeAdTableViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A77869282933E50045BBA8 /* WLNativeAdTableViewCell.h */; };
37 - E6A778EC282933E60045BBA8 /* WLNativeVideoTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A7786A282933E50045BBA8 /* WLNativeVideoTableViewCell.m */; };
38 - E6A778ED282933E60045BBA8 /* WLCustomNativeCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A7786B282933E50045BBA8 /* WLCustomNativeCollectionViewCell.m */; };
39 - E6A778EE282933E60045BBA8 /* WLNativeAdsTableMode.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A7786C282933E50045BBA8 /* WLNativeAdsTableMode.m */; };
40 - E6A778EF282933E60045BBA8 /* WLCustomNativeAdTableViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A7786D282933E50045BBA8 /* WLCustomNativeAdTableViewCell.h */; };
41 - E6A778F0282933E60045BBA8 /* WLNativeAdsCollectionMode.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A7786E282933E50045BBA8 /* WLNativeAdsCollectionMode.m */; };
42 - E6A778F1282933E60045BBA8 /* WLNativeAdTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A7786F282933E50045BBA8 /* WLNativeAdTableViewCell.m */; };
43 - E6A778F2282933E60045BBA8 /* WLNativeAdCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A77870282933E50045BBA8 /* WLNativeAdCollectionViewCell.m */; };
44 - E6A778F3282933E60045BBA8 /* WLNativeAdTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E6A77871282933E50045BBA8 /* WLNativeAdTableViewCell.xib */; };
45 - E6A778F4282933E60045BBA8 /* WLNativeAdCollectionViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E6A77872282933E50045BBA8 /* WLNativeAdCollectionViewCell.xib */; };
46 - E6A778F5282933E60045BBA8 /* WLCustomNativeAdTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A77873282933E50045BBA8 /* WLCustomNativeAdTableViewCell.m */; };
47 - E6A778F6282933E60045BBA8 /* WLNativeAdsTableMode.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A77874282933E50045BBA8 /* WLNativeAdsTableMode.h */; };
48 - E6A778F7282933E60045BBA8 /* WLCustomNativeCollectionViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A77875282933E50045BBA8 /* WLCustomNativeCollectionViewCell.h */; };
49 - E6A778F8282933E60045BBA8 /* WLNativeVideoTableViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A77876282933E50045BBA8 /* WLNativeVideoTableViewCell.h */; };
50 - E6A778F9282933E60045BBA8 /* WLNativeAdsCollectionMode.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A77877282933E50045BBA8 /* WLNativeAdsCollectionMode.h */; };
51 - E6A778FA282933E60045BBA8 /* WLBeacon.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A77879282933E50045BBA8 /* WLBeacon.h */; };
52 - E6A778FB282933E60045BBA8 /* WLBaseItem.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A7787A282933E50045BBA8 /* WLBaseItem.h */; };
53 - E6A778FC282933E60045BBA8 /* WLInboxItemViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A7787B282933E50045BBA8 /* WLInboxItemViewController.h */; };
54 - E6A778FD282933E60045BBA8 /* WLInboxItem.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A7787C282933E50045BBA8 /* WLInboxItem.m */; };
55 - E6A778FE282933E60045BBA8 /* WLAPSItem.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A7787D282933E50045BBA8 /* WLAPSItem.h */; };
56 - E6A778FF282933E60045BBA8 /* WLBeacon.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A7787E282933E50045BBA8 /* WLBeacon.m */; };
57 - E6A77900282933E60045BBA8 /* WLInboxItemViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A7787F282933E50045BBA8 /* WLInboxItemViewController.m */; };
58 - E6A77901282933E60045BBA8 /* WLBaseItem.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A77880282933E50045BBA8 /* WLBaseItem.m */; };
59 - E6A77902282933E60045BBA8 /* WLInboxItem.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A77881282933E50045BBA8 /* WLInboxItem.h */; };
60 - E6A77903282933E60045BBA8 /* WLAPSItem.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A77882282933E50045BBA8 /* WLAPSItem.m */; };
61 - E6A77904282933E60045BBA8 /* WLEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A77883282933E50045BBA8 /* WLEvent.m */; };
62 - E6A77905282933E60045BBA8 /* warp_white_back_button@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E6A77885282933E50045BBA8 /* warp_white_back_button@2x.png */; };
63 - E6A77906282933E60045BBA8 /* warp_white_forward_button.png in Resources */ = {isa = PBXBuildFile; fileRef = E6A77886282933E50045BBA8 /* warp_white_forward_button.png */; };
64 - E6A77907282933E60045BBA8 /* warp_white_back_button.png in Resources */ = {isa = PBXBuildFile; fileRef = E6A77887282933E50045BBA8 /* warp_white_back_button.png */; };
65 - E6A77908282933E60045BBA8 /* warp_white_close_button@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E6A77888282933E50045BBA8 /* warp_white_close_button@2x.png */; };
66 - E6A77909282933E60045BBA8 /* warp_white_forward_button@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E6A77889282933E50045BBA8 /* warp_white_forward_button@2x.png */; };
67 - E6A7790A282933E60045BBA8 /* warp_white_close_button.png in Resources */ = {isa = PBXBuildFile; fileRef = E6A7788A282933E50045BBA8 /* warp_white_close_button.png */; };
68 - E6A7790B282933E60045BBA8 /* WLPushManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A7788C282933E50045BBA8 /* WLPushManager.m */; };
69 - E6A7790C282933E60045BBA8 /* WLBeaconManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A7788D282933E50045BBA8 /* WLBeaconManager.m */; };
70 - E6A7790D282933E60045BBA8 /* WLLocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A7788E282933E50045BBA8 /* WLLocationManager.m */; };
71 - E6A7790E282933E60045BBA8 /* WLAnalyticsManager.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A7788F282933E50045BBA8 /* WLAnalyticsManager.h */; };
72 - E6A7790F282933E60045BBA8 /* WLUserManager.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A77890282933E50045BBA8 /* WLUserManager.h */; };
73 - E6A77910282933E60045BBA8 /* WLBeaconManager.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A77891282933E50045BBA8 /* WLBeaconManager.h */; };
74 - E6A77911282933E60045BBA8 /* WLPushManager.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A77892282933E50045BBA8 /* WLPushManager.h */; };
75 - E6A77912282933E60045BBA8 /* WLAnalyticsManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A77893282933E50045BBA8 /* WLAnalyticsManager.m */; };
76 - E6A77913282933E60045BBA8 /* WLLocationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A77894282933E50045BBA8 /* WLLocationManager.h */; };
77 - E6A77914282933E60045BBA8 /* WLUserManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A77895282933E50045BBA8 /* WLUserManager.m */; };
78 - E6A77915282933E60045BBA8 /* WLUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A77897282933E50045BBA8 /* WLUtils.m */; };
79 - E6A77916282933E60045BBA8 /* UIViewController+WLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A77898282933E50045BBA8 /* UIViewController+WLAdditions.h */; };
80 - E6A77917282933E60045BBA8 /* UIViewController+WLAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A77899282933E50045BBA8 /* UIViewController+WLAdditions.m */; };
81 - E6A77918282933E60045BBA8 /* WLUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A7789A282933E50045BBA8 /* WLUtils.h */; };
82 - E6A77919282933E60045BBA8 /* Warply.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A7789B282933E50045BBA8 /* Warply.m */; };
83 - E6A7791A282933E60045BBA8 /* WLAPPActionHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A7789D282933E50045BBA8 /* WLAPPActionHandler.m */; };
84 - E6A7791B282933E60045BBA8 /* WLSMSActionHanlder.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A7789E282933E50045BBA8 /* WLSMSActionHanlder.h */; };
85 - E6A7791C282933E60045BBA8 /* WLSMSActionHandlerDeprecated.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A7789F282933E50045BBA8 /* WLSMSActionHandlerDeprecated.m */; };
86 - E6A7791D282933E60045BBA8 /* WLSMSActionHandlerDeprecated.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A778A0282933E50045BBA8 /* WLSMSActionHandlerDeprecated.h */; };
87 - E6A7791E282933E60045BBA8 /* WLSMSActionHanlder.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A778A1282933E50045BBA8 /* WLSMSActionHanlder.m */; };
88 - E6A7791F282933E60045BBA8 /* WLAPPActionHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A778A2282933E50045BBA8 /* WLAPPActionHandler.h */; };
89 - E6A77920282933E60045BBA8 /* WLGlobals.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A778A3282933E50045BBA8 /* WLGlobals.h */; };
90 - E6A77921282933E60045BBA8 /* NSString+SSToolkitAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A778A6282933E50045BBA8 /* NSString+SSToolkitAdditions.h */; };
91 - E6A77922282933E60045BBA8 /* NSData+SSToolkitAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A778A7282933E50045BBA8 /* NSData+SSToolkitAdditions.m */; };
92 - E6A77923282933E70045BBA8 /* NSData+SSToolkitAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A778A8282933E50045BBA8 /* NSData+SSToolkitAdditions.h */; };
93 - E6A77924282933E70045BBA8 /* NSString+SSToolkitAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A778A9282933E50045BBA8 /* NSString+SSToolkitAdditions.m */; };
94 - E6A77925282933E70045BBA8 /* UIProgressView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A778AB282933E50045BBA8 /* UIProgressView+AFNetworking.m */; };
95 - E6A77926282933E70045BBA8 /* UIButton+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A778AC282933E50045BBA8 /* UIButton+AFNetworking.h */; };
96 - E6A77927282933E70045BBA8 /* UIRefreshControl+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A778AD282933E50045BBA8 /* UIRefreshControl+AFNetworking.m */; };
97 - E6A77928282933E70045BBA8 /* UIImageView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A778AE282933E50045BBA8 /* UIImageView+AFNetworking.h */; };
98 - E6A77929282933E70045BBA8 /* AFImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A778AF282933E50045BBA8 /* AFImageDownloader.h */; };
99 - E6A7792A282933E70045BBA8 /* AFNetworkActivityIndicatorManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A778B0282933E60045BBA8 /* AFNetworkActivityIndicatorManager.m */; };
100 - E6A7792B282933E70045BBA8 /* AFAutoPurgingImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A778B1282933E60045BBA8 /* AFAutoPurgingImageCache.h */; };
101 - E6A7792C282933E70045BBA8 /* UIWebView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A778B2282933E60045BBA8 /* UIWebView+AFNetworking.h */; };
102 - E6A7792D282933E70045BBA8 /* UIActivityIndicatorView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A778B3282933E60045BBA8 /* UIActivityIndicatorView+AFNetworking.h */; };
103 - E6A7792E282933E70045BBA8 /* UIImage+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A778B4282933E60045BBA8 /* UIImage+AFNetworking.h */; };
104 - E6A7792F282933E70045BBA8 /* UIProgressView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A778B5282933E60045BBA8 /* UIProgressView+AFNetworking.h */; };
105 - E6A77930282933E70045BBA8 /* UIImageView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A778B6282933E60045BBA8 /* UIImageView+AFNetworking.m */; };
106 - E6A77931282933E70045BBA8 /* UIKit+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A778B7282933E60045BBA8 /* UIKit+AFNetworking.h */; };
107 - E6A77932282933E70045BBA8 /* UIRefreshControl+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A778B8282933E60045BBA8 /* UIRefreshControl+AFNetworking.h */; };
108 - E6A77933282933E70045BBA8 /* UIButton+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A778B9282933E60045BBA8 /* UIButton+AFNetworking.m */; };
109 - E6A77934282933E70045BBA8 /* UIActivityIndicatorView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A778BA282933E60045BBA8 /* UIActivityIndicatorView+AFNetworking.m */; };
110 - E6A77935282933E70045BBA8 /* UIWebView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A778BB282933E60045BBA8 /* UIWebView+AFNetworking.m */; };
111 - E6A77936282933E70045BBA8 /* AFAutoPurgingImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A778BC282933E60045BBA8 /* AFAutoPurgingImageCache.m */; };
112 - E6A77937282933E70045BBA8 /* AFNetworkActivityIndicatorManager.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A778BD282933E60045BBA8 /* AFNetworkActivityIndicatorManager.h */; };
113 - E6A77938282933E70045BBA8 /* AFImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A778BE282933E60045BBA8 /* AFImageDownloader.m */; };
114 - E6A77939282933E70045BBA8 /* AFSecurityPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A778C0282933E60045BBA8 /* AFSecurityPolicy.h */; };
115 - E6A7793A282933E70045BBA8 /* AFNetworkReachabilityManager.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A778C1282933E60045BBA8 /* AFNetworkReachabilityManager.h */; };
116 - E6A7793B282933E70045BBA8 /* AFURLSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A778C2282933E60045BBA8 /* AFURLSessionManager.h */; };
117 - E6A7793C282933E70045BBA8 /* AFURLRequestSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A778C3282933E60045BBA8 /* AFURLRequestSerialization.h */; };
118 - E6A7793D282933E70045BBA8 /* AFURLResponseSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A778C4282933E60045BBA8 /* AFURLResponseSerialization.m */; };
119 - E6A7793E282933E70045BBA8 /* AFHTTPSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A778C5282933E60045BBA8 /* AFHTTPSessionManager.m */; };
120 - E6A7793F282933E70045BBA8 /* AFURLResponseSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A778C6282933E60045BBA8 /* AFURLResponseSerialization.h */; };
121 - E6A77940282933E70045BBA8 /* AFURLSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A778C7282933E60045BBA8 /* AFURLSessionManager.m */; };
122 - E6A77941282933E70045BBA8 /* AFURLRequestSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A778C8282933E60045BBA8 /* AFURLRequestSerialization.m */; };
123 - E6A77942282933E70045BBA8 /* AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A778C9282933E60045BBA8 /* AFNetworking.h */; };
124 - E6A77943282933E70045BBA8 /* AFNetworkReachabilityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A778CA282933E60045BBA8 /* AFNetworkReachabilityManager.m */; };
125 - E6A77944282933E70045BBA8 /* AFSecurityPolicy.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A778CB282933E60045BBA8 /* AFSecurityPolicy.m */; };
126 - E6A77945282933E70045BBA8 /* AFHTTPSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A778CC282933E60045BBA8 /* AFHTTPSessionManager.h */; };
127 - E6A77946282933E70045BBA8 /* FMDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A778CE282933E60045BBA8 /* FMDatabase.h */; };
128 - E6A77947282933E70045BBA8 /* FMDatabaseQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A778CF282933E60045BBA8 /* FMDatabaseQueue.m */; };
129 - E6A77948282933E70045BBA8 /* FMResultSet.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A778D0282933E60045BBA8 /* FMResultSet.h */; };
130 - E6A77949282933E70045BBA8 /* FMDatabasePool.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A778D1282933E60045BBA8 /* FMDatabasePool.h */; };
131 - E6A7794A282933E70045BBA8 /* FMDatabaseAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A778D2282933E60045BBA8 /* FMDatabaseAdditions.m */; };
132 - E6A7794B282933E70045BBA8 /* FMDatabase.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A778D3282933E60045BBA8 /* FMDatabase.m */; };
133 - E6A7794C282933E70045BBA8 /* FMDatabaseQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A778D4282933E60045BBA8 /* FMDatabaseQueue.h */; };
134 - E6A7794D282933E70045BBA8 /* FMDB.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A778D5282933E60045BBA8 /* FMDB.h */; };
135 - E6A7794E282933E70045BBA8 /* FMDatabaseAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A778D6282933E60045BBA8 /* FMDatabaseAdditions.h */; };
136 - E6A7794F282933E70045BBA8 /* FMDatabasePool.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A778D7282933E60045BBA8 /* FMDatabasePool.m */; };
137 - E6A77950282933E70045BBA8 /* FMResultSet.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A778D8282933E60045BBA8 /* FMResultSet.m */; };
138 - E6A77951282933E70045BBA8 /* WLEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A778D9282933E60045BBA8 /* WLEvent.h */; };
139 - E6A77952282933E70045BBA8 /* Warply.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A778DA282933E60045BBA8 /* Warply.h */; };
140 E6A77953282933E70045BBA8 /* MFYViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6A778DB282933E60045BBA8 /* MFYViewController.swift */; }; 34 E6A77953282933E70045BBA8 /* MFYViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6A778DB282933E60045BBA8 /* MFYViewController.swift */; };
141 E6A77954282933E70045BBA8 /* MyApi.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A778DC282933E60045BBA8 /* MyApi.m */; }; 35 E6A77954282933E70045BBA8 /* MyApi.m in Sources */ = {isa = PBXBuildFile; fileRef = E6A778DC282933E60045BBA8 /* MyApi.m */; };
142 E6A77955282933E70045BBA8 /* ViewControllerExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6A778DD282933E60045BBA8 /* ViewControllerExtensions.swift */; }; 36 E6A77955282933E70045BBA8 /* ViewControllerExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6A778DD282933E60045BBA8 /* ViewControllerExtensions.swift */; };
...@@ -148,6 +42,20 @@ ...@@ -148,6 +42,20 @@
148 E6A77A38282BC3530045BBA8 /* Media.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = E6A77A37282BC3530045BBA8 /* Media.xcassets */; }; 42 E6A77A38282BC3530045BBA8 /* Media.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = E6A77A37282BC3530045BBA8 /* Media.xcassets */; };
149 /* End PBXBuildFile section */ 43 /* End PBXBuildFile section */
150 44
45 +/* Begin PBXCopyFilesBuildPhase section */
46 + A06A3BEC288B120500C8DED5 /* Embed Frameworks */ = {
47 + isa = PBXCopyFilesBuildPhase;
48 + buildActionMask = 2147483647;
49 + dstPath = "";
50 + dstSubfolderSpec = 10;
51 + files = (
52 + A06A3BEB288B120500C8DED5 /* WarplySDKFrameworkIOS.framework in Embed Frameworks */,
53 + );
54 + name = "Embed Frameworks";
55 + runOnlyForDeploymentPostprocessing = 0;
56 + };
57 +/* End PBXCopyFilesBuildPhase section */
58 +
151 /* Begin PBXFileReference section */ 59 /* Begin PBXFileReference section */
152 1E74838C28378AF40042A589 /* CouponBarcodeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CouponBarcodeViewController.swift; sourceTree = "<group>"; }; 60 1E74838C28378AF40042A589 /* CouponBarcodeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CouponBarcodeViewController.swift; sourceTree = "<group>"; };
153 1EA1AF092835346A008998AA /* CouponsTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CouponsTableViewCell.swift; sourceTree = "<group>"; }; 61 1EA1AF092835346A008998AA /* CouponsTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CouponsTableViewCell.swift; sourceTree = "<group>"; };
...@@ -159,14 +67,10 @@ ...@@ -159,14 +67,10 @@
159 1EB5F4C9285370C90016F36E /* LoyaltyAnalysisViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoyaltyAnalysisViewController.swift; sourceTree = "<group>"; }; 67 1EB5F4C9285370C90016F36E /* LoyaltyAnalysisViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoyaltyAnalysisViewController.swift; sourceTree = "<group>"; };
160 1EBE97202865EE460080EFF7 /* MFYInboxTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MFYInboxTableViewCell.swift; sourceTree = "<group>"; }; 68 1EBE97202865EE460080EFF7 /* MFYInboxTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MFYInboxTableViewCell.swift; sourceTree = "<group>"; };
161 A02F34042882B6E60086465F /* TelcoViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TelcoViewController.swift; sourceTree = "<group>"; }; 69 A02F34042882B6E60086465F /* TelcoViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TelcoViewController.swift; sourceTree = "<group>"; };
162 - A9B7BE01A4E812DE49866EF8 /* Pods-SwiftWarplyFramework.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SwiftWarplyFramework.debug.xcconfig"; path = "Target Support Files/Pods-SwiftWarplyFramework/Pods-SwiftWarplyFramework.debug.xcconfig"; sourceTree = "<group>"; }; 70 + A06A3BE9288B120500C8DED5 /* WarplySDKFrameworkIOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = WarplySDKFrameworkIOS.framework; sourceTree = BUILT_PRODUCTS_DIR; };
163 - B9EB8A451EF0C5AD75094EEE /* Pods-SwiftWarplyFramework.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SwiftWarplyFramework.release.xcconfig"; path = "Target Support Files/Pods-SwiftWarplyFramework/Pods-SwiftWarplyFramework.release.xcconfig"; sourceTree = "<group>"; };
164 - C0D5F56DD4E5371A50AD2D87 /* Pods_SwiftWarplyFramework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SwiftWarplyFramework.framework; sourceTree = BUILT_PRODUCTS_DIR; };
165 E6A7784E282933340045BBA8 /* SwiftWarplyFramework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftWarplyFramework.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 71 E6A7784E282933340045BBA8 /* SwiftWarplyFramework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftWarplyFramework.framework; sourceTree = BUILT_PRODUCTS_DIR; };
166 E6A77851282933340045BBA8 /* SwiftWarplyFramework.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SwiftWarplyFramework.h; sourceTree = "<group>"; }; 72 E6A77851282933340045BBA8 /* SwiftWarplyFramework.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SwiftWarplyFramework.h; sourceTree = "<group>"; };
167 E6A77852282933340045BBA8 /* SwiftWarplyFramework.docc */ = {isa = PBXFileReference; lastKnownFileType = folder.documentationcatalog; path = SwiftWarplyFramework.docc; sourceTree = "<group>"; }; 73 E6A77852282933340045BBA8 /* SwiftWarplyFramework.docc */ = {isa = PBXFileReference; lastKnownFileType = folder.documentationcatalog; path = SwiftWarplyFramework.docc; sourceTree = "<group>"; };
168 - E6A7785B282933E40045BBA8 /* WarplyReactMethods.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WarplyReactMethods.m; sourceTree = "<group>"; };
169 - E6A7785C282933E40045BBA8 /* WarplyReactMethods.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WarplyReactMethods.h; sourceTree = "<group>"; };
170 E6A7785D282933E40045BBA8 /* CouponViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CouponViewController.swift; sourceTree = "<group>"; }; 74 E6A7785D282933E40045BBA8 /* CouponViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CouponViewController.swift; sourceTree = "<group>"; };
171 E6A7785E282933E40045BBA8 /* CouponsViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CouponsViewController.swift; sourceTree = "<group>"; }; 75 E6A7785E282933E40045BBA8 /* CouponsViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CouponsViewController.swift; sourceTree = "<group>"; };
172 E6A7785F282933E40045BBA8 /* WalletViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WalletViewController.swift; sourceTree = "<group>"; }; 76 E6A7785F282933E40045BBA8 /* WalletViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WalletViewController.swift; sourceTree = "<group>"; };
...@@ -175,112 +79,6 @@ ...@@ -175,112 +79,6 @@
175 E6A77862282933E50045BBA8 /* MyEmptyClass.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MyEmptyClass.swift; sourceTree = "<group>"; }; 79 E6A77862282933E50045BBA8 /* MyEmptyClass.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MyEmptyClass.swift; sourceTree = "<group>"; };
176 E6A77863282933E50045BBA8 /* DetailsViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DetailsViewController.swift; sourceTree = "<group>"; }; 80 E6A77863282933E50045BBA8 /* DetailsViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DetailsViewController.swift; sourceTree = "<group>"; };
177 E6A77864282933E50045BBA8 /* swiftApi.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = swiftApi.swift; sourceTree = "<group>"; }; 81 E6A77864282933E50045BBA8 /* swiftApi.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = swiftApi.swift; sourceTree = "<group>"; };
178 - E6A77867282933E50045BBA8 /* WLNativeAdCollectionViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLNativeAdCollectionViewCell.h; sourceTree = "<group>"; };
179 - E6A77868282933E50045BBA8 /* WLNativeVideoTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = WLNativeVideoTableViewCell.xib; sourceTree = "<group>"; };
180 - E6A77869282933E50045BBA8 /* WLNativeAdTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLNativeAdTableViewCell.h; sourceTree = "<group>"; };
181 - E6A7786A282933E50045BBA8 /* WLNativeVideoTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLNativeVideoTableViewCell.m; sourceTree = "<group>"; };
182 - E6A7786B282933E50045BBA8 /* WLCustomNativeCollectionViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLCustomNativeCollectionViewCell.m; sourceTree = "<group>"; };
183 - E6A7786C282933E50045BBA8 /* WLNativeAdsTableMode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLNativeAdsTableMode.m; sourceTree = "<group>"; };
184 - E6A7786D282933E50045BBA8 /* WLCustomNativeAdTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLCustomNativeAdTableViewCell.h; sourceTree = "<group>"; };
185 - E6A7786E282933E50045BBA8 /* WLNativeAdsCollectionMode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLNativeAdsCollectionMode.m; sourceTree = "<group>"; };
186 - E6A7786F282933E50045BBA8 /* WLNativeAdTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLNativeAdTableViewCell.m; sourceTree = "<group>"; };
187 - E6A77870282933E50045BBA8 /* WLNativeAdCollectionViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLNativeAdCollectionViewCell.m; sourceTree = "<group>"; };
188 - E6A77871282933E50045BBA8 /* WLNativeAdTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = WLNativeAdTableViewCell.xib; sourceTree = "<group>"; };
189 - E6A77872282933E50045BBA8 /* WLNativeAdCollectionViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = WLNativeAdCollectionViewCell.xib; sourceTree = "<group>"; };
190 - E6A77873282933E50045BBA8 /* WLCustomNativeAdTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLCustomNativeAdTableViewCell.m; sourceTree = "<group>"; };
191 - E6A77874282933E50045BBA8 /* WLNativeAdsTableMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLNativeAdsTableMode.h; sourceTree = "<group>"; };
192 - E6A77875282933E50045BBA8 /* WLCustomNativeCollectionViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLCustomNativeCollectionViewCell.h; sourceTree = "<group>"; };
193 - E6A77876282933E50045BBA8 /* WLNativeVideoTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLNativeVideoTableViewCell.h; sourceTree = "<group>"; };
194 - E6A77877282933E50045BBA8 /* WLNativeAdsCollectionMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLNativeAdsCollectionMode.h; sourceTree = "<group>"; };
195 - E6A77879282933E50045BBA8 /* WLBeacon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLBeacon.h; sourceTree = "<group>"; };
196 - E6A7787A282933E50045BBA8 /* WLBaseItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLBaseItem.h; sourceTree = "<group>"; };
197 - E6A7787B282933E50045BBA8 /* WLInboxItemViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLInboxItemViewController.h; sourceTree = "<group>"; };
198 - E6A7787C282933E50045BBA8 /* WLInboxItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLInboxItem.m; sourceTree = "<group>"; };
199 - E6A7787D282933E50045BBA8 /* WLAPSItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLAPSItem.h; sourceTree = "<group>"; };
200 - E6A7787E282933E50045BBA8 /* WLBeacon.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLBeacon.m; sourceTree = "<group>"; };
201 - E6A7787F282933E50045BBA8 /* WLInboxItemViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLInboxItemViewController.m; sourceTree = "<group>"; };
202 - E6A77880282933E50045BBA8 /* WLBaseItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLBaseItem.m; sourceTree = "<group>"; };
203 - E6A77881282933E50045BBA8 /* WLInboxItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLInboxItem.h; sourceTree = "<group>"; };
204 - E6A77882282933E50045BBA8 /* WLAPSItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLAPSItem.m; sourceTree = "<group>"; };
205 - E6A77883282933E50045BBA8 /* WLEvent.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLEvent.m; sourceTree = "<group>"; };
206 - E6A77885282933E50045BBA8 /* warp_white_back_button@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "warp_white_back_button@2x.png"; sourceTree = "<group>"; };
207 - E6A77886282933E50045BBA8 /* warp_white_forward_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = warp_white_forward_button.png; sourceTree = "<group>"; };
208 - E6A77887282933E50045BBA8 /* warp_white_back_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = warp_white_back_button.png; sourceTree = "<group>"; };
209 - E6A77888282933E50045BBA8 /* warp_white_close_button@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "warp_white_close_button@2x.png"; sourceTree = "<group>"; };
210 - E6A77889282933E50045BBA8 /* warp_white_forward_button@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "warp_white_forward_button@2x.png"; sourceTree = "<group>"; };
211 - E6A7788A282933E50045BBA8 /* warp_white_close_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = warp_white_close_button.png; sourceTree = "<group>"; };
212 - E6A7788C282933E50045BBA8 /* WLPushManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLPushManager.m; sourceTree = "<group>"; };
213 - E6A7788D282933E50045BBA8 /* WLBeaconManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLBeaconManager.m; sourceTree = "<group>"; };
214 - E6A7788E282933E50045BBA8 /* WLLocationManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLLocationManager.m; sourceTree = "<group>"; };
215 - E6A7788F282933E50045BBA8 /* WLAnalyticsManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLAnalyticsManager.h; sourceTree = "<group>"; };
216 - E6A77890282933E50045BBA8 /* WLUserManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLUserManager.h; sourceTree = "<group>"; };
217 - E6A77891282933E50045BBA8 /* WLBeaconManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLBeaconManager.h; sourceTree = "<group>"; };
218 - E6A77892282933E50045BBA8 /* WLPushManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLPushManager.h; sourceTree = "<group>"; };
219 - E6A77893282933E50045BBA8 /* WLAnalyticsManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLAnalyticsManager.m; sourceTree = "<group>"; };
220 - E6A77894282933E50045BBA8 /* WLLocationManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLLocationManager.h; sourceTree = "<group>"; };
221 - E6A77895282933E50045BBA8 /* WLUserManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLUserManager.m; sourceTree = "<group>"; };
222 - E6A77897282933E50045BBA8 /* WLUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLUtils.m; sourceTree = "<group>"; };
223 - E6A77898282933E50045BBA8 /* UIViewController+WLAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIViewController+WLAdditions.h"; sourceTree = "<group>"; };
224 - E6A77899282933E50045BBA8 /* UIViewController+WLAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIViewController+WLAdditions.m"; sourceTree = "<group>"; };
225 - E6A7789A282933E50045BBA8 /* WLUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLUtils.h; sourceTree = "<group>"; };
226 - E6A7789B282933E50045BBA8 /* Warply.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Warply.m; sourceTree = "<group>"; };
227 - E6A7789D282933E50045BBA8 /* WLAPPActionHandler.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLAPPActionHandler.m; sourceTree = "<group>"; };
228 - E6A7789E282933E50045BBA8 /* WLSMSActionHanlder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLSMSActionHanlder.h; sourceTree = "<group>"; };
229 - E6A7789F282933E50045BBA8 /* WLSMSActionHandlerDeprecated.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLSMSActionHandlerDeprecated.m; sourceTree = "<group>"; };
230 - E6A778A0282933E50045BBA8 /* WLSMSActionHandlerDeprecated.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLSMSActionHandlerDeprecated.h; sourceTree = "<group>"; };
231 - E6A778A1282933E50045BBA8 /* WLSMSActionHanlder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLSMSActionHanlder.m; sourceTree = "<group>"; };
232 - E6A778A2282933E50045BBA8 /* WLAPPActionHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLAPPActionHandler.h; sourceTree = "<group>"; };
233 - E6A778A3282933E50045BBA8 /* WLGlobals.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLGlobals.h; sourceTree = "<group>"; };
234 - E6A778A6282933E50045BBA8 /* NSString+SSToolkitAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+SSToolkitAdditions.h"; sourceTree = "<group>"; };
235 - E6A778A7282933E50045BBA8 /* NSData+SSToolkitAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSData+SSToolkitAdditions.m"; sourceTree = "<group>"; };
236 - E6A778A8282933E50045BBA8 /* NSData+SSToolkitAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSData+SSToolkitAdditions.h"; sourceTree = "<group>"; };
237 - E6A778A9282933E50045BBA8 /* NSString+SSToolkitAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+SSToolkitAdditions.m"; sourceTree = "<group>"; };
238 - E6A778AB282933E50045BBA8 /* UIProgressView+AFNetworking.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIProgressView+AFNetworking.m"; sourceTree = "<group>"; };
239 - E6A778AC282933E50045BBA8 /* UIButton+AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIButton+AFNetworking.h"; sourceTree = "<group>"; };
240 - E6A778AD282933E50045BBA8 /* UIRefreshControl+AFNetworking.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIRefreshControl+AFNetworking.m"; sourceTree = "<group>"; };
241 - E6A778AE282933E50045BBA8 /* UIImageView+AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImageView+AFNetworking.h"; sourceTree = "<group>"; };
242 - E6A778AF282933E50045BBA8 /* AFImageDownloader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFImageDownloader.h; sourceTree = "<group>"; };
243 - E6A778B0282933E60045BBA8 /* AFNetworkActivityIndicatorManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFNetworkActivityIndicatorManager.m; sourceTree = "<group>"; };
244 - E6A778B1282933E60045BBA8 /* AFAutoPurgingImageCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFAutoPurgingImageCache.h; sourceTree = "<group>"; };
245 - E6A778B2282933E60045BBA8 /* UIWebView+AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIWebView+AFNetworking.h"; sourceTree = "<group>"; };
246 - E6A778B3282933E60045BBA8 /* UIActivityIndicatorView+AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIActivityIndicatorView+AFNetworking.h"; sourceTree = "<group>"; };
247 - E6A778B4282933E60045BBA8 /* UIImage+AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+AFNetworking.h"; sourceTree = "<group>"; };
248 - E6A778B5282933E60045BBA8 /* UIProgressView+AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIProgressView+AFNetworking.h"; sourceTree = "<group>"; };
249 - E6A778B6282933E60045BBA8 /* UIImageView+AFNetworking.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImageView+AFNetworking.m"; sourceTree = "<group>"; };
250 - E6A778B7282933E60045BBA8 /* UIKit+AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIKit+AFNetworking.h"; sourceTree = "<group>"; };
251 - E6A778B8282933E60045BBA8 /* UIRefreshControl+AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIRefreshControl+AFNetworking.h"; sourceTree = "<group>"; };
252 - E6A778B9282933E60045BBA8 /* UIButton+AFNetworking.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIButton+AFNetworking.m"; sourceTree = "<group>"; };
253 - E6A778BA282933E60045BBA8 /* UIActivityIndicatorView+AFNetworking.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIActivityIndicatorView+AFNetworking.m"; sourceTree = "<group>"; };
254 - E6A778BB282933E60045BBA8 /* UIWebView+AFNetworking.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIWebView+AFNetworking.m"; sourceTree = "<group>"; };
255 - E6A778BC282933E60045BBA8 /* AFAutoPurgingImageCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFAutoPurgingImageCache.m; sourceTree = "<group>"; };
256 - E6A778BD282933E60045BBA8 /* AFNetworkActivityIndicatorManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFNetworkActivityIndicatorManager.h; sourceTree = "<group>"; };
257 - E6A778BE282933E60045BBA8 /* AFImageDownloader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFImageDownloader.m; sourceTree = "<group>"; };
258 - E6A778C0282933E60045BBA8 /* AFSecurityPolicy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFSecurityPolicy.h; sourceTree = "<group>"; };
259 - E6A778C1282933E60045BBA8 /* AFNetworkReachabilityManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFNetworkReachabilityManager.h; sourceTree = "<group>"; };
260 - E6A778C2282933E60045BBA8 /* AFURLSessionManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFURLSessionManager.h; sourceTree = "<group>"; };
261 - E6A778C3282933E60045BBA8 /* AFURLRequestSerialization.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFURLRequestSerialization.h; sourceTree = "<group>"; };
262 - E6A778C4282933E60045BBA8 /* AFURLResponseSerialization.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFURLResponseSerialization.m; sourceTree = "<group>"; };
263 - E6A778C5282933E60045BBA8 /* AFHTTPSessionManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFHTTPSessionManager.m; sourceTree = "<group>"; };
264 - E6A778C6282933E60045BBA8 /* AFURLResponseSerialization.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFURLResponseSerialization.h; sourceTree = "<group>"; };
265 - E6A778C7282933E60045BBA8 /* AFURLSessionManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFURLSessionManager.m; sourceTree = "<group>"; };
266 - E6A778C8282933E60045BBA8 /* AFURLRequestSerialization.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFURLRequestSerialization.m; sourceTree = "<group>"; };
267 - E6A778C9282933E60045BBA8 /* AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFNetworking.h; sourceTree = "<group>"; };
268 - E6A778CA282933E60045BBA8 /* AFNetworkReachabilityManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFNetworkReachabilityManager.m; sourceTree = "<group>"; };
269 - E6A778CB282933E60045BBA8 /* AFSecurityPolicy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFSecurityPolicy.m; sourceTree = "<group>"; };
270 - E6A778CC282933E60045BBA8 /* AFHTTPSessionManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFHTTPSessionManager.h; sourceTree = "<group>"; };
271 - E6A778CE282933E60045BBA8 /* FMDatabase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FMDatabase.h; sourceTree = "<group>"; };
272 - E6A778CF282933E60045BBA8 /* FMDatabaseQueue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FMDatabaseQueue.m; sourceTree = "<group>"; };
273 - E6A778D0282933E60045BBA8 /* FMResultSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FMResultSet.h; sourceTree = "<group>"; };
274 - E6A778D1282933E60045BBA8 /* FMDatabasePool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FMDatabasePool.h; sourceTree = "<group>"; };
275 - E6A778D2282933E60045BBA8 /* FMDatabaseAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FMDatabaseAdditions.m; sourceTree = "<group>"; };
276 - E6A778D3282933E60045BBA8 /* FMDatabase.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FMDatabase.m; sourceTree = "<group>"; };
277 - E6A778D4282933E60045BBA8 /* FMDatabaseQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FMDatabaseQueue.h; sourceTree = "<group>"; };
278 - E6A778D5282933E60045BBA8 /* FMDB.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FMDB.h; sourceTree = "<group>"; };
279 - E6A778D6282933E60045BBA8 /* FMDatabaseAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FMDatabaseAdditions.h; sourceTree = "<group>"; };
280 - E6A778D7282933E60045BBA8 /* FMDatabasePool.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FMDatabasePool.m; sourceTree = "<group>"; };
281 - E6A778D8282933E60045BBA8 /* FMResultSet.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FMResultSet.m; sourceTree = "<group>"; };
282 - E6A778D9282933E60045BBA8 /* WLEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLEvent.h; sourceTree = "<group>"; };
283 - E6A778DA282933E60045BBA8 /* Warply.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Warply.h; sourceTree = "<group>"; };
284 E6A778DB282933E60045BBA8 /* MFYViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MFYViewController.swift; sourceTree = "<group>"; }; 82 E6A778DB282933E60045BBA8 /* MFYViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MFYViewController.swift; sourceTree = "<group>"; };
285 E6A778DC282933E60045BBA8 /* MyApi.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MyApi.m; sourceTree = "<group>"; }; 83 E6A778DC282933E60045BBA8 /* MyApi.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MyApi.m; sourceTree = "<group>"; };
286 E6A778DD282933E60045BBA8 /* ViewControllerExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewControllerExtensions.swift; sourceTree = "<group>"; }; 84 E6A778DD282933E60045BBA8 /* ViewControllerExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewControllerExtensions.swift; sourceTree = "<group>"; };
...@@ -297,7 +95,8 @@ ...@@ -297,7 +95,8 @@
297 buildActionMask = 2147483647; 95 buildActionMask = 2147483647;
298 files = ( 96 files = (
299 1E2966EA2837A21D00F83FAC /* RSBarcodes_Swift in Frameworks */, 97 1E2966EA2837A21D00F83FAC /* RSBarcodes_Swift in Frameworks */,
300 - 7630AD9A6242D60846D6750C /* Pods_SwiftWarplyFramework.framework in Frameworks */, 98 + A06A3BEA288B120500C8DED5 /* WarplySDKFrameworkIOS.framework in Frameworks */,
99 + A025EA5B288B2DE600057288 /* RESegmentedControl in Frameworks */,
301 1EBF5F072840E13F00B8B17F /* SwiftEventBus in Frameworks */, 100 1EBF5F072840E13F00B8B17F /* SwiftEventBus in Frameworks */,
302 ); 101 );
303 runOnlyForDeploymentPostprocessing = 0; 102 runOnlyForDeploymentPostprocessing = 0;
...@@ -308,26 +107,16 @@ ...@@ -308,26 +107,16 @@
308 98AD36FA62350CEABCD961A7 /* Frameworks */ = { 107 98AD36FA62350CEABCD961A7 /* Frameworks */ = {
309 isa = PBXGroup; 108 isa = PBXGroup;
310 children = ( 109 children = (
311 - C0D5F56DD4E5371A50AD2D87 /* Pods_SwiftWarplyFramework.framework */, 110 + A06A3BE9288B120500C8DED5 /* WarplySDKFrameworkIOS.framework */,
312 ); 111 );
313 name = Frameworks; 112 name = Frameworks;
314 sourceTree = "<group>"; 113 sourceTree = "<group>";
315 }; 114 };
316 - C049E0423E2B72D796B777A3 /* Pods */ = {
317 - isa = PBXGroup;
318 - children = (
319 - A9B7BE01A4E812DE49866EF8 /* Pods-SwiftWarplyFramework.debug.xcconfig */,
320 - B9EB8A451EF0C5AD75094EEE /* Pods-SwiftWarplyFramework.release.xcconfig */,
321 - );
322 - path = Pods;
323 - sourceTree = "<group>";
324 - };
325 E6A77844282933340045BBA8 = { 115 E6A77844282933340045BBA8 = {
326 isa = PBXGroup; 116 isa = PBXGroup;
327 children = ( 117 children = (
328 E6A77850282933340045BBA8 /* SwiftWarplyFramework */, 118 E6A77850282933340045BBA8 /* SwiftWarplyFramework */,
329 E6A7784F282933340045BBA8 /* Products */, 119 E6A7784F282933340045BBA8 /* Products */,
330 - C049E0423E2B72D796B777A3 /* Pods */,
331 98AD36FA62350CEABCD961A7 /* Frameworks */, 120 98AD36FA62350CEABCD961A7 /* Frameworks */,
332 ); 121 );
333 sourceTree = "<group>"; 122 sourceTree = "<group>";
...@@ -357,7 +146,6 @@ ...@@ -357,7 +146,6 @@
357 E6A77A31282BA9C60045BBA8 /* CampaignViewController.swift */, 146 E6A77A31282BA9C60045BBA8 /* CampaignViewController.swift */,
358 E6A77A33282BB3BB0045BBA8 /* ActiveGiftsViewController.swift */, 147 E6A77A33282BB3BB0045BBA8 /* ActiveGiftsViewController.swift */,
359 E6A77A35282BB4CB0045BBA8 /* MakeItAPresentViewController.swift */, 148 E6A77A35282BB4CB0045BBA8 /* MakeItAPresentViewController.swift */,
360 - E6A7785A282933E40045BBA8 /* Helpers */,
361 E6A77861282933E50045BBA8 /* Main.storyboard */, 149 E6A77861282933E50045BBA8 /* Main.storyboard */,
362 1EB236AA28816B680063777A /* ShareViewController.swift */, 150 1EB236AA28816B680063777A /* ShareViewController.swift */,
363 1EB236AC28816C560063777A /* NumberPopupViewController.swift */, 151 1EB236AC28816C560063777A /* NumberPopupViewController.swift */,
...@@ -369,7 +157,6 @@ ...@@ -369,7 +157,6 @@
369 E6A77862282933E50045BBA8 /* MyEmptyClass.swift */, 157 E6A77862282933E50045BBA8 /* MyEmptyClass.swift */,
370 E6A77864282933E50045BBA8 /* swiftApi.swift */, 158 E6A77864282933E50045BBA8 /* swiftApi.swift */,
371 E6A778DD282933E60045BBA8 /* ViewControllerExtensions.swift */, 159 E6A778DD282933E60045BBA8 /* ViewControllerExtensions.swift */,
372 - E6A77865282933E50045BBA8 /* Warply */,
373 E6A77851282933340045BBA8 /* SwiftWarplyFramework.h */, 160 E6A77851282933340045BBA8 /* SwiftWarplyFramework.h */,
374 E6A77852282933340045BBA8 /* SwiftWarplyFramework.docc */, 161 E6A77852282933340045BBA8 /* SwiftWarplyFramework.docc */,
375 E6A77A37282BC3530045BBA8 /* Media.xcassets */, 162 E6A77A37282BC3530045BBA8 /* Media.xcassets */,
...@@ -377,216 +164,6 @@ ...@@ -377,216 +164,6 @@
377 path = SwiftWarplyFramework; 164 path = SwiftWarplyFramework;
378 sourceTree = "<group>"; 165 sourceTree = "<group>";
379 }; 166 };
380 - E6A7785A282933E40045BBA8 /* Helpers */ = {
381 - isa = PBXGroup;
382 - children = (
383 - E6A7785B282933E40045BBA8 /* WarplyReactMethods.m */,
384 - E6A7785C282933E40045BBA8 /* WarplyReactMethods.h */,
385 - );
386 - path = Helpers;
387 - sourceTree = "<group>";
388 - };
389 - E6A77865282933E50045BBA8 /* Warply */ = {
390 - isa = PBXGroup;
391 - children = (
392 - E6A77866282933E50045BBA8 /* nativeAds */,
393 - E6A77878282933E50045BBA8 /* inbox */,
394 - E6A77883282933E50045BBA8 /* WLEvent.m */,
395 - E6A77884282933E50045BBA8 /* resources */,
396 - E6A7788B282933E50045BBA8 /* managers */,
397 - E6A77896282933E50045BBA8 /* foundation */,
398 - E6A7789B282933E50045BBA8 /* Warply.m */,
399 - E6A7789C282933E50045BBA8 /* actions */,
400 - E6A778A3282933E50045BBA8 /* WLGlobals.h */,
401 - E6A778A4282933E50045BBA8 /* external */,
402 - E6A778D9282933E60045BBA8 /* WLEvent.h */,
403 - E6A778DA282933E60045BBA8 /* Warply.h */,
404 - );
405 - path = Warply;
406 - sourceTree = "<group>";
407 - };
408 - E6A77866282933E50045BBA8 /* nativeAds */ = {
409 - isa = PBXGroup;
410 - children = (
411 - E6A77867282933E50045BBA8 /* WLNativeAdCollectionViewCell.h */,
412 - E6A77868282933E50045BBA8 /* WLNativeVideoTableViewCell.xib */,
413 - E6A77869282933E50045BBA8 /* WLNativeAdTableViewCell.h */,
414 - E6A7786A282933E50045BBA8 /* WLNativeVideoTableViewCell.m */,
415 - E6A7786B282933E50045BBA8 /* WLCustomNativeCollectionViewCell.m */,
416 - E6A7786C282933E50045BBA8 /* WLNativeAdsTableMode.m */,
417 - E6A7786D282933E50045BBA8 /* WLCustomNativeAdTableViewCell.h */,
418 - E6A7786E282933E50045BBA8 /* WLNativeAdsCollectionMode.m */,
419 - E6A7786F282933E50045BBA8 /* WLNativeAdTableViewCell.m */,
420 - E6A77870282933E50045BBA8 /* WLNativeAdCollectionViewCell.m */,
421 - E6A77871282933E50045BBA8 /* WLNativeAdTableViewCell.xib */,
422 - E6A77872282933E50045BBA8 /* WLNativeAdCollectionViewCell.xib */,
423 - E6A77873282933E50045BBA8 /* WLCustomNativeAdTableViewCell.m */,
424 - E6A77874282933E50045BBA8 /* WLNativeAdsTableMode.h */,
425 - E6A77875282933E50045BBA8 /* WLCustomNativeCollectionViewCell.h */,
426 - E6A77876282933E50045BBA8 /* WLNativeVideoTableViewCell.h */,
427 - E6A77877282933E50045BBA8 /* WLNativeAdsCollectionMode.h */,
428 - );
429 - path = nativeAds;
430 - sourceTree = "<group>";
431 - };
432 - E6A77878282933E50045BBA8 /* inbox */ = {
433 - isa = PBXGroup;
434 - children = (
435 - E6A77879282933E50045BBA8 /* WLBeacon.h */,
436 - E6A7787A282933E50045BBA8 /* WLBaseItem.h */,
437 - E6A7787B282933E50045BBA8 /* WLInboxItemViewController.h */,
438 - E6A7787C282933E50045BBA8 /* WLInboxItem.m */,
439 - E6A7787D282933E50045BBA8 /* WLAPSItem.h */,
440 - E6A7787E282933E50045BBA8 /* WLBeacon.m */,
441 - E6A7787F282933E50045BBA8 /* WLInboxItemViewController.m */,
442 - E6A77880282933E50045BBA8 /* WLBaseItem.m */,
443 - E6A77881282933E50045BBA8 /* WLInboxItem.h */,
444 - E6A77882282933E50045BBA8 /* WLAPSItem.m */,
445 - );
446 - path = inbox;
447 - sourceTree = "<group>";
448 - };
449 - E6A77884282933E50045BBA8 /* resources */ = {
450 - isa = PBXGroup;
451 - children = (
452 - E6A77885282933E50045BBA8 /* warp_white_back_button@2x.png */,
453 - E6A77886282933E50045BBA8 /* warp_white_forward_button.png */,
454 - E6A77887282933E50045BBA8 /* warp_white_back_button.png */,
455 - E6A77888282933E50045BBA8 /* warp_white_close_button@2x.png */,
456 - E6A77889282933E50045BBA8 /* warp_white_forward_button@2x.png */,
457 - E6A7788A282933E50045BBA8 /* warp_white_close_button.png */,
458 - );
459 - path = resources;
460 - sourceTree = "<group>";
461 - };
462 - E6A7788B282933E50045BBA8 /* managers */ = {
463 - isa = PBXGroup;
464 - children = (
465 - E6A7788C282933E50045BBA8 /* WLPushManager.m */,
466 - E6A7788D282933E50045BBA8 /* WLBeaconManager.m */,
467 - E6A7788E282933E50045BBA8 /* WLLocationManager.m */,
468 - E6A7788F282933E50045BBA8 /* WLAnalyticsManager.h */,
469 - E6A77890282933E50045BBA8 /* WLUserManager.h */,
470 - E6A77891282933E50045BBA8 /* WLBeaconManager.h */,
471 - E6A77892282933E50045BBA8 /* WLPushManager.h */,
472 - E6A77893282933E50045BBA8 /* WLAnalyticsManager.m */,
473 - E6A77894282933E50045BBA8 /* WLLocationManager.h */,
474 - E6A77895282933E50045BBA8 /* WLUserManager.m */,
475 - );
476 - path = managers;
477 - sourceTree = "<group>";
478 - };
479 - E6A77896282933E50045BBA8 /* foundation */ = {
480 - isa = PBXGroup;
481 - children = (
482 - E6A77897282933E50045BBA8 /* WLUtils.m */,
483 - E6A77898282933E50045BBA8 /* UIViewController+WLAdditions.h */,
484 - E6A77899282933E50045BBA8 /* UIViewController+WLAdditions.m */,
485 - E6A7789A282933E50045BBA8 /* WLUtils.h */,
486 - );
487 - path = foundation;
488 - sourceTree = "<group>";
489 - };
490 - E6A7789C282933E50045BBA8 /* actions */ = {
491 - isa = PBXGroup;
492 - children = (
493 - E6A7789D282933E50045BBA8 /* WLAPPActionHandler.m */,
494 - E6A7789E282933E50045BBA8 /* WLSMSActionHanlder.h */,
495 - E6A7789F282933E50045BBA8 /* WLSMSActionHandlerDeprecated.m */,
496 - E6A778A0282933E50045BBA8 /* WLSMSActionHandlerDeprecated.h */,
497 - E6A778A1282933E50045BBA8 /* WLSMSActionHanlder.m */,
498 - E6A778A2282933E50045BBA8 /* WLAPPActionHandler.h */,
499 - );
500 - path = actions;
501 - sourceTree = "<group>";
502 - };
503 - E6A778A4282933E50045BBA8 /* external */ = {
504 - isa = PBXGroup;
505 - children = (
506 - E6A778A5282933E50045BBA8 /* sstoolkit */,
507 - E6A778AA282933E50045BBA8 /* UIKit+AFNetworking */,
508 - E6A778BF282933E60045BBA8 /* AFNetworking */,
509 - E6A778CD282933E60045BBA8 /* fmdb */,
510 - );
511 - path = external;
512 - sourceTree = "<group>";
513 - };
514 - E6A778A5282933E50045BBA8 /* sstoolkit */ = {
515 - isa = PBXGroup;
516 - children = (
517 - E6A778A6282933E50045BBA8 /* NSString+SSToolkitAdditions.h */,
518 - E6A778A7282933E50045BBA8 /* NSData+SSToolkitAdditions.m */,
519 - E6A778A8282933E50045BBA8 /* NSData+SSToolkitAdditions.h */,
520 - E6A778A9282933E50045BBA8 /* NSString+SSToolkitAdditions.m */,
521 - );
522 - path = sstoolkit;
523 - sourceTree = "<group>";
524 - };
525 - E6A778AA282933E50045BBA8 /* UIKit+AFNetworking */ = {
526 - isa = PBXGroup;
527 - children = (
528 - E6A778AB282933E50045BBA8 /* UIProgressView+AFNetworking.m */,
529 - E6A778AC282933E50045BBA8 /* UIButton+AFNetworking.h */,
530 - E6A778AD282933E50045BBA8 /* UIRefreshControl+AFNetworking.m */,
531 - E6A778AE282933E50045BBA8 /* UIImageView+AFNetworking.h */,
532 - E6A778AF282933E50045BBA8 /* AFImageDownloader.h */,
533 - E6A778B0282933E60045BBA8 /* AFNetworkActivityIndicatorManager.m */,
534 - E6A778B1282933E60045BBA8 /* AFAutoPurgingImageCache.h */,
535 - E6A778B2282933E60045BBA8 /* UIWebView+AFNetworking.h */,
536 - E6A778B3282933E60045BBA8 /* UIActivityIndicatorView+AFNetworking.h */,
537 - E6A778B4282933E60045BBA8 /* UIImage+AFNetworking.h */,
538 - E6A778B5282933E60045BBA8 /* UIProgressView+AFNetworking.h */,
539 - E6A778B6282933E60045BBA8 /* UIImageView+AFNetworking.m */,
540 - E6A778B7282933E60045BBA8 /* UIKit+AFNetworking.h */,
541 - E6A778B8282933E60045BBA8 /* UIRefreshControl+AFNetworking.h */,
542 - E6A778B9282933E60045BBA8 /* UIButton+AFNetworking.m */,
543 - E6A778BA282933E60045BBA8 /* UIActivityIndicatorView+AFNetworking.m */,
544 - E6A778BB282933E60045BBA8 /* UIWebView+AFNetworking.m */,
545 - E6A778BC282933E60045BBA8 /* AFAutoPurgingImageCache.m */,
546 - E6A778BD282933E60045BBA8 /* AFNetworkActivityIndicatorManager.h */,
547 - E6A778BE282933E60045BBA8 /* AFImageDownloader.m */,
548 - );
549 - path = "UIKit+AFNetworking";
550 - sourceTree = "<group>";
551 - };
552 - E6A778BF282933E60045BBA8 /* AFNetworking */ = {
553 - isa = PBXGroup;
554 - children = (
555 - E6A778C0282933E60045BBA8 /* AFSecurityPolicy.h */,
556 - E6A778C1282933E60045BBA8 /* AFNetworkReachabilityManager.h */,
557 - E6A778C2282933E60045BBA8 /* AFURLSessionManager.h */,
558 - E6A778C3282933E60045BBA8 /* AFURLRequestSerialization.h */,
559 - E6A778C4282933E60045BBA8 /* AFURLResponseSerialization.m */,
560 - E6A778C5282933E60045BBA8 /* AFHTTPSessionManager.m */,
561 - E6A778C6282933E60045BBA8 /* AFURLResponseSerialization.h */,
562 - E6A778C7282933E60045BBA8 /* AFURLSessionManager.m */,
563 - E6A778C8282933E60045BBA8 /* AFURLRequestSerialization.m */,
564 - E6A778C9282933E60045BBA8 /* AFNetworking.h */,
565 - E6A778CA282933E60045BBA8 /* AFNetworkReachabilityManager.m */,
566 - E6A778CB282933E60045BBA8 /* AFSecurityPolicy.m */,
567 - E6A778CC282933E60045BBA8 /* AFHTTPSessionManager.h */,
568 - );
569 - path = AFNetworking;
570 - sourceTree = "<group>";
571 - };
572 - E6A778CD282933E60045BBA8 /* fmdb */ = {
573 - isa = PBXGroup;
574 - children = (
575 - E6A778CE282933E60045BBA8 /* FMDatabase.h */,
576 - E6A778CF282933E60045BBA8 /* FMDatabaseQueue.m */,
577 - E6A778D0282933E60045BBA8 /* FMResultSet.h */,
578 - E6A778D1282933E60045BBA8 /* FMDatabasePool.h */,
579 - E6A778D2282933E60045BBA8 /* FMDatabaseAdditions.m */,
580 - E6A778D3282933E60045BBA8 /* FMDatabase.m */,
581 - E6A778D4282933E60045BBA8 /* FMDatabaseQueue.h */,
582 - E6A778D5282933E60045BBA8 /* FMDB.h */,
583 - E6A778D6282933E60045BBA8 /* FMDatabaseAdditions.h */,
584 - E6A778D7282933E60045BBA8 /* FMDatabasePool.m */,
585 - E6A778D8282933E60045BBA8 /* FMResultSet.m */,
586 - );
587 - path = fmdb;
588 - sourceTree = "<group>";
589 - };
590 /* End PBXGroup section */ 167 /* End PBXGroup section */
591 168
592 /* Begin PBXHeadersBuildPhase section */ 169 /* Begin PBXHeadersBuildPhase section */
...@@ -594,60 +171,8 @@ ...@@ -594,60 +171,8 @@
594 isa = PBXHeadersBuildPhase; 171 isa = PBXHeadersBuildPhase;
595 buildActionMask = 2147483647; 172 buildActionMask = 2147483647;
596 files = ( 173 files = (
597 - E6A7793B282933E70045BBA8 /* AFURLSessionManager.h in Headers */,
598 - E6A7790E282933E60045BBA8 /* WLAnalyticsManager.h in Headers */,
599 - E6A778EB282933E60045BBA8 /* WLNativeAdTableViewCell.h in Headers */,
600 - E6A77952282933E70045BBA8 /* Warply.h in Headers */,
601 - E6A7792B282933E70045BBA8 /* AFAutoPurgingImageCache.h in Headers */,
602 E6A778E4282933E60045BBA8 /* MyApi.h in Headers */, 174 E6A778E4282933E60045BBA8 /* MyApi.h in Headers */,
603 - E6A7791B282933E60045BBA8 /* WLSMSActionHanlder.h in Headers */,
604 - E6A778FA282933E60045BBA8 /* WLBeacon.h in Headers */,
605 - E6A778E0282933E60045BBA8 /* WarplyReactMethods.h in Headers */,
606 - E6A77928282933E70045BBA8 /* UIImageView+AFNetworking.h in Headers */,
607 - E6A778E9282933E60045BBA8 /* WLNativeAdCollectionViewCell.h in Headers */,
608 - E6A778F7282933E60045BBA8 /* WLCustomNativeCollectionViewCell.h in Headers */,
609 - E6A77910282933E60045BBA8 /* WLBeaconManager.h in Headers */,
610 - E6A77913282933E60045BBA8 /* WLLocationManager.h in Headers */,
611 - E6A77923282933E70045BBA8 /* NSData+SSToolkitAdditions.h in Headers */,
612 - E6A77918282933E60045BBA8 /* WLUtils.h in Headers */,
613 - E6A778EF282933E60045BBA8 /* WLCustomNativeAdTableViewCell.h in Headers */,
614 - E6A778FE282933E60045BBA8 /* WLAPSItem.h in Headers */,
615 - E6A7793F282933E70045BBA8 /* AFURLResponseSerialization.h in Headers */,
616 - E6A77926282933E70045BBA8 /* UIButton+AFNetworking.h in Headers */,
617 - E6A77921282933E60045BBA8 /* NSString+SSToolkitAdditions.h in Headers */,
618 - E6A7794C282933E70045BBA8 /* FMDatabaseQueue.h in Headers */,
619 - E6A778FC282933E60045BBA8 /* WLInboxItemViewController.h in Headers */,
620 - E6A7792F282933E70045BBA8 /* UIProgressView+AFNetworking.h in Headers */,
621 - E6A7792C282933E70045BBA8 /* UIWebView+AFNetworking.h in Headers */,
622 - E6A778FB282933E60045BBA8 /* WLBaseItem.h in Headers */,
623 - E6A7791F282933E60045BBA8 /* WLAPPActionHandler.h in Headers */,
624 - E6A778F6282933E60045BBA8 /* WLNativeAdsTableMode.h in Headers */,
625 - E6A7794D282933E70045BBA8 /* FMDB.h in Headers */,
626 - E6A77945282933E70045BBA8 /* AFHTTPSessionManager.h in Headers */,
627 E6A77854282933340045BBA8 /* SwiftWarplyFramework.h in Headers */, 175 E6A77854282933340045BBA8 /* SwiftWarplyFramework.h in Headers */,
628 - E6A7794E282933E70045BBA8 /* FMDatabaseAdditions.h in Headers */,
629 - E6A77931282933E70045BBA8 /* UIKit+AFNetworking.h in Headers */,
630 - E6A77916282933E60045BBA8 /* UIViewController+WLAdditions.h in Headers */,
631 - E6A77911282933E60045BBA8 /* WLPushManager.h in Headers */,
632 - E6A77920282933E60045BBA8 /* WLGlobals.h in Headers */,
633 - E6A77937282933E70045BBA8 /* AFNetworkActivityIndicatorManager.h in Headers */,
634 - E6A77948282933E70045BBA8 /* FMResultSet.h in Headers */,
635 - E6A77932282933E70045BBA8 /* UIRefreshControl+AFNetworking.h in Headers */,
636 - E6A77946282933E70045BBA8 /* FMDatabase.h in Headers */,
637 - E6A77939282933E70045BBA8 /* AFSecurityPolicy.h in Headers */,
638 - E6A7792D282933E70045BBA8 /* UIActivityIndicatorView+AFNetworking.h in Headers */,
639 - E6A77949282933E70045BBA8 /* FMDatabasePool.h in Headers */,
640 - E6A7793A282933E70045BBA8 /* AFNetworkReachabilityManager.h in Headers */,
641 - E6A77902282933E60045BBA8 /* WLInboxItem.h in Headers */,
642 - E6A7792E282933E70045BBA8 /* UIImage+AFNetworking.h in Headers */,
643 - E6A77929282933E70045BBA8 /* AFImageDownloader.h in Headers */,
644 - E6A77951282933E70045BBA8 /* WLEvent.h in Headers */,
645 - E6A7793C282933E70045BBA8 /* AFURLRequestSerialization.h in Headers */,
646 - E6A7790F282933E60045BBA8 /* WLUserManager.h in Headers */,
647 - E6A778F9282933E60045BBA8 /* WLNativeAdsCollectionMode.h in Headers */,
648 - E6A778F8282933E60045BBA8 /* WLNativeVideoTableViewCell.h in Headers */,
649 - E6A7791D282933E60045BBA8 /* WLSMSActionHandlerDeprecated.h in Headers */,
650 - E6A77942282933E70045BBA8 /* AFNetworking.h in Headers */,
651 ); 176 );
652 runOnlyForDeploymentPostprocessing = 0; 177 runOnlyForDeploymentPostprocessing = 0;
653 }; 178 };
...@@ -658,11 +183,11 @@ ...@@ -658,11 +183,11 @@
658 isa = PBXNativeTarget; 183 isa = PBXNativeTarget;
659 buildConfigurationList = E6A77857282933340045BBA8 /* Build configuration list for PBXNativeTarget "SwiftWarplyFramework" */; 184 buildConfigurationList = E6A77857282933340045BBA8 /* Build configuration list for PBXNativeTarget "SwiftWarplyFramework" */;
660 buildPhases = ( 185 buildPhases = (
661 - 30C064E49E4E7AFFB7A52D4A /* [CP] Check Pods Manifest.lock */,
662 E6A77849282933340045BBA8 /* Headers */, 186 E6A77849282933340045BBA8 /* Headers */,
663 E6A7784A282933340045BBA8 /* Sources */, 187 E6A7784A282933340045BBA8 /* Sources */,
664 E6A7784B282933340045BBA8 /* Frameworks */, 188 E6A7784B282933340045BBA8 /* Frameworks */,
665 E6A7784C282933340045BBA8 /* Resources */, 189 E6A7784C282933340045BBA8 /* Resources */,
190 + A06A3BEC288B120500C8DED5 /* Embed Frameworks */,
666 ); 191 );
667 buildRules = ( 192 buildRules = (
668 ); 193 );
...@@ -672,6 +197,7 @@ ...@@ -672,6 +197,7 @@
672 packageProductDependencies = ( 197 packageProductDependencies = (
673 1E2966E92837A21D00F83FAC /* RSBarcodes_Swift */, 198 1E2966E92837A21D00F83FAC /* RSBarcodes_Swift */,
674 1EBF5F062840E13F00B8B17F /* SwiftEventBus */, 199 1EBF5F062840E13F00B8B17F /* SwiftEventBus */,
200 + A025EA5A288B2DE600057288 /* RESegmentedControl */,
675 ); 201 );
676 productName = SwiftWarplyFramework; 202 productName = SwiftWarplyFramework;
677 productReference = E6A7784E282933340045BBA8 /* SwiftWarplyFramework.framework */; 203 productReference = E6A7784E282933340045BBA8 /* SwiftWarplyFramework.framework */;
...@@ -704,6 +230,7 @@ ...@@ -704,6 +230,7 @@
704 packageReferences = ( 230 packageReferences = (
705 1E2966E82837A21D00F83FAC /* XCRemoteSwiftPackageReference "RSBarcodes_Swift" */, 231 1E2966E82837A21D00F83FAC /* XCRemoteSwiftPackageReference "RSBarcodes_Swift" */,
706 1EBF5F052840E13F00B8B17F /* XCRemoteSwiftPackageReference "SwiftEventBus" */, 232 1EBF5F052840E13F00B8B17F /* XCRemoteSwiftPackageReference "SwiftEventBus" */,
233 + A025EA59288B2DE600057288 /* XCRemoteSwiftPackageReference "RESegmentedControl" */,
707 ); 234 );
708 productRefGroup = E6A7784F282933340045BBA8 /* Products */; 235 productRefGroup = E6A7784F282933340045BBA8 /* Products */;
709 projectDirPath = ""; 236 projectDirPath = "";
...@@ -720,122 +247,41 @@ ...@@ -720,122 +247,41 @@
720 buildActionMask = 2147483647; 247 buildActionMask = 2147483647;
721 files = ( 248 files = (
722 E6A778E5282933E60045BBA8 /* Main.storyboard in Resources */, 249 E6A778E5282933E60045BBA8 /* Main.storyboard in Resources */,
723 - E6A778EA282933E60045BBA8 /* WLNativeVideoTableViewCell.xib in Resources */,
724 - E6A7790A282933E60045BBA8 /* warp_white_close_button.png in Resources */,
725 - E6A778F4282933E60045BBA8 /* WLNativeAdCollectionViewCell.xib in Resources */,
726 - E6A778F3282933E60045BBA8 /* WLNativeAdTableViewCell.xib in Resources */,
727 E6A77A38282BC3530045BBA8 /* Media.xcassets in Resources */, 250 E6A77A38282BC3530045BBA8 /* Media.xcassets in Resources */,
728 - E6A77905282933E60045BBA8 /* warp_white_back_button@2x.png in Resources */,
729 - E6A77908282933E60045BBA8 /* warp_white_close_button@2x.png in Resources */,
730 - E6A77909282933E60045BBA8 /* warp_white_forward_button@2x.png in Resources */,
731 - E6A77906282933E60045BBA8 /* warp_white_forward_button.png in Resources */,
732 - E6A77907282933E60045BBA8 /* warp_white_back_button.png in Resources */,
733 ); 251 );
734 runOnlyForDeploymentPostprocessing = 0; 252 runOnlyForDeploymentPostprocessing = 0;
735 }; 253 };
736 /* End PBXResourcesBuildPhase section */ 254 /* End PBXResourcesBuildPhase section */
737 255
738 -/* Begin PBXShellScriptBuildPhase section */
739 - 30C064E49E4E7AFFB7A52D4A /* [CP] Check Pods Manifest.lock */ = {
740 - isa = PBXShellScriptBuildPhase;
741 - buildActionMask = 2147483647;
742 - files = (
743 - );
744 - inputFileListPaths = (
745 - );
746 - inputPaths = (
747 - "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
748 - "${PODS_ROOT}/Manifest.lock",
749 - );
750 - name = "[CP] Check Pods Manifest.lock";
751 - outputFileListPaths = (
752 - );
753 - outputPaths = (
754 - "$(DERIVED_FILE_DIR)/Pods-SwiftWarplyFramework-checkManifestLockResult.txt",
755 - );
756 - runOnlyForDeploymentPostprocessing = 0;
757 - shellPath = /bin/sh;
758 - 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";
759 - showEnvVarsInLog = 0;
760 - };
761 -/* End PBXShellScriptBuildPhase section */
762 -
763 /* Begin PBXSourcesBuildPhase section */ 256 /* Begin PBXSourcesBuildPhase section */
764 E6A7784A282933340045BBA8 /* Sources */ = { 257 E6A7784A282933340045BBA8 /* Sources */ = {
765 isa = PBXSourcesBuildPhase; 258 isa = PBXSourcesBuildPhase;
766 buildActionMask = 2147483647; 259 buildActionMask = 2147483647;
767 files = ( 260 files = (
768 - E6A7791E282933E60045BBA8 /* WLSMSActionHanlder.m in Sources */,
769 - E6A778F5282933E60045BBA8 /* WLCustomNativeAdTableViewCell.m in Sources */,
770 1EB5F4C828536FD60016F36E /* StepsViewController.swift in Sources */, 261 1EB5F4C828536FD60016F36E /* StepsViewController.swift in Sources */,
771 A02F34052882B6E60086465F /* TelcoViewController.swift in Sources */, 262 A02F34052882B6E60086465F /* TelcoViewController.swift in Sources */,
772 - E6A77901282933E60045BBA8 /* WLBaseItem.m in Sources */,
773 1E74838D28378AF40042A589 /* CouponBarcodeViewController.swift in Sources */, 263 1E74838D28378AF40042A589 /* CouponBarcodeViewController.swift in Sources */,
774 - E6A778F0282933E60045BBA8 /* WLNativeAdsCollectionMode.m in Sources */,
775 - E6A7791C282933E60045BBA8 /* WLSMSActionHandlerDeprecated.m in Sources */,
776 - E6A77934282933E70045BBA8 /* UIActivityIndicatorView+AFNetworking.m in Sources */,
777 E6A77A34282BB3BB0045BBA8 /* ActiveGiftsViewController.swift in Sources */, 264 E6A77A34282BB3BB0045BBA8 /* ActiveGiftsViewController.swift in Sources */,
778 E6A778E6282933E60045BBA8 /* MyEmptyClass.swift in Sources */, 265 E6A778E6282933E60045BBA8 /* MyEmptyClass.swift in Sources */,
779 - E6A77912282933E60045BBA8 /* WLAnalyticsManager.m in Sources */,
780 E6A778E2282933E60045BBA8 /* CouponsViewController.swift in Sources */, 266 E6A778E2282933E60045BBA8 /* CouponsViewController.swift in Sources */,
781 - E6A77930282933E70045BBA8 /* UIImageView+AFNetworking.m in Sources */,
782 - E6A77900282933E60045BBA8 /* WLInboxItemViewController.m in Sources */,
783 - E6A7793E282933E70045BBA8 /* AFHTTPSessionManager.m in Sources */,
784 - E6A77933282933E70045BBA8 /* UIButton+AFNetworking.m in Sources */,
785 - E6A77919282933E60045BBA8 /* Warply.m in Sources */,
786 E6A77953282933E70045BBA8 /* MFYViewController.swift in Sources */, 267 E6A77953282933E70045BBA8 /* MFYViewController.swift in Sources */,
787 - E6A7794B282933E70045BBA8 /* FMDatabase.m in Sources */,
788 - E6A778EC282933E60045BBA8 /* WLNativeVideoTableViewCell.m in Sources */,
789 E6A77954282933E70045BBA8 /* MyApi.m in Sources */, 268 E6A77954282933E70045BBA8 /* MyApi.m in Sources */,
790 - E6A778F2282933E60045BBA8 /* WLNativeAdCollectionViewCell.m in Sources */,
791 - E6A77904282933E60045BBA8 /* WLEvent.m in Sources */,
792 - E6A77927282933E70045BBA8 /* UIRefreshControl+AFNetworking.m in Sources */,
793 E6A77955282933E70045BBA8 /* ViewControllerExtensions.swift in Sources */, 269 E6A77955282933E70045BBA8 /* ViewControllerExtensions.swift in Sources */,
794 E6A7795A28293D390045BBA8 /* swiftApi.swift in Sources */, 270 E6A7795A28293D390045BBA8 /* swiftApi.swift in Sources */,
795 - E6A77935282933E70045BBA8 /* UIWebView+AFNetworking.m in Sources */,
796 - E6A77925282933E70045BBA8 /* UIProgressView+AFNetworking.m in Sources */,
797 - E6A77944282933E70045BBA8 /* AFSecurityPolicy.m in Sources */,
798 1EA1AF0A2835346A008998AA /* CouponsTableViewCell.swift in Sources */, 271 1EA1AF0A2835346A008998AA /* CouponsTableViewCell.swift in Sources */,
799 E6A77A32282BA9C60045BBA8 /* CampaignViewController.swift in Sources */, 272 E6A77A32282BA9C60045BBA8 /* CampaignViewController.swift in Sources */,
800 - E6A77917282933E60045BBA8 /* UIViewController+WLAdditions.m in Sources */,
801 1EA2BB792865BFE8003F2AB0 /* InboxTableViewCell.swift in Sources */, 273 1EA2BB792865BFE8003F2AB0 /* InboxTableViewCell.swift in Sources */,
802 - E6A77943282933E70045BBA8 /* AFNetworkReachabilityManager.m in Sources */,
803 E6A77956282933E70045BBA8 /* GiftsViewController.swift in Sources */, 274 E6A77956282933E70045BBA8 /* GiftsViewController.swift in Sources */,
804 - E6A778F1282933E60045BBA8 /* WLNativeAdTableViewCell.m in Sources */,
805 E6A77853282933340045BBA8 /* SwiftWarplyFramework.docc in Sources */, 275 E6A77853282933340045BBA8 /* SwiftWarplyFramework.docc in Sources */,
806 - E6A77938282933E70045BBA8 /* AFImageDownloader.m in Sources */,
807 - E6A778ED282933E60045BBA8 /* WLCustomNativeCollectionViewCell.m in Sources */,
808 - E6A7790D282933E60045BBA8 /* WLLocationManager.m in Sources */,
809 - E6A7793D282933E70045BBA8 /* AFURLResponseSerialization.m in Sources */,
810 1EBE97212865EE460080EFF7 /* MFYInboxTableViewCell.swift in Sources */, 276 1EBE97212865EE460080EFF7 /* MFYInboxTableViewCell.swift in Sources */,
811 - E6A778FD282933E60045BBA8 /* WLInboxItem.m in Sources */,
812 - E6A778EE282933E60045BBA8 /* WLNativeAdsTableMode.m in Sources */,
813 - E6A778DF282933E60045BBA8 /* WarplyReactMethods.m in Sources */,
814 - E6A77941282933E70045BBA8 /* AFURLRequestSerialization.m in Sources */,
815 - E6A77915282933E60045BBA8 /* WLUtils.m in Sources */,
816 E6A77A36282BB4CB0045BBA8 /* MakeItAPresentViewController.swift in Sources */, 277 E6A77A36282BB4CB0045BBA8 /* MakeItAPresentViewController.swift in Sources */,
817 - E6A77947282933E70045BBA8 /* FMDatabaseQueue.m in Sources */,
818 - E6A77922282933E60045BBA8 /* NSData+SSToolkitAdditions.m in Sources */,
819 1EB236AB28816B680063777A /* ShareViewController.swift in Sources */, 278 1EB236AB28816B680063777A /* ShareViewController.swift in Sources */,
820 E6A778E7282933E60045BBA8 /* DetailsViewController.swift in Sources */, 279 E6A778E7282933E60045BBA8 /* DetailsViewController.swift in Sources */,
821 1EB5F4CA285370C90016F36E /* LoyaltyAnalysisViewController.swift in Sources */, 280 1EB5F4CA285370C90016F36E /* LoyaltyAnalysisViewController.swift in Sources */,
822 - E6A7794A282933E70045BBA8 /* FMDatabaseAdditions.m in Sources */,
823 - E6A77903282933E60045BBA8 /* WLAPSItem.m in Sources */,
824 - E6A7790B282933E60045BBA8 /* WLPushManager.m in Sources */,
825 - E6A77950282933E70045BBA8 /* FMResultSet.m in Sources */,
826 - E6A77936282933E70045BBA8 /* AFAutoPurgingImageCache.m in Sources */,
827 - E6A778FF282933E60045BBA8 /* WLBeacon.m in Sources */,
828 - E6A7791A282933E60045BBA8 /* WLAPPActionHandler.m in Sources */,
829 E6A778E1282933E60045BBA8 /* CouponViewController.swift in Sources */, 281 E6A778E1282933E60045BBA8 /* CouponViewController.swift in Sources */,
830 - E6A77924282933E70045BBA8 /* NSString+SSToolkitAdditions.m in Sources */,
831 - E6A7792A282933E70045BBA8 /* AFNetworkActivityIndicatorManager.m in Sources */,
832 - E6A77914282933E60045BBA8 /* WLUserManager.m in Sources */,
833 1EB236AF28816CAC0063777A /* NumbersTableViewCell.swift in Sources */, 282 1EB236AF28816CAC0063777A /* NumbersTableViewCell.swift in Sources */,
834 - E6A7794F282933E70045BBA8 /* FMDatabasePool.m in Sources */,
835 1EB236AD28816C560063777A /* NumberPopupViewController.swift in Sources */, 283 1EB236AD28816C560063777A /* NumberPopupViewController.swift in Sources */,
836 E6A778E3282933E60045BBA8 /* WalletViewController.swift in Sources */, 284 E6A778E3282933E60045BBA8 /* WalletViewController.swift in Sources */,
837 - E6A7790C282933E60045BBA8 /* WLBeaconManager.m in Sources */,
838 - E6A77940282933E70045BBA8 /* AFURLSessionManager.m in Sources */,
839 ); 285 );
840 runOnlyForDeploymentPostprocessing = 0; 286 runOnlyForDeploymentPostprocessing = 0;
841 }; 287 };
...@@ -964,7 +410,6 @@ ...@@ -964,7 +410,6 @@
964 }; 410 };
965 E6A77858282933340045BBA8 /* Debug */ = { 411 E6A77858282933340045BBA8 /* Debug */ = {
966 isa = XCBuildConfiguration; 412 isa = XCBuildConfiguration;
967 - baseConfigurationReference = A9B7BE01A4E812DE49866EF8 /* Pods-SwiftWarplyFramework.debug.xcconfig */;
968 buildSettings = { 413 buildSettings = {
969 CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES; 414 CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES;
970 CLANG_ENABLE_MODULES = YES; 415 CLANG_ENABLE_MODULES = YES;
...@@ -1000,7 +445,6 @@ ...@@ -1000,7 +445,6 @@
1000 }; 445 };
1001 E6A77859282933340045BBA8 /* Release */ = { 446 E6A77859282933340045BBA8 /* Release */ = {
1002 isa = XCBuildConfiguration; 447 isa = XCBuildConfiguration;
1003 - baseConfigurationReference = B9EB8A451EF0C5AD75094EEE /* Pods-SwiftWarplyFramework.release.xcconfig */;
1004 buildSettings = { 448 buildSettings = {
1005 CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES; 449 CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES;
1006 CLANG_ENABLE_MODULES = YES; 450 CLANG_ENABLE_MODULES = YES;
...@@ -1073,6 +517,14 @@ ...@@ -1073,6 +517,14 @@
1073 minimumVersion = 5.0.0; 517 minimumVersion = 5.0.0;
1074 }; 518 };
1075 }; 519 };
520 + A025EA59288B2DE600057288 /* XCRemoteSwiftPackageReference "RESegmentedControl" */ = {
521 + isa = XCRemoteSwiftPackageReference;
522 + repositoryURL = "https://github.com/sh-khashimov/RESegmentedControl";
523 + requirement = {
524 + branch = master;
525 + kind = branch;
526 + };
527 + };
1076 /* End XCRemoteSwiftPackageReference section */ 528 /* End XCRemoteSwiftPackageReference section */
1077 529
1078 /* Begin XCSwiftPackageProductDependency section */ 530 /* Begin XCSwiftPackageProductDependency section */
...@@ -1086,6 +538,11 @@ ...@@ -1086,6 +538,11 @@
1086 package = 1EBF5F052840E13F00B8B17F /* XCRemoteSwiftPackageReference "SwiftEventBus" */; 538 package = 1EBF5F052840E13F00B8B17F /* XCRemoteSwiftPackageReference "SwiftEventBus" */;
1087 productName = SwiftEventBus; 539 productName = SwiftEventBus;
1088 }; 540 };
541 + A025EA5A288B2DE600057288 /* RESegmentedControl */ = {
542 + isa = XCSwiftPackageProductDependency;
543 + package = A025EA59288B2DE600057288 /* XCRemoteSwiftPackageReference "RESegmentedControl" */;
544 + productName = RESegmentedControl;
545 + };
1089 /* End XCSwiftPackageProductDependency section */ 546 /* End XCSwiftPackageProductDependency section */
1090 }; 547 };
1091 rootObject = E6A77845282933340045BBA8 /* Project object */; 548 rootObject = E6A77845282933340045BBA8 /* Project object */;
......
...@@ -2,9 +2,12 @@ ...@@ -2,9 +2,12 @@
2 <Workspace 2 <Workspace
3 version = "1.0"> 3 version = "1.0">
4 <FileRef 4 <FileRef
5 + location = "group:/Users/montoya/workspace/warply/warply_sdk_framework/SwiftWarplyFramework/Demo/Demo.xcodeproj">
6 + </FileRef>
7 + <FileRef
5 location = "group:SwiftWarplyFramework.xcodeproj"> 8 location = "group:SwiftWarplyFramework.xcodeproj">
6 </FileRef> 9 </FileRef>
7 <FileRef 10 <FileRef
8 - location = "group:Pods/Pods.xcodeproj"> 11 + location = "group:WarplySDKFrameworkIOS/WarplySDKFrameworkIOS.xcodeproj">
9 </FileRef> 12 </FileRef>
10 </Workspace> 13 </Workspace>
......
1 { 1 {
2 "pins" : [ 2 "pins" : [
3 { 3 {
4 + "identity" : "resegmentedcontrol",
5 + "kind" : "remoteSourceControl",
6 + "location" : "https://github.com/sh-khashimov/RESegmentedControl",
7 + "state" : {
8 + "branch" : "master",
9 + "revision" : "13a170978295571099e9ff6b0ef0180dd3fece4b"
10 + }
11 + },
12 + {
4 "identity" : "rsbarcodes_swift", 13 "identity" : "rsbarcodes_swift",
5 "kind" : "remoteSourceControl", 14 "kind" : "remoteSourceControl",
6 "location" : "https://github.com/yeahdongcn/RSBarcodes_Swift", 15 "location" : "https://github.com/yeahdongcn/RSBarcodes_Swift",
......
...@@ -7,15 +7,14 @@ ...@@ -7,15 +7,14 @@
7 7
8 #import <Foundation/Foundation.h> 8 #import <Foundation/Foundation.h>
9 #import "MyApi.h" 9 #import "MyApi.h"
10 -#import "Warply.h" 10 +#import <WarplySDKFrameworkIOS/WarplySDKFrameworkIOS.h>
11 -#import "WLUtils.h"
12 #import <SwiftWarplyFramework.h> 11 #import <SwiftWarplyFramework.h>
13 12
14 13
15 @implementation MyApi 14 @implementation MyApi
16 NSString *WARP_PRODUCTION_BASE_URL = @"https://engage.warp.ly"; 15 NSString *WARP_PRODUCTION_BASE_URL = @"https://engage.warp.ly";
17 NSString *WARP_HOST = @"engage.warp.ly"; 16 NSString *WARP_HOST = @"engage.warp.ly";
18 -NSString *WARP_ERROR_DOMAIN = @"engage.warp.ly"; 17 +//NSString *WARP_ERROR_DOMAIN = @"engage.warp.ly";
19 NSString *MERCHANT_ID; 18 NSString *MERCHANT_ID;
20 NSString *LANG; 19 NSString *LANG;
21 NSDate *date; 20 NSDate *date;
...@@ -24,10 +23,19 @@ NSString *VERIFY_URL = @"/partners/cosmote/verify"; ...@@ -24,10 +23,19 @@ NSString *VERIFY_URL = @"/partners/cosmote/verify";
24 23
25 - (void)initialize:(NSDictionary *)launchOptions uuid:(NSString*)uuid merchantId:(NSString*)merchantId lang:(NSString*)lang{ 24 - (void)initialize:(NSDictionary *)launchOptions uuid:(NSString*)uuid merchantId:(NSString*)merchantId lang:(NSString*)lang{
26 #if (DEBUG == 1) 25 #if (DEBUG == 1)
27 - [Warply launchWithAppUUID:uuid launchOptions:launchOptions]; 26 + WLConfig *config = [WLConfig configWithAppUUID:uuid
27 + merchantId:merchantId
28 + lang:lang
29 + baseUrl:WARP_PRODUCTION_BASE_URL
30 + verifyUrl:VERIFY_URL];
28 #else 31 #else
29 - [Warply launchWithAppUUID:uuid launchOptions:launchOptions]; 32 + WLConfig *config = [WLConfig configWithAppUUID:uuid
33 + merchantId:merchantId
34 + lang:lang
35 + baseUrl:WARP_PRODUCTION_BASE_URL
36 + verifyUrl:VERIFY_URL];
30 #endif 37 #endif
38 + [Warply launchWithConfig:config launchOptions:launchOptions];
31 [[Warply sharedService].pushManager registerForRemoteNotifications]; 39 [[Warply sharedService].pushManager registerForRemoteNotifications];
32 [[Warply sharedService].pushManager resetBadge]; 40 [[Warply sharedService].pushManager resetBadge];
33 MERCHANT_ID = merchantId; 41 MERCHANT_ID = merchantId;
...@@ -54,10 +62,19 @@ NSString *VERIFY_URL = @"/partners/cosmote/verify"; ...@@ -54,10 +62,19 @@ NSString *VERIFY_URL = @"/partners/cosmote/verify";
54 62
55 - (void)initializeWithCallback:(NSDictionary *)launchOptions uuid:(NSString*)uuid merchantId:(NSString*)merchantId lang:(NSString*)lang successBlock:(void(^)(NSDictionary *successBlock))success failureBlock:(void(^)(NSError *error))failure{ 63 - (void)initializeWithCallback:(NSDictionary *)launchOptions uuid:(NSString*)uuid merchantId:(NSString*)merchantId lang:(NSString*)lang successBlock:(void(^)(NSDictionary *successBlock))success failureBlock:(void(^)(NSError *error))failure{
56 #if (DEBUG == 1) 64 #if (DEBUG == 1)
57 - [Warply launchWithAppUUIDWithCallback:uuid launchOptions:launchOptions andSuccessBlock:success andFailureBlock:failure]; 65 + WLConfig *config = [WLConfig configWithAppUUID:uuid
66 + merchantId:merchantId
67 + lang:lang
68 + baseUrl:WARP_PRODUCTION_BASE_URL
69 + verifyUrl:VERIFY_URL];
58 #else 70 #else
59 - [Warply launchWithAppUUIDWithCallback:uuid launchOptions:launchOptions andSuccessBlock:success andFailureBlock:failure]; 71 + WLConfig *config = [WLConfig configWithAppUUID:uuid
72 + merchantId:merchantId
73 + lang:lang
74 + baseUrl:WARP_PRODUCTION_BASE_URL
75 + verifyUrl:VERIFY_URL];
60 #endif 76 #endif
77 + [Warply launchWithConfigWithCallback:config launchOptions:launchOptions andSuccessBlock:success andFailureBlock:failure];
61 [[Warply sharedService].pushManager registerForRemoteNotifications]; 78 [[Warply sharedService].pushManager registerForRemoteNotifications];
62 [[Warply sharedService].pushManager resetBadge]; 79 [[Warply sharedService].pushManager resetBadge];
63 MERCHANT_ID = merchantId; 80 MERCHANT_ID = merchantId;
...@@ -117,7 +134,6 @@ NSString *VERIFY_URL = @"/partners/cosmote/verify"; ...@@ -117,7 +134,6 @@ NSString *VERIFY_URL = @"/partners/cosmote/verify";
117 - (void) setToStage { 134 - (void) setToStage {
118 WARP_PRODUCTION_BASE_URL = @"https://engage-stage.warp.ly"; 135 WARP_PRODUCTION_BASE_URL = @"https://engage-stage.warp.ly";
119 WARP_HOST = @"engage-stage.warp.ly"; 136 WARP_HOST = @"engage-stage.warp.ly";
120 - WARP_ERROR_DOMAIN = @"engage-stage.warp.ly";
121 } 137 }
122 138
123 - (void) setLang:(NSString*) lang { 139 - (void) setLang:(NSString*) lang {
...@@ -205,7 +221,6 @@ NSString *VERIFY_URL = @"/partners/cosmote/verify"; ...@@ -205,7 +221,6 @@ NSString *VERIFY_URL = @"/partners/cosmote/verify";
205 /////////////////////////////////////////////////////////////////////////////////////////////////// 221 ///////////////////////////////////////////////////////////////////////////////////////////////////
206 - (void)applicationDidEnterBackground:(UIApplication *)application 222 - (void)applicationDidEnterBackground:(UIApplication *)application
207 { 223 {
208 -
209 [[Warply sharedService] applicationDidEnterBackground]; 224 [[Warply sharedService] applicationDidEnterBackground];
210 } 225 }
211 226
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
5 // Created by Fotios Kalaitzidis on 23/10/2018. 5 // Created by Fotios Kalaitzidis on 23/10/2018.
6 // Copyright © 2018 Facebook. All rights reserved. 6 // Copyright © 2018 Facebook. All rights reserved.
7 // 7 //
8 -#import <Foundation/Foundation.h> 8 +#import <UIKit/UIKit.h>
9 9
10 @interface WarplyReactMethods : NSObject 10 @interface WarplyReactMethods : NSObject
11 11
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
10 #import "WLUserManager.h" 10 #import "WLUserManager.h"
11 #import "WLAnalyticsManager.h" 11 #import "WLAnalyticsManager.h"
12 #import "Warply.h" 12 #import "Warply.h"
13 +#import "WLEvent.h"
13 #import <AdSupport/AdSupport.h> 14 #import <AdSupport/AdSupport.h>
14 15
15 @implementation WarplyReactMethods 16 @implementation WarplyReactMethods
......
1 +/*
2 + Copyright 2010-2022 Warply Inc. All rights reserved.
3 +
4 + Redistribution and use in source and binary forms, without modification,
5 + are permitted provided that the following conditions are met:
6 +
7 + 1. Redistributions of source code must retain the above copyright notice, this
8 + list of conditions and the following disclaimer.
9 +
10 + 2. Redistributions in binaryform must reproduce the above copyright notice,
11 + this list of conditions and the following disclaimer in the documentation
12 + and/or other materials provided with the distribution.
13 +
14 + THIS SOFTWARE IS PROVIDED BY THE WARPLY LTD ``AS IS'' AND ANY EXPRESS OR
15 + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
16 + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
17 + EVENT SHALL WARPLY LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
18 + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
19 + BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
20 + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
21 + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
22 + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
23 + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 + */
25 +
26 +#import <Foundation/Foundation.h>
27 +
28 +@interface WLConfig : NSObject
29 +
30 +@property(nonatomic, copy, readonly, nonnull) NSString *appUUID;
31 +@property(nonatomic, copy, readonly, nonnull) NSString *merchantId;
32 +@property(nonatomic, copy, readonly, nonnull) NSString *baseUrl;
33 +@property(nonatomic, copy, readonly, nonnull) NSString *verifyUrl;
34 +@property(nonatomic, copy, readonly, nonnull) NSString *lang;
35 +
36 ++ (nonnull instancetype)configWithAppUUID:(NSString * _Nonnull)appUUID
37 + merchantId:(NSString * _Nonnull)merchantId
38 + lang:(NSString * _Nonnull)lang;
39 +
40 ++ (nonnull instancetype)configWithAppUUID:(NSString * _Nonnull)appUUID
41 + merchantId:(NSString * _Nonnull)merchantId
42 + lang:(NSString * _Nonnull)lang
43 + baseUrl:(NSString * _Nonnull)baseUrl;
44 +
45 ++ (nonnull instancetype)configWithAppUUID:(NSString * _Nonnull)appUUID
46 + merchantId:(NSString * _Nonnull)merchantId
47 + lang:(NSString * _Nonnull)lang
48 + baseUrl:(NSString * _Nonnull)baseUrl
49 + verifyUrl:(NSString * _Nonnull)verifyUrl;
50 +
51 +- (BOOL)isValid;
52 +
53 +@end
1 +/*
2 + Copyright 2010-2022 Warply Inc. All rights reserved.
3 +
4 + Redistribution and use in source and binary forms, without modification,
5 + are permitted provided that the following conditions are met:
6 +
7 + 1. Redistributions of source code must retain the above copyright notice, this
8 + list of conditions and the following disclaimer.
9 +
10 + 2. Redistributions in binaryform must reproduce the above copyright notice,
11 + this list of conditions and the following disclaimer in the documentation
12 + and/or other materials provided with the distribution.
13 +
14 + THIS SOFTWARE IS PROVIDED BY THE WARPLY LTD ``AS IS'' AND ANY EXPRESS OR
15 + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
16 + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
17 + EVENT SHALL WARPLY LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
18 + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
19 + BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
20 + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
21 + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
22 + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
23 + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 + */
25 +
26 +#import "WLConfig.h"
27 +
28 +#define WARP_PRODUCTION_BASE_URL @"https://engage-stage.warp.ly"
29 +#define VERIFY_URL @"/partners/cosmote/verify"
30 +
31 +@implementation WLConfig
32 +
33 +#pragma mark - Static
34 +////////////////////////////////////////////////////////////////////////////////
35 ++ (nonnull instancetype)configWithAppUUID:(NSString * _Nonnull)appUUID
36 + merchantId:(NSString * _Nonnull)merchantId
37 + lang:(NSString * _Nonnull)lang
38 +{
39 + return [[WLConfig alloc] initWithAppUUID:appUUID
40 + merchantId:merchantId
41 + lang:lang
42 + baseUrl:WARP_PRODUCTION_BASE_URL
43 + verifyUrl:VERIFY_URL];
44 +}
45 +
46 +////////////////////////////////////////////////////////////////////////////////
47 ++ (nonnull instancetype)configWithAppUUID:(NSString * _Nonnull)appUUID
48 + merchantId:(NSString * _Nonnull)merchantId
49 + lang:(NSString * _Nonnull)lang
50 + baseUrl:(NSString * _Nonnull)baseUrl
51 +{
52 + return [[WLConfig alloc] initWithAppUUID:appUUID
53 + merchantId:merchantId
54 + lang:lang
55 + baseUrl:baseUrl
56 + verifyUrl:VERIFY_URL];
57 +}
58 +
59 +////////////////////////////////////////////////////////////////////////////////
60 ++ (nonnull instancetype)configWithAppUUID:(NSString * _Nonnull)appUUID
61 + merchantId:(NSString * _Nonnull)merchantId
62 + lang:(NSString * _Nonnull)lang
63 + baseUrl:(NSString * _Nonnull)baseUrl
64 + verifyUrl:(NSString * _Nonnull)verifyUrl
65 +{
66 + return [[WLConfig alloc] initWithAppUUID:appUUID
67 + merchantId:merchantId
68 + lang:lang
69 + baseUrl:baseUrl
70 + verifyUrl:verifyUrl];
71 +}
72 +
73 +
74 +#pragma mark - Initialization
75 +////////////////////////////////////////////////////////////////////////////////
76 +- (nonnull instancetype)initWithAppUUID:(NSString * _Nonnull)appUUID
77 + merchantId:(NSString * _Nonnull)merchantId
78 + lang:(NSString * _Nonnull)lang
79 + baseUrl:(NSString * _Nonnull)baseUrl
80 + verifyUrl:(NSString * _Nonnull)verifyUrl
81 +{
82 + self = [super init];
83 + if (self == nil) {
84 + return nil;
85 + }
86 +
87 + _appUUID = appUUID;
88 + _merchantId = merchantId;
89 + _lang = lang;
90 + _baseUrl = baseUrl;
91 + _verifyUrl = verifyUrl;
92 +
93 + return self;
94 +}
95 +
96 +#pragma mark - Public
97 +////////////////////////////////////////////////////////////////////////////////
98 +- (BOOL)isValid
99 +{
100 + if (_appUUID.length == 0) {
101 + return false;
102 + }
103 +
104 + if (![self _isValidUUID:_appUUID]) {
105 + return false;
106 + }
107 +
108 + if (_baseUrl.length == 0) {
109 + return false;
110 + }
111 +
112 + if (_verifyUrl.length == 0) {
113 + return false;
114 + }
115 +
116 + return true;;
117 +}
118 +
119 +#pragma mark - Private
120 +////////////////////////////////////////////////////////////////////////////////
121 +-(BOOL)_isValidUUID:(NSString *)UUIDString
122 +{
123 + return (bool)[[NSUUID alloc] initWithUUIDString:UUIDString];
124 +}
125 +
126 +@end
...@@ -25,16 +25,6 @@ ...@@ -25,16 +25,6 @@
25 25
26 /////////////////////////////////////////////////////////////////////////////// 26 ///////////////////////////////////////////////////////////////////////////////
27 // Base URL 27 // Base URL
28 -//#define WARP_PRODUCTION_BASE_URL @"https://engage-stage.warp.ly"
29 -//#define WARP_HOST @"engage-stage.warp.ly"
30 -//#define WARP_ERROR_DOMAIN @"engage-stage.warp.ly"
31 -//#define VERIFY_URL @"/partners/cosmote/verify"
32 -extern NSString* WARP_PRODUCTION_BASE_URL;
33 -extern NSString* WARP_HOST;
34 -extern NSString* WARP_ERROR_DOMAIN;
35 -extern NSString* MERCHANT_ID;
36 -extern NSString* LANG;
37 -extern NSString* VERIFY_URL;
38 #define WARP_PAGE_URL_FORMAT @"%@/api/session/%@" 28 #define WARP_PAGE_URL_FORMAT @"%@/api/session/%@"
39 #define WARP_IMAGE_URL_FORMAT @"%@/api/session/logo/%@" 29 #define WARP_IMAGE_URL_FORMAT @"%@/api/session/logo/%@"
40 30
......
...@@ -33,15 +33,19 @@ ...@@ -33,15 +33,19 @@
33 */ 33 */
34 #import <Foundation/Foundation.h> 34 #import <Foundation/Foundation.h>
35 #import "WLGlobals.h" 35 #import "WLGlobals.h"
36 -#import "WLEvent.h" 36 +#import <CoreLocation/CoreLocation.h>
37 -#import "WLLocationManager.h"
38 -#import "WLAnalyticsManager.h"
39 -#import "FMDatabase.h"
40 -#import "FMDatabaseAdditions.h"
41 -#import "WLPushManager.h"
42 37
38 +@class WLConfig;
39 +@class WLEvent;
40 +@class FMDatabase;
43 @class WLUserManager; 41 @class WLUserManager;
42 +@class WLPushManager;
43 +@class WLLocationManager;
44 @protocol WLActionHandler; 44 @protocol WLActionHandler;
45 +@protocol WLCustomPushHandler;
46 +
47 +/// The domain for errors originating from Warply.
48 +extern NSString * const WLErrorDomain;
45 49
46 /*! 50 /*!
47 @defined WL_FMDBLogError 51 @defined WL_FMDBLogError
...@@ -142,25 +146,12 @@ typedef enum { ...@@ -142,25 +146,12 @@ typedef enum {
142 @discussion This class method initialises the shared instance of WLAppService, 146 @discussion This class method initialises the shared instance of WLAppService,
143 passes the launch options (if any) to managers in order to handle them and 147 passes the launch options (if any) to managers in order to handle them and
144 launches the communication with Warply service using the provided unique app identification. 148 launches the communication with Warply service using the provided unique app identification.
145 - @param appUUID A string with the unique app identification. 149 + @param config A config obkect containing the unique app identification.
146 - @param launchOptions A dictionary with the application launch options. May be
147 - empty if application launched by user.
148 - */
149 -+ (void)launchWithAppUUID:(NSString *)appUUID launchOptions:(NSDictionary *)launchOptions;
150 -+ (void)launchWithAppUUIDWithCallback:(NSString *)appUUID launchOptions:(NSDictionary *)launchOptions andSuccessBlock:(void (^)(NSDictionary *))success andFailureBlock:(void (^)(NSError *error))failure;
151 -
152 -/*!
153 - @abstract Launching the Warply service.
154 - @discussion This class method initialises the shared instance of WLAppService,
155 - passes the launch options (if any) to managers in order to handle them and
156 - launches the communication with Warply service using the provided unique app identification.
157 @param launchOptions A dictionary with the application launch options. May be 150 @param launchOptions A dictionary with the application launch options. May be
158 empty if application launched by user. 151 empty if application launched by user.
159 - @param appUUID A string with the unique app identification.
160 - @param customPushDelegate an class conforming to the WLCustomPushDelegate protocol responsible for handling the push notification.
161 */ 152 */
162 -+ (void)launchWithAppUUID:(NSString *)appUUID launchOptions:(NSDictionary *)launchOptions customPushHandler:(id <WLCustomPushHandler>)customPushHandler; 153 ++ (void)launchWithConfig:(WLConfig *)config launchOptions:(NSDictionary *)launchOptions;
163 -+ (void)launchWithAppUUIDWithCallback:(NSString *)appUUID launchOptions:(NSDictionary *)launchOptions customPushHandler:(id <WLCustomPushHandler>)customPushHandler andSuccessBlock:(void (^)(NSDictionary *))success andFailureBlock:(void (^)(NSError *error))failure; 154 ++ (void)launchWithConfigWithCallback:(WLConfig *)config launchOptions:(NSDictionary *)launchOptions andSuccessBlock:(void (^)(NSDictionary *))success andFailureBlock:(void (^)(NSError *error))failure;
164 155
165 /*! 156 /*!
166 @abstract Launching the Warply service. 157 @abstract Launching the Warply service.
...@@ -169,13 +160,11 @@ typedef enum { ...@@ -169,13 +160,11 @@ typedef enum {
169 launches the communication with Warply service using the provided unique app identification. 160 launches the communication with Warply service using the provided unique app identification.
170 @param launchOptions A dictionary with the application launch options. May be 161 @param launchOptions A dictionary with the application launch options. May be
171 empty if application launched by user. 162 empty if application launched by user.
172 - @param appUUID A string with the unique app identification. 163 + @param config A config obkect containing the unique app identification.
173 - @param customPushDelegate an class conforming to the WLCustomPushDelegate protocol responsible for handling the push notification. 164 + @param customPushHandler an class conforming to the WLCustomPushHandler protocol responsible for handling the push notification.
174 - @param baseUrl: A NSString parameter for defining the base url.
175 */ 165 */
176 -+ (void)launchWithAppUUID:(NSString *)appUUID launchOptions:(NSDictionary *)launchOptions customPushDelegate:(id <WLCustomPushHandler>)customPushDelegate serverBaseUrl:(NSString *)baseUrl; 166 ++ (void)launchWithConfig:(WLConfig *)config launchOptions:(NSDictionary *)launchOptions customPushHandler:(id <WLCustomPushHandler>)customPushHandler;
177 -+ (void)launchWithAppUUIDWithCallback:(NSString *)appUUID launchOptions:(NSDictionary *)launchOptions customPushDelegate:(id <WLCustomPushHandler>)customPushDelegate serverBaseUrl:(NSString *)baseUrl andSuccessBlock:(void (^)(NSDictionary *))success andFailureBlock:(void (^)(NSError *error))failure; 167 ++ (void)launchWithConfigWithCallback:(WLConfig *)config launchOptions:(NSDictionary *)launchOptions customPushHandler:(id <WLCustomPushHandler>)customPushHandler andSuccessBlock:(void (^)(NSDictionary *))success andFailureBlock:(void (^)(NSError *error))failure;
178 -
179 168
180 /*! 169 /*!
181 @property baseURL 170 @property baseURL
...@@ -184,6 +173,12 @@ typedef enum { ...@@ -184,6 +173,12 @@ typedef enum {
184 @property (nonatomic, readonly, copy) NSString *baseURL; 173 @property (nonatomic, readonly, copy) NSString *baseURL;
185 174
186 /*! 175 /*!
176 + @property host
177 + @abstract A string the host of Warply server. Read-only access.
178 + */
179 +@property (nonatomic, readonly, copy) NSString *host;
180 +
181 +/*!
187 @property webId 182 @property webId
188 @abstract A string with the unique web id of the device. 183 @abstract A string with the unique web id of the device.
189 */ 184 */
...@@ -228,7 +223,8 @@ typedef enum { ...@@ -228,7 +223,8 @@ typedef enum {
228 @abstract Defines macros for geeting the SDK version. 223 @abstract Defines macros for geeting the SDK version.
229 @parseOnly 224 @parseOnly
230 */ 225 */
231 -WL_VERSION_INTERFACE() 226 +//WL_VERSION_INTERFACE()
227 ++ (NSString *)get;
232 228
233 /*! 229 /*!
234 @methodgroup App Lifecycle Methods 230 @methodgroup App Lifecycle Methods
......
...@@ -24,25 +24,35 @@ ...@@ -24,25 +24,35 @@
24 */ 24 */
25 25
26 #import "Warply.h" 26 #import "Warply.h"
27 +#import "WLEvent.h"
27 #import "WLInboxItem.h" 28 #import "WLInboxItem.h"
28 #import "WLInboxItemViewController.h" 29 #import "WLInboxItemViewController.h"
29 #import "WLUtils.h" 30 #import "WLUtils.h"
30 #import "NSString+SSToolkitAdditions.h" 31 #import "NSString+SSToolkitAdditions.h"
31 #import "AFURLRequestSerialization.h" 32 #import "AFURLRequestSerialization.h"
33 +#import "WLConfig.h"
32 #import "WLUserManager.h" 34 #import "WLUserManager.h"
33 #import "WLPushManager.h" 35 #import "WLPushManager.h"
34 //#import "AFHTTPRequestOperationManager.h" 36 //#import "AFHTTPRequestOperationManager.h"
35 #import "AFHTTPSessionManager.h" 37 #import "AFHTTPSessionManager.h"
36 #import <AdSupport/AdSupport.h> 38 #import <AdSupport/AdSupport.h>
37 39
40 +
41 +#import "FMDatabase.h"
42 +#import "FMDatabaseAdditions.h"
38 //Action handlers 43 //Action handlers
39 #import "WLSMSActionHanlder.h" 44 #import "WLSMSActionHanlder.h"
40 #import "WLAPPActionHandler.h" 45 #import "WLAPPActionHandler.h"
41 #import "WLBeaconManager.h" 46 #import "WLBeaconManager.h"
47 +#import "WLAnalyticsManager.h"
48 +#import "WLLocationManager.h"
49 +#import "WLPushManager.h"
42 50
43 #define DB_NAME @"NBCache.db" 51 #define DB_NAME @"NBCache.db"
44 #define CACHED_EVENTS_MAX_NUM 10 52 #define CACHED_EVENTS_MAX_NUM 10
45 53
54 +NSString * const WLErrorDomain = @"engage-stage.warp.ly";
55 +
46 // server error descriptions 56 // server error descriptions
47 #define WL_LOCATION_ACCURACY_VALUES [NSArray arrayWithObjects:[NSNumber numberWithDouble:kCLLocationAccuracyBestForNavigation], [NSNumber numberWithDouble:kCLLocationAccuracyBest], [NSNumber numberWithDouble:kCLLocationAccuracyNearestTenMeters], [NSNumber numberWithDouble:kCLLocationAccuracyHundredMeters], [NSNumber numberWithDouble:kCLLocationAccuracyKilometer], [NSNumber numberWithDouble:kCLLocationAccuracyThreeKilometers], nil] 57 #define WL_LOCATION_ACCURACY_VALUES [NSArray arrayWithObjects:[NSNumber numberWithDouble:kCLLocationAccuracyBestForNavigation], [NSNumber numberWithDouble:kCLLocationAccuracyBest], [NSNumber numberWithDouble:kCLLocationAccuracyNearestTenMeters], [NSNumber numberWithDouble:kCLLocationAccuracyHundredMeters], [NSNumber numberWithDouble:kCLLocationAccuracyKilometer], [NSNumber numberWithDouble:kCLLocationAccuracyThreeKilometers], nil]
48 58
...@@ -58,6 +68,8 @@ typedef void (^FailureResponse)(NSURLSessionDataTask * _Nullable task, NSError * ...@@ -58,6 +68,8 @@ typedef void (^FailureResponse)(NSURLSessionDataTask * _Nullable task, NSError *
58 68
59 @interface Warply() 69 @interface Warply()
60 { 70 {
71 + WLConfig *_config;
72 +
61 //Server 73 //Server
62 NSString *_baseURL; 74 NSString *_baseURL;
63 75
...@@ -82,7 +94,7 @@ typedef void (^FailureResponse)(NSURLSessionDataTask * _Nullable task, NSError * ...@@ -82,7 +94,7 @@ typedef void (^FailureResponse)(NSURLSessionDataTask * _Nullable task, NSError *
82 @property (nonatomic) AFNetworkReachabilityStatus networkStatus; 94 @property (nonatomic) AFNetworkReachabilityStatus networkStatus;
83 @property (nonatomic) BOOL hasChangedReachabilityStatus; 95 @property (nonatomic) BOOL hasChangedReachabilityStatus;
84 96
85 -- (id)initWithApplicationUUID:(NSString *)appUUID; 97 +- (id)initWithConfig:(WLConfig *)config;
86 - (BOOL)isRegistrationValid; 98 - (BOOL)isRegistrationValid;
87 - (void)createDBIfNeeded; 99 - (void)createDBIfNeeded;
88 - (void)initDBIfNeeded; 100 - (void)initDBIfNeeded;
...@@ -106,8 +118,13 @@ typedef void (^FailureResponse)(NSURLSessionDataTask * _Nullable task, NSError * ...@@ -106,8 +118,13 @@ typedef void (^FailureResponse)(NSURLSessionDataTask * _Nullable task, NSError *
106 } 118 }
107 119
108 /////////////////////////////////////////////////////////////////////////////// 120 ///////////////////////////////////////////////////////////////////////////////
109 -+ (void)launchWithAppUUID:(NSString *)appUUID launchOptions:(NSDictionary *)launchOptions customPushDelegate:(id <WLCustomPushHandler>)customPushDelegate serverBaseUrl:(NSString *)url 121 ++ (void)launchWithConfig:(WLConfig *)config
122 + launchOptions:(NSDictionary *)launchOptions
123 + customPushDelegate:(id <WLCustomPushHandler>)customPushDelegate
110 { 124 {
125 + NSAssert(config, @"Config cannot be null");
126 + NSAssert([config isValid], @"Config is invalid");
127 +
111 //Launch Once 128 //Launch Once
112 if (_sharedService != nil) 129 if (_sharedService != nil)
113 return; 130 return;
...@@ -119,10 +136,10 @@ typedef void (^FailureResponse)(NSURLSessionDataTask * _Nullable task, NSError * ...@@ -119,10 +136,10 @@ typedef void (^FailureResponse)(NSURLSessionDataTask * _Nullable task, NSError *
119 #endif 136 #endif
120 137
121 //Load Configuration 138 //Load Configuration
122 - NSAssert(![appUUID containsString:@"Insert your"] && [appUUID length] > 0, @"WARPLY: You have not inserted your %@ app UUID!", mode); 139 + NSAssert(![config.appUUID containsString:@"Insert your"] && [config.appUUID length] > 0, @"WARPLY: You have not inserted your %@ app UUID!", mode);
123 140
124 - _sharedService = [[Warply alloc] initWithApplicationUUID:appUUID]; 141 + _sharedService = [[Warply alloc] initWithConfig:config];
125 - _sharedService.baseURL = url; 142 + _sharedService.baseURL = config.baseUrl;
126 143
127 if ([_sharedService isRegistrationValid] == NO) { 144 if ([_sharedService isRegistrationValid] == NO) {
128 [_sharedService.pendingOperationsQueue setSuspended:YES]; 145 [_sharedService.pendingOperationsQueue setSuspended:YES];
...@@ -147,8 +164,15 @@ typedef void (^FailureResponse)(NSURLSessionDataTask * _Nullable task, NSError * ...@@ -147,8 +164,15 @@ typedef void (^FailureResponse)(NSURLSessionDataTask * _Nullable task, NSError *
147 } 164 }
148 165
149 /////////////////////////////////////////////////////////////////////////////// 166 ///////////////////////////////////////////////////////////////////////////////
150 -+ (void)launchWithAppUUIDWithCallback:(NSString *)appUUID launchOptions:(NSDictionary *)launchOptions customPushDelegate:(id <WLCustomPushHandler>)customPushDelegate serverBaseUrl:(NSString *)url andSuccessBlock:(void (^)(NSDictionary *))success andFailureBlock:(void (^)(NSError *error))failure 167 ++ (void)launchWithConfigWithCallback:(WLConfig *)config
168 + launchOptions:(NSDictionary *)launchOptions
169 + customPushDelegate:(id <WLCustomPushHandler>)customPushDelegate
170 + andSuccessBlock:(void (^)(NSDictionary *))success
171 + andFailureBlock:(void (^)(NSError *error))failure
151 { 172 {
173 + NSAssert(config, @"Config cannot be null");
174 + NSAssert([config isValid], @"Config is invalid");
175 +
152 //Launch Once 176 //Launch Once
153 if (_sharedService != nil) { 177 if (_sharedService != nil) {
154 // TODO: Maybe add failure callback here? - msg: "already launched" 178 // TODO: Maybe add failure callback here? - msg: "already launched"
...@@ -162,10 +186,10 @@ typedef void (^FailureResponse)(NSURLSessionDataTask * _Nullable task, NSError * ...@@ -162,10 +186,10 @@ typedef void (^FailureResponse)(NSURLSessionDataTask * _Nullable task, NSError *
162 #endif 186 #endif
163 187
164 //Load Configuration 188 //Load Configuration
165 - NSAssert(![appUUID containsString:@"Insert your"] && [appUUID length] > 0, @"WARPLY: You have not inserted your %@ app UUID!", mode); 189 + NSAssert(![config.appUUID containsString:@"Insert your"] && [config.appUUID length] > 0, @"WARPLY: You have not inserted your %@ app UUID!", mode);
166 190
167 - _sharedService = [[Warply alloc] initWithApplicationUUID:appUUID]; 191 + _sharedService = [[Warply alloc] initWithConfig:config];
168 - _sharedService.baseURL = url; 192 + _sharedService.baseURL = config.baseUrl;
169 193
170 if ([_sharedService isRegistrationValid] == NO) { 194 if ([_sharedService isRegistrationValid] == NO) {
171 [_sharedService.pendingOperationsQueue setSuspended:YES]; 195 [_sharedService.pendingOperationsQueue setSuspended:YES];
...@@ -196,43 +220,40 @@ typedef void (^FailureResponse)(NSURLSessionDataTask * _Nullable task, NSError * ...@@ -196,43 +220,40 @@ typedef void (^FailureResponse)(NSURLSessionDataTask * _Nullable task, NSError *
196 } 220 }
197 221
198 /////////////////////////////////////////////////////////////////////////////// 222 ///////////////////////////////////////////////////////////////////////////////
199 -+ (void)launchWithAppUUID:(NSString *)appUUID launchOptions:(NSDictionary *)launchOptions 223 ++ (void)launchWithConfig:(WLConfig *)config launchOptions:(NSDictionary *)launchOptions
200 -{
201 - [self launchWithAppUUID:appUUID launchOptions:launchOptions customPushHandler:nil];
202 -}
203 -
204 -///////////////////////////////////////////////////////////////////////////////
205 -+ (void)launchWithAppUUIDWithCallback:(NSString *)appUUID launchOptions:(NSDictionary *)launchOptions andSuccessBlock:(void (^)(NSDictionary *))success andFailureBlock:(void (^)(NSError *error))failure
206 { 224 {
207 - [self launchWithAppUUIDWithCallback:appUUID launchOptions:launchOptions customPushHandler:nil andSuccessBlock:success andFailureBlock:failure]; 225 + [self launchWithConfig:config launchOptions:launchOptions customPushHandler:nil];
208 } 226 }
209 227
210 /////////////////////////////////////////////////////////////////////////////// 228 ///////////////////////////////////////////////////////////////////////////////
211 -+ (void)launchWithAppUUID:(NSString *)appUUID launchOptions:(NSDictionary *)launchOptions customPushHandler:(id <WLCustomPushHandler>)customPushDelegate 229 ++ (void)launchWithConfigDWithCallback:(WLConfig *)config
230 + launchOptions:(NSDictionary *)launchOptions
231 + andSuccessBlock:(void (^)(NSDictionary *))success
232 + andFailureBlock:(void (^)(NSError *error))failure
212 { 233 {
213 - [self launchWithAppUUID:appUUID launchOptions:launchOptions customPushDelegate:customPushDelegate serverBaseUrl:WARP_PRODUCTION_BASE_URL]; 234 + [self launchWithConfigWithCallback:config launchOptions:launchOptions customPushHandler:nil andSuccessBlock:success andFailureBlock:failure];
214 } 235 }
215 236
216 /////////////////////////////////////////////////////////////////////////////// 237 ///////////////////////////////////////////////////////////////////////////////
217 -+ (void)launchWithAppUUIDWithCallback:(NSString *)appUUID launchOptions:(NSDictionary *)launchOptions customPushHandler:(id <WLCustomPushHandler>)customPushDelegate andSuccessBlock:(void (^)(NSDictionary *))success andFailureBlock:(void (^)(NSError *error))failure 238 ++ (void)launchWithConfig:(WLConfig *)config launchOptions:(NSDictionary *)launchOptions customPushHandler:(id <WLCustomPushHandler>)customPushDelegate
218 { 239 {
219 - [self launchWithAppUUIDWithCallback:appUUID launchOptions:launchOptions customPushDelegate:customPushDelegate serverBaseUrl:WARP_PRODUCTION_BASE_URL andSuccessBlock:success andFailureBlock:failure]; 240 + [self launchWithConfig:config launchOptions:launchOptions customPushDelegate:customPushDelegate];
220 } 241 }
221 242
222 #pragma mark - Initialization 243 #pragma mark - Initialization
223 /////////////////////////////////////////////////////////////////////////////// 244 ///////////////////////////////////////////////////////////////////////////////
224 -- (id)initWithApplicationUUID:(NSString *)appUUID 245 +- (id)initWithConfig:(WLConfig *)config
225 { 246 {
226 self = [super init]; 247 self = [super init];
227 if (self) { 248 if (self) {
249 + _config = config;
228 _hasChangedReachabilityStatus = NO; 250 _hasChangedReachabilityStatus = NO;
229 _pushManager = [[WLPushManager alloc] init]; 251 _pushManager = [[WLPushManager alloc] init];
230 _locationManager = [[WLLocationManager alloc] init]; 252 _locationManager = [[WLLocationManager alloc] init];
231 _actionHandlers = [[NSMutableArray alloc] init]; 253 _actionHandlers = [[NSMutableArray alloc] init];
232 _smsActionHandler = [[WLSMSActionHanlder alloc] init]; 254 _smsActionHandler = [[WLSMSActionHanlder alloc] init];
233 _appActionHandler = [[WLAPPActionHandler alloc] init]; 255 _appActionHandler = [[WLAPPActionHandler alloc] init];
234 - // _httpClient = [[AFHTTPClient alloc] initWithBaseURL:[NSURL URLWithString:WARP_PRODUCTION_BASE_URL]]; 256 + _httpClient = [[AFHTTPSessionManager alloc] initWithBaseURL:[NSURL URLWithString:config.baseUrl]];
235 - _httpClient = [[AFHTTPSessionManager alloc] initWithBaseURL:[NSURL URLWithString:WARP_PRODUCTION_BASE_URL]];
236 257
237 //Register Action handlers 258 //Register Action handlers
238 [self registerActionHandler:self.smsActionHandler]; 259 [self registerActionHandler:self.smsActionHandler];
...@@ -242,8 +263,8 @@ typedef void (^FailureResponse)(NSURLSessionDataTask * _Nullable task, NSError * ...@@ -242,8 +263,8 @@ typedef void (^FailureResponse)(NSURLSessionDataTask * _Nullable task, NSError *
242 [self initDBIfNeeded]; 263 [self initDBIfNeeded];
243 [self restore]; 264 [self restore];
244 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 265 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
245 - if ([_appUUID isEqualToString:appUUID] == NO) { 266 + if ([_appUUID isEqualToString:config.appUUID] == NO) {
246 - self.appUUID = appUUID; 267 + self.appUUID = config.appUUID;
247 self.apiKey = nil; 268 self.apiKey = nil;
248 self.webId = nil; 269 self.webId = nil;
249 [defaults setBool:YES forKey:@"NBAPPUuidChanged"]; 270 [defaults setBool:YES forKey:@"NBAPPUuidChanged"];
...@@ -258,6 +279,13 @@ typedef void (^FailureResponse)(NSURLSessionDataTask * _Nullable task, NSError * ...@@ -258,6 +279,13 @@ typedef void (^FailureResponse)(NSURLSessionDataTask * _Nullable task, NSError *
258 279
259 #pragma mark - Properties 280 #pragma mark - Properties
260 /////////////////////////////////////////////////////////////////////////////// 281 ///////////////////////////////////////////////////////////////////////////////
282 +- (NSString *)host
283 +{
284 + NSURL *url = [NSURL URLWithString:_baseURL];
285 + return url.host;
286 +}
287 +
288 +///////////////////////////////////////////////////////////////////////////////
261 - (void)setAppUUID:(NSString *)anAppUUID 289 - (void)setAppUUID:(NSString *)anAppUUID
262 { 290 {
263 if (_apiKey == anAppUUID) 291 if (_apiKey == anAppUUID)
...@@ -415,6 +443,16 @@ WL_VERSION_IMPLEMENTATION(WL_VERSION) ...@@ -415,6 +443,16 @@ WL_VERSION_IMPLEMENTATION(WL_VERSION)
415 443
416 #pragma mark - Application Lifecycle 444 #pragma mark - Application Lifecycle
417 /////////////////////////////////////////////////////////////////////////////// 445 ///////////////////////////////////////////////////////////////////////////////
446 +- (void)applicationDidEnterBackground
447 +{
448 + [self.locationManager applicationDidEnterBackground];
449 + [WLAnalyticsManager logAppDidEnterBackgroundEvent];
450 + [self calculateNetworkReachabilityStatisticsForStatus:self.networkStatus];
451 + [_db executeUpdate:@"PRAGMA shrink_memory"];
452 + WL_FMDBLogError
453 +}
454 +
455 +///////////////////////////////////////////////////////////////////////////////
418 - (void)applicationWillEnterForeground 456 - (void)applicationWillEnterForeground
419 { 457 {
420 [WLAnalyticsManager logAppWillEnterForegroundEvent]; 458 [WLAnalyticsManager logAppWillEnterForegroundEvent];
...@@ -446,16 +484,6 @@ WL_VERSION_IMPLEMENTATION(WL_VERSION) ...@@ -446,16 +484,6 @@ WL_VERSION_IMPLEMENTATION(WL_VERSION)
446 [self calculateNetworkReachabilityStatisticsForStatus:self.networkStatus]; 484 [self calculateNetworkReachabilityStatisticsForStatus:self.networkStatus];
447 } 485 }
448 486
449 -///////////////////////////////////////////////////////////////////////////////
450 -- (void)applicationDidEnterBackground
451 -{
452 - [self.locationManager applicationDidEnterBackground];
453 - [WLAnalyticsManager logAppDidEnterBackgroundEvent];
454 - [self calculateNetworkReachabilityStatisticsForStatus:self.networkStatus];
455 - [_db executeUpdate:@"PRAGMA shrink_memory"];
456 - WL_FMDBLogError
457 -}
458 -
459 #pragma mark - Inbox 487 #pragma mark - Inbox
460 /////////////////////////////////////////////////////////////////////////////// 488 ///////////////////////////////////////////////////////////////////////////////
461 - (BOOL)getInboxWithSuccessBlock:(void (^)(NSArray *list))success failureBlock:(void (^)(NSError *error))failure 489 - (BOOL)getInboxWithSuccessBlock:(void (^)(NSArray *list))success failureBlock:(void (^)(NSError *error))failure
...@@ -642,7 +670,7 @@ WL_VERSION_IMPLEMENTATION(WL_VERSION) ...@@ -642,7 +670,7 @@ WL_VERSION_IMPLEMENTATION(WL_VERSION)
642 } 670 }
643 671
644 672
645 - NSDictionary *postDictionary = @{@"products": @{@"language": LANG,@"merchant_id": MERCHANT_ID, @"filters": @{@"category_name": filter}, @"action": @"get_all_multilingual"}}; 673 + NSDictionary *postDictionary = @{@"products": @{@"language": _config.lang,@"merchant_id": _config.merchantId, @"filters": @{@"category_name": filter}, @"action": @"get_all_multilingual"}};
646 NSData *jsonData = [NSJSONSerialization dataWithJSONObject:postDictionary options:0 error:NULL]; 674 NSData *jsonData = [NSJSONSerialization dataWithJSONObject:postDictionary options:0 error:NULL];
647 [self sendContext:jsonData successBlock:^(NSDictionary *contextResponse) { 675 [self sendContext:jsonData successBlock:^(NSDictionary *contextResponse) {
648 if (success) { 676 if (success) {
...@@ -679,7 +707,7 @@ WL_VERSION_IMPLEMENTATION(WL_VERSION) ...@@ -679,7 +707,7 @@ WL_VERSION_IMPLEMENTATION(WL_VERSION)
679 category = @""; 707 category = @"";
680 } 708 }
681 709
682 - NSDictionary *postDictionary = @{@"content": @{@"language": LANG, @"category": category, @"tags": tags, @"action": @"retrieve_multilingual"}}; 710 + NSDictionary *postDictionary = @{@"content": @{@"language": _config.lang, @"category": category, @"tags": tags, @"action": @"retrieve_multilingual"}};
683 NSData *jsonData = [NSJSONSerialization dataWithJSONObject:postDictionary options:0 error:NULL]; 711 NSData *jsonData = [NSJSONSerialization dataWithJSONObject:postDictionary options:0 error:NULL];
684 [self sendContext:jsonData successBlock:^(NSDictionary *contextResponse) { 712 [self sendContext:jsonData successBlock:^(NSDictionary *contextResponse) {
685 if (success) { 713 if (success) {
...@@ -696,7 +724,7 @@ WL_VERSION_IMPLEMENTATION(WL_VERSION) ...@@ -696,7 +724,7 @@ WL_VERSION_IMPLEMENTATION(WL_VERSION)
696 - (void)getMerchantCategoriesWithSuccessBlock:(void(^)(NSMutableArray *params)) success failureBlock:(void(^)(NSError *error))failure 724 - (void)getMerchantCategoriesWithSuccessBlock:(void(^)(NSMutableArray *params)) success failureBlock:(void(^)(NSError *error))failure
697 { 725 {
698 726
699 - NSDictionary *postDictionary = @{@"shops": @{@"language": LANG, @"action": @"retrieve_categories"}}; 727 + NSDictionary *postDictionary = @{@"shops": @{@"language": _config.lang, @"action": @"retrieve_categories"}};
700 NSData *jsonData = [NSJSONSerialization dataWithJSONObject:postDictionary options:0 error:NULL]; 728 NSData *jsonData = [NSJSONSerialization dataWithJSONObject:postDictionary options:0 error:NULL];
701 [self sendContext:jsonData successBlock:^(NSDictionary *contextResponse) { 729 [self sendContext:jsonData successBlock:^(NSDictionary *contextResponse) {
702 if (success) { 730 if (success) {
...@@ -730,7 +758,7 @@ WL_VERSION_IMPLEMENTATION(WL_VERSION) ...@@ -730,7 +758,7 @@ WL_VERSION_IMPLEMENTATION(WL_VERSION)
730 - (void)getTagsCategoriesWithSuccessBlock :(void(^)(NSMutableArray *tagsCategories))success failureBlock:(void(^)(NSError *error))failure 758 - (void)getTagsCategoriesWithSuccessBlock :(void(^)(NSMutableArray *tagsCategories))success failureBlock:(void(^)(NSError *error))failure
731 { 759 {
732 760
733 - NSDictionary *postDictionary = @{@"tags": @{@"action": @"retrieve_multilingual_categories", @"language": LANG, @"active": @YES}}; 761 + NSDictionary *postDictionary = @{@"tags": @{@"action": @"retrieve_multilingual_categories", @"language": _config.lang, @"active": @YES}};
734 NSData *jsonData = [NSJSONSerialization dataWithJSONObject:postDictionary options:0 error:NULL]; 762 NSData *jsonData = [NSJSONSerialization dataWithJSONObject:postDictionary options:0 error:NULL];
735 [self sendContext:jsonData successBlock:^(NSDictionary *contextResponse) { 763 [self sendContext:jsonData successBlock:^(NSDictionary *contextResponse) {
736 if (success) { 764 if (success) {
...@@ -747,7 +775,7 @@ WL_VERSION_IMPLEMENTATION(WL_VERSION) ...@@ -747,7 +775,7 @@ WL_VERSION_IMPLEMENTATION(WL_VERSION)
747 - (void)getTagsWithSuccessBlock :(void(^)(NSMutableArray *tags))success failureBlock:(void(^)(NSError *error))failure 775 - (void)getTagsWithSuccessBlock :(void(^)(NSMutableArray *tags))success failureBlock:(void(^)(NSError *error))failure
748 { 776 {
749 777
750 - NSDictionary *postDictionary = @{@"tags": @{@"action": @"retrieve_multilingual", @"language": LANG, @"active": @YES}}; 778 + NSDictionary *postDictionary = @{@"tags": @{@"action": @"retrieve_multilingual", @"language": _config.lang, @"active": @YES}};
751 NSData *jsonData = [NSJSONSerialization dataWithJSONObject:postDictionary options:0 error:NULL]; 779 NSData *jsonData = [NSJSONSerialization dataWithJSONObject:postDictionary options:0 error:NULL];
752 [self sendContext:jsonData successBlock:^(NSDictionary *contextResponse) { 780 [self sendContext:jsonData successBlock:^(NSDictionary *contextResponse) {
753 if (success) { 781 if (success) {
...@@ -1841,7 +1869,7 @@ WL_VERSION_IMPLEMENTATION(WL_VERSION) ...@@ -1841,7 +1869,7 @@ WL_VERSION_IMPLEMENTATION(WL_VERSION)
1841 1869
1842 - (void)redeemCouponWithSuccessBlock:(NSString*)id andUuid:(NSString*)uuid :(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure 1870 - (void)redeemCouponWithSuccessBlock:(NSString*)id andUuid:(NSString*)uuid :(void(^)(NSDictionary *response))success failureBlock:(void(^)(NSError *error))failure
1843 { 1871 {
1844 - NSDictionary *postDictionary = @{@"transactions": @{@"action": @"vcurrency_purchase", @"cause": @"coupon", @"merchant_id": MERCHANT_ID, @"product_id": id, @"product_uuid": uuid}}; 1872 + NSDictionary *postDictionary = @{@"transactions": @{@"action": @"vcurrency_purchase", @"cause": @"coupon", @"merchant_id": _config.merchantId, @"product_id": id, @"product_uuid": uuid}};
1845 NSData *jsonData = [NSJSONSerialization dataWithJSONObject:postDictionary options:0 error:NULL]; 1873 NSData *jsonData = [NSJSONSerialization dataWithJSONObject:postDictionary options:0 error:NULL];
1846 [self sendContext8:jsonData successBlock:^(NSDictionary *contextResponse) { 1874 [self sendContext8:jsonData successBlock:^(NSDictionary *contextResponse) {
1847 if (success) { 1875 if (success) {
...@@ -1972,7 +2000,7 @@ WL_VERSION_IMPLEMENTATION(WL_VERSION) ...@@ -1972,7 +2000,7 @@ WL_VERSION_IMPLEMENTATION(WL_VERSION)
1972 [data setValue:@YES forKey:@"active"]; 2000 [data setValue:@YES forKey:@"active"];
1973 [data setValue:@"retrieve_multilingual" forKey:@"action"]; 2001 [data setValue:@"retrieve_multilingual" forKey:@"action"];
1974 [data setValue:categories forKey:@"categories"]; 2002 [data setValue:categories forKey:@"categories"];
1975 - [data setValue:LANG forKey:@"language"]; 2003 + [data setValue:_config.lang forKey:@"language"];
1976 if (defaultShown && [defaultShown isEqual:@YES]) { 2004 if (defaultShown && [defaultShown isEqual:@YES]) {
1977 [data setValue:@YES forKey:@"default_shown"]; 2005 [data setValue:@YES forKey:@"default_shown"];
1978 } else { 2006 } else {
...@@ -2020,7 +2048,7 @@ WL_VERSION_IMPLEMENTATION(WL_VERSION) ...@@ -2020,7 +2048,7 @@ WL_VERSION_IMPLEMENTATION(WL_VERSION)
2020 [data setValue:active forKey:@"active"]; 2048 [data setValue:active forKey:@"active"];
2021 [data setValue:@"retrieve_multilingual" forKey:@"action"]; 2049 [data setValue:@"retrieve_multilingual" forKey:@"action"];
2022 [data setValue:visible forKey:@"visible"]; 2050 [data setValue:visible forKey:@"visible"];
2023 - [data setValue:LANG forKey:@"language"]; 2051 + [data setValue:_config.lang forKey:@"language"];
2024 if (uuids && [uuids count] > 0) { 2052 if (uuids && [uuids count] > 0) {
2025 [data setValue:uuids forKey:@"uuids"]; 2053 [data setValue:uuids forKey:@"uuids"];
2026 } 2054 }
...@@ -2363,7 +2391,7 @@ WL_VERSION_IMPLEMENTATION(WL_VERSION) ...@@ -2363,7 +2391,7 @@ WL_VERSION_IMPLEMENTATION(WL_VERSION)
2363 double lon = coordinates.longitude; 2391 double lon = coordinates.longitude;
2364 if (lat < -90 || lat > 90 || lon < -180 || lon > 180) { 2392 if (lat < -90 || lat > 90 || lon < -180 || lon > 180) {
2365 if (failure) { 2393 if (failure) {
2366 - NSError *error = [NSError errorWithDomain:WARP_ERROR_DOMAIN code:1024 userInfo:@{NSLocalizedDescriptionKey: NSLocalizedString(@"The coordinates you provided are invalid", @"Warply")}]; 2394 + NSError *error = [NSError errorWithDomain:WLErrorDomain code:1024 userInfo:@{NSLocalizedDescriptionKey: NSLocalizedString(@"The coordinates you provided are invalid", @"Warply")}];
2367 failure(error); 2395 failure(error);
2368 } 2396 }
2369 } 2397 }
...@@ -2400,7 +2428,7 @@ WL_VERSION_IMPLEMENTATION(WL_VERSION) ...@@ -2400,7 +2428,7 @@ WL_VERSION_IMPLEMENTATION(WL_VERSION)
2400 { 2428 {
2401 if (self.locationManager.locationManager.location == nil) { 2429 if (self.locationManager.locationManager.location == nil) {
2402 if (failure) { 2430 if (failure) {
2403 - NSError *error = [NSError errorWithDomain:WARP_ERROR_DOMAIN code:1025 userInfo:@{NSLocalizedDescriptionKey: NSLocalizedString(@"No location available.", @"Warply")}]; 2431 + NSError *error = [NSError errorWithDomain:WLErrorDomain code:1025 userInfo:@{NSLocalizedDescriptionKey: NSLocalizedString(@"No location available.", @"Warply")}];
2404 failure(error); 2432 failure(error);
2405 } 2433 }
2406 } 2434 }
...@@ -2432,7 +2460,7 @@ WL_VERSION_IMPLEMENTATION(WL_VERSION) ...@@ -2432,7 +2460,7 @@ WL_VERSION_IMPLEMENTATION(WL_VERSION)
2432 success([[mapOfferMA valueForKey:@"count"] intValue], [[mapOfferMA valueForKey:@"new"] intValue], [[mapOfferMA valueForKey:@"unread"] intValue]); 2460 success([[mapOfferMA valueForKey:@"count"] intValue], [[mapOfferMA valueForKey:@"new"] intValue], [[mapOfferMA valueForKey:@"unread"] intValue]);
2433 2461
2434 }else{ 2462 }else{
2435 - NSError *error = [NSError errorWithDomain:WARP_ERROR_DOMAIN code:1026 userInfo:@{NSLocalizedDescriptionKey: NSLocalizedString(@"No offers", @"Warply")}]; 2463 + NSError *error = [NSError errorWithDomain:WLErrorDomain code:1026 userInfo:@{NSLocalizedDescriptionKey: NSLocalizedString(@"No offers", @"Warply")}];
2436 if (failure) { 2464 if (failure) {
2437 failure(error); 2465 failure(error);
2438 } 2466 }
...@@ -3404,7 +3432,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2) ...@@ -3404,7 +3432,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2)
3404 // NSString *errorDescrition = (status <= [WLResultCodesDescriptions count]) && status > 0 ? (WLResultCodesDescriptions[(status-1)]) : ([NSString stringWithFormat:@"Internal WARP Server error %d", status]); 3432 // NSString *errorDescrition = (status <= [WLResultCodesDescriptions count]) && status > 0 ? (WLResultCodesDescriptions[(status-1)]) : ([NSString stringWithFormat:@"Internal WARP Server error %d", status]);
3405 // 3433 //
3406 // NSDictionary *eDict = @{NSLocalizedDescriptionKey: errorDescrition}; 3434 // NSDictionary *eDict = @{NSLocalizedDescriptionKey: errorDescrition};
3407 -// NSError *error = [NSError errorWithDomain:WARP_ERROR_DOMAIN code:status userInfo:eDict]; 3435 +// NSError *error = [NSError errorWithDomain:WLErrorDomain code:status userInfo:eDict];
3408 // 3436 //
3409 // if (failureBlock) 3437 // if (failureBlock)
3410 // failureBlock(error); 3438 // failureBlock(error);
...@@ -3424,7 +3452,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2) ...@@ -3424,7 +3452,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2)
3424 3452
3425 3453
3426 }else{ 3454 }else{
3427 - NSError *error = [NSError errorWithDomain:WARP_ERROR_DOMAIN code:1026 userInfo:@{NSLocalizedDescriptionKey: NSLocalizedString(@"Empty response", @"Warply")}]; 3455 + NSError *error = [NSError errorWithDomain:WLErrorDomain code:1026 userInfo:@{NSLocalizedDescriptionKey: NSLocalizedString(@"Empty response", @"Warply")}];
3428 if (failureBlock) 3456 if (failureBlock)
3429 failureBlock(error); 3457 failureBlock(error);
3430 3458
...@@ -3528,7 +3556,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2) ...@@ -3528,7 +3556,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2)
3528 3556
3529 3557
3530 }else{ 3558 }else{
3531 - NSError *error = [NSError errorWithDomain:WARP_ERROR_DOMAIN code:1026 userInfo:@{NSLocalizedDescriptionKey: NSLocalizedString(@"Empty response", @"Warply")}]; 3559 + NSError *error = [NSError errorWithDomain:WLErrorDomain code:1026 userInfo:@{NSLocalizedDescriptionKey: NSLocalizedString(@"Empty response", @"Warply")}];
3532 if (failureBlock) 3560 if (failureBlock)
3533 failureBlock(error); 3561 failureBlock(error);
3534 3562
...@@ -3636,7 +3664,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2) ...@@ -3636,7 +3664,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2)
3636 3664
3637 3665
3638 }else{ 3666 }else{
3639 - NSError *error = [NSError errorWithDomain:WARP_ERROR_DOMAIN code:1026 userInfo:@{NSLocalizedDescriptionKey: NSLocalizedString(@"Empty response", @"Warply")}]; 3667 + NSError *error = [NSError errorWithDomain:WLErrorDomain code:1026 userInfo:@{NSLocalizedDescriptionKey: NSLocalizedString(@"Empty response", @"Warply")}];
3640 if (failureBlock) 3668 if (failureBlock)
3641 failureBlock(error); 3669 failureBlock(error);
3642 3670
...@@ -3742,7 +3770,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2) ...@@ -3742,7 +3770,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2)
3742 // NSString *errorDescrition = (status <= [WLResultCodesDescriptions count]) && status > 0 ? (WLResultCodesDescriptions[(status-1)]) : ([NSString stringWithFormat:@"Internal WARP Server error %d", status]); 3770 // NSString *errorDescrition = (status <= [WLResultCodesDescriptions count]) && status > 0 ? (WLResultCodesDescriptions[(status-1)]) : ([NSString stringWithFormat:@"Internal WARP Server error %d", status]);
3743 // 3771 //
3744 // NSDictionary *eDict = @{NSLocalizedDescriptionKey: errorDescrition}; 3772 // NSDictionary *eDict = @{NSLocalizedDescriptionKey: errorDescrition};
3745 -// NSError *error = [NSError errorWithDomain:WARP_ERROR_DOMAIN code:status userInfo:eDict]; 3773 +// NSError *error = [NSError errorWithDomain:WLErrorDomain code:status userInfo:eDict];
3746 // 3774 //
3747 // if (failureBlock) 3775 // if (failureBlock)
3748 // failureBlock(error); 3776 // failureBlock(error);
...@@ -3762,7 +3790,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2) ...@@ -3762,7 +3790,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2)
3762 3790
3763 3791
3764 }else{ 3792 }else{
3765 - NSError *error = [NSError errorWithDomain:WARP_ERROR_DOMAIN code:1026 userInfo:@{NSLocalizedDescriptionKey: NSLocalizedString(@"Empty response", @"Warply")}]; 3793 + NSError *error = [NSError errorWithDomain:WLErrorDomain code:1026 userInfo:@{NSLocalizedDescriptionKey: NSLocalizedString(@"Empty response", @"Warply")}];
3766 if (failureBlock) 3794 if (failureBlock)
3767 failureBlock(error); 3795 failureBlock(error);
3768 3796
...@@ -3868,7 +3896,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2) ...@@ -3868,7 +3896,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2)
3868 // NSString *errorDescrition = (status <= [WLResultCodesDescriptions count]) && status > 0 ? (WLResultCodesDescriptions[(status-1)]) : ([NSString stringWithFormat:@"Internal WARP Server error %d", status]); 3896 // NSString *errorDescrition = (status <= [WLResultCodesDescriptions count]) && status > 0 ? (WLResultCodesDescriptions[(status-1)]) : ([NSString stringWithFormat:@"Internal WARP Server error %d", status]);
3869 // 3897 //
3870 // NSDictionary *eDict = @{NSLocalizedDescriptionKey: errorDescrition}; 3898 // NSDictionary *eDict = @{NSLocalizedDescriptionKey: errorDescrition};
3871 -// NSError *error = [NSError errorWithDomain:WARP_ERROR_DOMAIN code:status userInfo:eDict]; 3899 +// NSError *error = [NSError errorWithDomain:WLErrorDomain code:status userInfo:eDict];
3872 // 3900 //
3873 // if (failureBlock) 3901 // if (failureBlock)
3874 // failureBlock(error); 3902 // failureBlock(error);
...@@ -3888,7 +3916,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2) ...@@ -3888,7 +3916,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2)
3888 3916
3889 3917
3890 }else{ 3918 }else{
3891 - NSError *error = [NSError errorWithDomain:WARP_ERROR_DOMAIN code:1026 userInfo:@{NSLocalizedDescriptionKey: NSLocalizedString(@"Empty response", @"Warply")}]; 3919 + NSError *error = [NSError errorWithDomain:WLErrorDomain code:1026 userInfo:@{NSLocalizedDescriptionKey: NSLocalizedString(@"Empty response", @"Warply")}];
3892 if (failureBlock) 3920 if (failureBlock)
3893 failureBlock(error); 3921 failureBlock(error);
3894 3922
...@@ -4002,7 +4030,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2) ...@@ -4002,7 +4030,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2)
4002 // NSString *errorDescrition = (status <= [WLResultCodesDescriptions count]) && status > 0 ? (WLResultCodesDescriptions[(status-1)]) : ([NSString stringWithFormat:@"Internal WARP Server error %d", status]); 4030 // NSString *errorDescrition = (status <= [WLResultCodesDescriptions count]) && status > 0 ? (WLResultCodesDescriptions[(status-1)]) : ([NSString stringWithFormat:@"Internal WARP Server error %d", status]);
4003 // 4031 //
4004 // NSDictionary *eDict = @{NSLocalizedDescriptionKey: errorDescrition}; 4032 // NSDictionary *eDict = @{NSLocalizedDescriptionKey: errorDescrition};
4005 -// NSError *error = [NSError errorWithDomain:WARP_ERROR_DOMAIN code:status userInfo:eDict]; 4033 +// NSError *error = [NSError errorWithDomain:WLErrorDomain code:status userInfo:eDict];
4006 // 4034 //
4007 // if (failureBlock) 4035 // if (failureBlock)
4008 // failureBlock(error); 4036 // failureBlock(error);
...@@ -4022,7 +4050,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2) ...@@ -4022,7 +4050,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2)
4022 4050
4023 4051
4024 }else{ 4052 }else{
4025 - NSError *error = [NSError errorWithDomain:WARP_ERROR_DOMAIN code:1026 userInfo:@{NSLocalizedDescriptionKey: NSLocalizedString(@"Empty response", @"Warply")}]; 4053 + NSError *error = [NSError errorWithDomain:WLErrorDomain code:1026 userInfo:@{NSLocalizedDescriptionKey: NSLocalizedString(@"Empty response", @"Warply")}];
4026 if (failureBlock) 4054 if (failureBlock)
4027 failureBlock(error); 4055 failureBlock(error);
4028 4056
...@@ -4136,7 +4164,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2) ...@@ -4136,7 +4164,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2)
4136 // NSString *errorDescrition = (status <= [WLResultCodesDescriptions count]) && status > 0 ? (WLResultCodesDescriptions[(status-1)]) : ([NSString stringWithFormat:@"Internal WARP Server error %d", status]); 4164 // NSString *errorDescrition = (status <= [WLResultCodesDescriptions count]) && status > 0 ? (WLResultCodesDescriptions[(status-1)]) : ([NSString stringWithFormat:@"Internal WARP Server error %d", status]);
4137 // 4165 //
4138 // NSDictionary *eDict = @{NSLocalizedDescriptionKey: errorDescrition}; 4166 // NSDictionary *eDict = @{NSLocalizedDescriptionKey: errorDescrition};
4139 -// NSError *error = [NSError errorWithDomain:WARP_ERROR_DOMAIN code:status userInfo:eDict]; 4167 +// NSError *error = [NSError errorWithDomain:WLErrorDomain code:status userInfo:eDict];
4140 // 4168 //
4141 // if (failureBlock) 4169 // if (failureBlock)
4142 // failureBlock(error); 4170 // failureBlock(error);
...@@ -4156,7 +4184,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2) ...@@ -4156,7 +4184,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2)
4156 4184
4157 4185
4158 }else{ 4186 }else{
4159 - NSError *error = [NSError errorWithDomain:WARP_ERROR_DOMAIN code:1026 userInfo:@{NSLocalizedDescriptionKey: NSLocalizedString(@"Empty response", @"Warply")}]; 4187 + NSError *error = [NSError errorWithDomain:WLErrorDomain code:1026 userInfo:@{NSLocalizedDescriptionKey: NSLocalizedString(@"Empty response", @"Warply")}];
4160 if (failureBlock) 4188 if (failureBlock)
4161 failureBlock(error); 4189 failureBlock(error);
4162 4190
...@@ -4471,7 +4499,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2) ...@@ -4471,7 +4499,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2)
4471 failureBlock:(void (^)(NSError *error))failureBlock 4499 failureBlock:(void (^)(NSError *error))failureBlock
4472 { 4500 {
4473 //Create REQUEST 4501 //Create REQUEST
4474 - NSMutableString *urlString = [NSMutableString stringWithFormat:@"%@%@", _baseURL, VERIFY_URL]; // /partners/cosmote/verify 4502 + NSMutableString *urlString = [NSMutableString stringWithFormat:@"%@%@", _baseURL, _config.verifyUrl]; // /partners/cosmote/verify
4475 WLLOG(@"[WARP Trace] HTTP URL: %@", urlString); 4503 WLLOG(@"[WARP Trace] HTTP URL: %@", urlString);
4476 4504
4477 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlString] cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:100]; 4505 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlString] cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:100];
...@@ -4722,7 +4750,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2) ...@@ -4722,7 +4750,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2)
4722 NSString *errorDescrition = (status <= [WLResultCodesDescriptions count]) && status > 0 ? (WLResultCodesDescriptions[(status-1)]) : ([NSString stringWithFormat:@"Internal WARP Server error %d", status]); 4750 NSString *errorDescrition = (status <= [WLResultCodesDescriptions count]) && status > 0 ? (WLResultCodesDescriptions[(status-1)]) : ([NSString stringWithFormat:@"Internal WARP Server error %d", status]);
4723 4751
4724 NSDictionary *eDict = @{NSLocalizedDescriptionKey: errorDescrition}; 4752 NSDictionary *eDict = @{NSLocalizedDescriptionKey: errorDescrition};
4725 - NSError *error = [NSError errorWithDomain:WARP_ERROR_DOMAIN code:status userInfo:eDict]; 4753 + NSError *error = [NSError errorWithDomain:WLErrorDomain code:status userInfo:eDict];
4726 4754
4727 if (failureBlock) 4755 if (failureBlock)
4728 failureBlock(error); 4756 failureBlock(error);
...@@ -4742,7 +4770,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2) ...@@ -4742,7 +4770,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2)
4742 4770
4743 4771
4744 }else{ 4772 }else{
4745 - NSError *error = [NSError errorWithDomain:WARP_ERROR_DOMAIN code:1026 userInfo:@{NSLocalizedDescriptionKey: NSLocalizedString(@"Empty response", @"Warply")}]; 4773 + NSError *error = [NSError errorWithDomain:WLErrorDomain code:1026 userInfo:@{NSLocalizedDescriptionKey: NSLocalizedString(@"Empty response", @"Warply")}];
4746 if (failureBlock) 4774 if (failureBlock)
4747 failureBlock(error); 4775 failureBlock(error);
4748 4776
...@@ -4849,7 +4877,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2) ...@@ -4849,7 +4877,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2)
4849 NSString *errorDescrition = (status <= [WLResultCodesDescriptions count]) && status > 0 ? (WLResultCodesDescriptions[(status-1)]) : ([NSString stringWithFormat:@"Internal WARP Server error %d", status]); 4877 NSString *errorDescrition = (status <= [WLResultCodesDescriptions count]) && status > 0 ? (WLResultCodesDescriptions[(status-1)]) : ([NSString stringWithFormat:@"Internal WARP Server error %d", status]);
4850 4878
4851 NSDictionary *eDict = @{NSLocalizedDescriptionKey: errorDescrition}; 4879 NSDictionary *eDict = @{NSLocalizedDescriptionKey: errorDescrition};
4852 - NSError *error = [NSError errorWithDomain:WARP_ERROR_DOMAIN code:status userInfo:eDict]; 4880 + NSError *error = [NSError errorWithDomain:WLErrorDomain code:status userInfo:eDict];
4853 4881
4854 if (failureBlock) 4882 if (failureBlock)
4855 failureBlock(error); 4883 failureBlock(error);
...@@ -4869,7 +4897,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2) ...@@ -4869,7 +4897,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2)
4869 4897
4870 4898
4871 }else{ 4899 }else{
4872 - NSError *error = [NSError errorWithDomain:WARP_ERROR_DOMAIN code:1026 userInfo:@{NSLocalizedDescriptionKey: NSLocalizedString(@"Empty response", @"Warply")}]; 4900 + NSError *error = [NSError errorWithDomain:WLErrorDomain code:1026 userInfo:@{NSLocalizedDescriptionKey: NSLocalizedString(@"Empty response", @"Warply")}];
4873 if (failureBlock) 4901 if (failureBlock)
4874 failureBlock(error); 4902 failureBlock(error);
4875 4903
...@@ -5072,7 +5100,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2) ...@@ -5072,7 +5100,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2)
5072 [_pendingOperationsQueue setSuspended:![self isRegistrationValid]]; 5100 [_pendingOperationsQueue setSuspended:![self isRegistrationValid]];
5073 if (failure) { 5101 if (failure) {
5074 NSDictionary *eDict=@{NSLocalizedDescriptionKey: WLResultCodesDescriptions[(status - 1)]}; 5102 NSDictionary *eDict=@{NSLocalizedDescriptionKey: WLResultCodesDescriptions[(status - 1)]};
5075 - NSError *warplyError = [NSError errorWithDomain:WARP_ERROR_DOMAIN code:status userInfo:eDict]; 5103 + NSError *warplyError = [NSError errorWithDomain:WLErrorDomain code:status userInfo:eDict];
5076 failure(warplyError); 5104 failure(warplyError);
5077 } 5105 }
5078 return; 5106 return;
...@@ -5090,7 +5118,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2) ...@@ -5090,7 +5118,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2)
5090 5118
5091 5119
5092 } else { 5120 } else {
5093 - NSError *error = [NSError errorWithDomain:WARP_ERROR_DOMAIN code:1026 userInfo:@{NSLocalizedDescriptionKey: NSLocalizedString(@"Empry response", @"Warply")}]; 5121 + NSError *error = [NSError errorWithDomain:WLErrorDomain code:1026 userInfo:@{NSLocalizedDescriptionKey: NSLocalizedString(@"Empry response", @"Warply")}];
5094 if (failure) { 5122 if (failure) {
5095 failure(error); 5123 failure(error);
5096 } 5124 }
...@@ -5204,7 +5232,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2) ...@@ -5204,7 +5232,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2)
5204 [_pendingOperationsQueue setSuspended:![self isRegistrationValid]]; 5232 [_pendingOperationsQueue setSuspended:![self isRegistrationValid]];
5205 if (failure) { 5233 if (failure) {
5206 NSDictionary *eDict=@{NSLocalizedDescriptionKey: WLResultCodesDescriptions[(status - 1)]}; 5234 NSDictionary *eDict=@{NSLocalizedDescriptionKey: WLResultCodesDescriptions[(status - 1)]};
5207 - NSError *warplyError = [NSError errorWithDomain:WARP_ERROR_DOMAIN code:status userInfo:eDict]; 5235 + NSError *warplyError = [NSError errorWithDomain:WLErrorDomain code:status userInfo:eDict];
5208 failure(warplyError); 5236 failure(warplyError);
5209 } 5237 }
5210 return; 5238 return;
...@@ -5225,7 +5253,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2) ...@@ -5225,7 +5253,7 @@ CGFloat DistanceBetweenTwoPoints(CGPoint point1,CGPoint point2)
5225 5253
5226 5254
5227 } else { 5255 } else {
5228 - NSError *error = [NSError errorWithDomain:WARP_ERROR_DOMAIN code:1026 userInfo:@{NSLocalizedDescriptionKey: NSLocalizedString(@"Empry response", @"Warply")}]; 5256 + NSError *error = [NSError errorWithDomain:WLErrorDomain code:1026 userInfo:@{NSLocalizedDescriptionKey: NSLocalizedString(@"Empry response", @"Warply")}];
5229 if (failure) { 5257 if (failure) {
5230 failure(error); 5258 failure(error);
5231 } 5259 }
......
1 +/*
2 + Copyright 2010-2016 Warply Inc. All rights reserved.
3 +
4 + Redistribution and use in source and binary forms, without modification,
5 + are permitted provided that the following conditions are met:
6 +
7 + 1. Redistributions of source code must retain the above copyright notice, this
8 + list of conditions and the following disclaimer.
9 +
10 + 2. Redistributions in binaryform must reproduce the above copyright notice,
11 + this list of conditions and the following disclaimer in the documentation
12 + and/or other materials provided with the distribution.
13 +
14 + THIS SOFTWARE IS PROVIDED BY THE WARPLY LTD ``AS IS'' AND ANY EXPRESS OR
15 + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
16 + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
17 + EVENT SHALL WARPLY LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
18 + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
19 + BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
20 + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
21 + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
22 + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
23 + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 + */
25 +
26 +#import <Foundation/Foundation.h>
27 +
28 +//! Project version number for WarplySDKFrameworkIOS
29 +FOUNDATION_EXPORT double WarplySDKFrameworkIOSVersionNumber;
30 +
31 +//! Project version string for WarplySDKFrameworkIOS
32 +FOUNDATION_EXPORT const unsigned char WarplySDKFrameworkIOSVersionString[];
33 +
34 +// In this header, you should import all the public headers of your framework using statements like #import <WarplySDKFrameworkIOS/PublicHeader.h>
35 +#import <WarplySDKFrameworkIOS/Warply.h>
36 +#import <WarplySDKFrameworkIOS/WLConfig.h>
37 +#import <WarplySDKFrameworkIOS/WLPushManager.h>
38 +#import <WarplySDKFrameworkIOS/WLEvent.h>
39 +#import <WarplySDKFrameworkIOS/WLUtils.h>
40 +#import <WarplySDKFrameworkIOS/WLGlobals.h>
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
25 25
26 #import "WLSMSActionHandlerDeprecated.h" 26 #import "WLSMSActionHandlerDeprecated.h"
27 #import "WLGlobals.h" 27 #import "WLGlobals.h"
28 +#import "WLAnalyticsManager.h"
28 #import "WLInboxItemViewController.h" 29 #import "WLInboxItemViewController.h"
29 #import "UIViewController+WLAdditions.h" 30 #import "UIViewController+WLAdditions.h"
30 31
......
...@@ -32,7 +32,8 @@ ...@@ -32,7 +32,8 @@
32 */ 32 */
33 33
34 #import <Foundation/Foundation.h> 34 #import <Foundation/Foundation.h>
35 -#import "WLBaseItem.h" 35 +
36 +@class WLBaseItem;
36 37
37 /*! 38 /*!
38 @class WLAnalyticsManager 39 @class WLAnalyticsManager
......
...@@ -24,6 +24,8 @@ ...@@ -24,6 +24,8 @@
24 */ 24 */
25 25
26 #import "WLAnalyticsManager.h" 26 #import "WLAnalyticsManager.h"
27 +#import "WLBaseItem.h"
28 +#import "WLEvent.h"
27 #import "Warply.h" 29 #import "Warply.h"
28 30
29 @implementation WLAnalyticsManager 31 @implementation WLAnalyticsManager
......
...@@ -15,7 +15,8 @@ ...@@ -15,7 +15,8 @@
15 #import "WLInboxItemViewController.h" 15 #import "WLInboxItemViewController.h"
16 #import "UIViewController+WLAdditions.h" 16 #import "UIViewController+WLAdditions.h"
17 #import "WLBaseItem.h" 17 #import "WLBaseItem.h"
18 - 18 +#import "WLInboxItem.h"
19 +#import "WLAnalyticsManager.h"
19 20
20 21
21 22
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
31 @copyright Warply Inc. 31 @copyright Warply Inc.
32 */ 32 */
33 33
34 -#import <Foundation/Foundation.h> 34 +#import <UIKit/UIKit.h>
35 #import <CoreLocation/CoreLocation.h> 35 #import <CoreLocation/CoreLocation.h>
36 36
37 @protocol WLLocationManagerDelegate; 37 @protocol WLLocationManagerDelegate;
......
...@@ -31,11 +31,11 @@ ...@@ -31,11 +31,11 @@
31 31
32 @import UIKit; 32 @import UIKit;
33 #import <Foundation/Foundation.h> 33 #import <Foundation/Foundation.h>
34 -#import "WLBaseItem.h"
35 -#import "WLInboxItem.h"
36 #import <UserNotifications/UserNotifications.h> 34 #import <UserNotifications/UserNotifications.h>
37 35
38 @class Warply; 36 @class Warply;
37 +@class WLBaseItem;
38 +@class WLInboxItem;
39 @protocol WLCustomPushHandler; 39 @protocol WLCustomPushHandler;
40 40
41 /*! 41 /*!
......
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
26 #import "WLPushManager.h" 26 #import "WLPushManager.h"
27 #import "WLGlobals.h" 27 #import "WLGlobals.h"
28 #import "WLEvent.h" 28 #import "WLEvent.h"
29 +#import "WLAnalyticsManager.h"
29 #import "Warply.h" 30 #import "Warply.h"
30 #import "WLBaseItem.h" 31 #import "WLBaseItem.h"
31 #import <CoreTelephony/CTTelephonyNetworkInfo.h> 32 #import <CoreTelephony/CTTelephonyNetworkInfo.h>
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
30 @copyright Warply Inc. 30 @copyright Warply Inc.
31 */ 31 */
32 32
33 -#import <Foundation/Foundation.h> 33 +#import <UIKit/UIKit.h>
34 #import "Warply.h" 34 #import "Warply.h"
35 35
36 /*! 36 /*!
......
...@@ -24,6 +24,8 @@ ...@@ -24,6 +24,8 @@
24 */ 24 */
25 25
26 #import "WLUserManager.h" 26 #import "WLUserManager.h"
27 +#import "WLGlobals.h"
28 +#import "WLEvent.h"
27 #import <AdSupport/AdSupport.h> 29 #import <AdSupport/AdSupport.h>
28 30
29 @implementation WLUserManager 31 @implementation WLUserManager
......
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
51 51
52 -(BOOL)webView:(WKWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { 52 -(BOOL)webView:(WKWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
53 53
54 - if (![request.URL.host isEqualToString:WARP_HOST] && ![request.URL.host isEqualToString:@"warplydata.blob.core.windows.net"]) { 54 + if (![request.URL.host isEqualToString:[Warply sharedService].host] && ![request.URL.host isEqualToString:@"warplydata.blob.core.windows.net"]) {
55 [[UIApplication sharedApplication] openURL:request.URL]; 55 [[UIApplication sharedApplication] openURL:request.URL];
56 } 56 }
57 57
......
...@@ -72,7 +72,7 @@ ...@@ -72,7 +72,7 @@
72 72
73 -(BOOL)webView:(WKWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { 73 -(BOOL)webView:(WKWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
74 74
75 - if (![request.URL.host isEqualToString:WARP_HOST] && ![request.URL.host isEqualToString:@"warplydata.blob.core.windows.net"]) { 75 + if (![request.URL.host isEqualToString:[Warply sharedService].host] && ![request.URL.host isEqualToString:@"warplydata.blob.core.windows.net"]) {
76 [[UIApplication sharedApplication] openURL:request.URL]; 76 [[UIApplication sharedApplication] openURL:request.URL];
77 } 77 }
78 78
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
8 8
9 #import "WLNativeAdsTableMode.h" 9 #import "WLNativeAdsTableMode.h"
10 #import "Warply.h" 10 #import "Warply.h"
11 +#import "WLAnalyticsManager.h"
11 #import <UIKit/UIKit.h> 12 #import <UIKit/UIKit.h>
12 #import "WLNativeAdTableViewCell.h" 13 #import "WLNativeAdTableViewCell.h"
13 #import <AVFoundation/AVFoundation.h> 14 #import <AVFoundation/AVFoundation.h>
......
1 +// !$*UTF8*$!
2 +{
3 + archiveVersion = 1;
4 + classes = {
5 + };
6 + objectVersion = 55;
7 + objects = {
8 +
9 +/* Begin PBXBuildFile section */
10 + A06A3BEF288B149E00C8DED5 /* WLConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = A06A3BED288B149E00C8DED5 /* WLConfig.h */; settings = {ATTRIBUTES = (Public, ); }; };
11 + A06A3BF0288B149E00C8DED5 /* WLConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = A06A3BEE288B149E00C8DED5 /* WLConfig.m */; };
12 + A06A3BF4288B1D2100C8DED5 /* WarplySDKFrameworkIOS.h in Headers */ = {isa = PBXBuildFile; fileRef = A06A3BF3288B1D2100C8DED5 /* WarplySDKFrameworkIOS.h */; settings = {ATTRIBUTES = (Public, ); }; };
13 + E6D8DEEE27A942920006A3A9 /* WarplyReactMethods.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DE7527A942910006A3A9 /* WarplyReactMethods.m */; };
14 + E6D8DEEF27A942920006A3A9 /* WarplyReactMethods.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DE7627A942910006A3A9 /* WarplyReactMethods.h */; };
15 + E6D8DEF027A942920006A3A9 /* WLNativeAdCollectionViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DE7927A942910006A3A9 /* WLNativeAdCollectionViewCell.h */; };
16 + E6D8DEF127A942920006A3A9 /* WLNativeVideoTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E6D8DE7A27A942910006A3A9 /* WLNativeVideoTableViewCell.xib */; };
17 + E6D8DEF227A942920006A3A9 /* WLNativeAdTableViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DE7B27A942910006A3A9 /* WLNativeAdTableViewCell.h */; };
18 + E6D8DEF327A942920006A3A9 /* WLNativeVideoTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DE7C27A942910006A3A9 /* WLNativeVideoTableViewCell.m */; };
19 + E6D8DEF427A942920006A3A9 /* WLCustomNativeCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DE7D27A942910006A3A9 /* WLCustomNativeCollectionViewCell.m */; };
20 + E6D8DEF527A942920006A3A9 /* WLNativeAdsTableMode.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DE7E27A942910006A3A9 /* WLNativeAdsTableMode.m */; };
21 + E6D8DEF627A942920006A3A9 /* WLCustomNativeAdTableViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DE7F27A942910006A3A9 /* WLCustomNativeAdTableViewCell.h */; };
22 + E6D8DEF727A942920006A3A9 /* WLNativeAdsCollectionMode.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DE8027A942910006A3A9 /* WLNativeAdsCollectionMode.m */; };
23 + E6D8DEF827A942920006A3A9 /* WLNativeAdTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DE8127A942910006A3A9 /* WLNativeAdTableViewCell.m */; };
24 + E6D8DEF927A942920006A3A9 /* WLNativeAdCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DE8227A942910006A3A9 /* WLNativeAdCollectionViewCell.m */; };
25 + E6D8DEFA27A942920006A3A9 /* WLNativeAdTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E6D8DE8327A942910006A3A9 /* WLNativeAdTableViewCell.xib */; };
26 + E6D8DEFB27A942920006A3A9 /* WLNativeAdCollectionViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E6D8DE8427A942910006A3A9 /* WLNativeAdCollectionViewCell.xib */; };
27 + E6D8DEFC27A942920006A3A9 /* WLCustomNativeAdTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DE8527A942910006A3A9 /* WLCustomNativeAdTableViewCell.m */; };
28 + E6D8DEFD27A942920006A3A9 /* WLNativeAdsTableMode.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DE8627A942910006A3A9 /* WLNativeAdsTableMode.h */; };
29 + E6D8DEFE27A942920006A3A9 /* WLCustomNativeCollectionViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DE8727A942910006A3A9 /* WLCustomNativeCollectionViewCell.h */; };
30 + E6D8DEFF27A942920006A3A9 /* WLNativeVideoTableViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DE8827A942910006A3A9 /* WLNativeVideoTableViewCell.h */; };
31 + E6D8DF0027A942920006A3A9 /* WLNativeAdsCollectionMode.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DE8927A942910006A3A9 /* WLNativeAdsCollectionMode.h */; };
32 + E6D8DF0127A942920006A3A9 /* WLBeacon.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DE8B27A942910006A3A9 /* WLBeacon.h */; };
33 + E6D8DF0227A942920006A3A9 /* WLBaseItem.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DE8C27A942910006A3A9 /* WLBaseItem.h */; };
34 + E6D8DF0327A942920006A3A9 /* WLInboxItemViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DE8D27A942910006A3A9 /* WLInboxItemViewController.h */; };
35 + E6D8DF0427A942920006A3A9 /* WLInboxItem.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DE8E27A942910006A3A9 /* WLInboxItem.m */; };
36 + E6D8DF0527A942920006A3A9 /* WLAPSItem.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DE8F27A942910006A3A9 /* WLAPSItem.h */; };
37 + E6D8DF0627A942920006A3A9 /* WLBeacon.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DE9027A942910006A3A9 /* WLBeacon.m */; };
38 + E6D8DF0727A942920006A3A9 /* WLInboxItemViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DE9127A942910006A3A9 /* WLInboxItemViewController.m */; };
39 + E6D8DF0827A942920006A3A9 /* WLBaseItem.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DE9227A942910006A3A9 /* WLBaseItem.m */; };
40 + E6D8DF0927A942920006A3A9 /* WLInboxItem.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DE9327A942910006A3A9 /* WLInboxItem.h */; };
41 + E6D8DF0A27A942920006A3A9 /* WLAPSItem.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DE9427A942910006A3A9 /* WLAPSItem.m */; };
42 + E6D8DF0B27A942920006A3A9 /* WLEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DE9527A942910006A3A9 /* WLEvent.m */; };
43 + E6D8DF0C27A942920006A3A9 /* warp_white_back_button@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E6D8DE9727A942910006A3A9 /* warp_white_back_button@2x.png */; };
44 + E6D8DF0D27A942920006A3A9 /* warp_white_forward_button.png in Resources */ = {isa = PBXBuildFile; fileRef = E6D8DE9827A942910006A3A9 /* warp_white_forward_button.png */; };
45 + E6D8DF0E27A942920006A3A9 /* warp_white_back_button.png in Resources */ = {isa = PBXBuildFile; fileRef = E6D8DE9927A942910006A3A9 /* warp_white_back_button.png */; };
46 + E6D8DF0F27A942920006A3A9 /* warp_white_close_button@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E6D8DE9A27A942910006A3A9 /* warp_white_close_button@2x.png */; };
47 + E6D8DF1027A942920006A3A9 /* warp_white_forward_button@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E6D8DE9B27A942910006A3A9 /* warp_white_forward_button@2x.png */; };
48 + E6D8DF1127A942920006A3A9 /* warp_white_close_button.png in Resources */ = {isa = PBXBuildFile; fileRef = E6D8DE9C27A942910006A3A9 /* warp_white_close_button.png */; };
49 + E6D8DF1227A942920006A3A9 /* WLPushManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DE9E27A942910006A3A9 /* WLPushManager.m */; };
50 + E6D8DF1327A942920006A3A9 /* WLBeaconManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DE9F27A942910006A3A9 /* WLBeaconManager.m */; };
51 + E6D8DF1427A942920006A3A9 /* WLLocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DEA027A942910006A3A9 /* WLLocationManager.m */; };
52 + E6D8DF1527A942920006A3A9 /* WLAnalyticsManager.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DEA127A942910006A3A9 /* WLAnalyticsManager.h */; };
53 + E6D8DF1627A942920006A3A9 /* WLUserManager.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DEA227A942910006A3A9 /* WLUserManager.h */; };
54 + E6D8DF1727A942920006A3A9 /* WLBeaconManager.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DEA327A942910006A3A9 /* WLBeaconManager.h */; };
55 + E6D8DF1827A942920006A3A9 /* WLPushManager.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DEA427A942910006A3A9 /* WLPushManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
56 + E6D8DF1927A942920006A3A9 /* WLAnalyticsManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DEA527A942910006A3A9 /* WLAnalyticsManager.m */; };
57 + E6D8DF1A27A942920006A3A9 /* WLLocationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DEA627A942910006A3A9 /* WLLocationManager.h */; };
58 + E6D8DF1B27A942920006A3A9 /* WLUserManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DEA727A942910006A3A9 /* WLUserManager.m */; };
59 + E6D8DF1C27A942920006A3A9 /* WLUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DEA927A942910006A3A9 /* WLUtils.m */; };
60 + E6D8DF1D27A942920006A3A9 /* UIViewController+WLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DEAA27A942910006A3A9 /* UIViewController+WLAdditions.h */; };
61 + E6D8DF1E27A942920006A3A9 /* UIViewController+WLAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DEAB27A942910006A3A9 /* UIViewController+WLAdditions.m */; };
62 + E6D8DF1F27A942920006A3A9 /* WLUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DEAC27A942910006A3A9 /* WLUtils.h */; settings = {ATTRIBUTES = (Public, ); }; };
63 + E6D8DF2027A942920006A3A9 /* Warply.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DEAD27A942910006A3A9 /* Warply.m */; };
64 + E6D8DF2127A942920006A3A9 /* WLAPPActionHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DEAF27A942910006A3A9 /* WLAPPActionHandler.m */; };
65 + E6D8DF2227A942920006A3A9 /* WLSMSActionHanlder.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DEB027A942910006A3A9 /* WLSMSActionHanlder.h */; };
66 + E6D8DF2327A942920006A3A9 /* WLSMSActionHandlerDeprecated.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DEB127A942910006A3A9 /* WLSMSActionHandlerDeprecated.m */; };
67 + E6D8DF2427A942920006A3A9 /* WLSMSActionHandlerDeprecated.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DEB227A942910006A3A9 /* WLSMSActionHandlerDeprecated.h */; };
68 + E6D8DF2527A942920006A3A9 /* WLSMSActionHanlder.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DEB327A942910006A3A9 /* WLSMSActionHanlder.m */; };
69 + E6D8DF2627A942920006A3A9 /* WLAPPActionHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DEB427A942910006A3A9 /* WLAPPActionHandler.h */; };
70 + E6D8DF2727A942920006A3A9 /* WLGlobals.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DEB527A942910006A3A9 /* WLGlobals.h */; settings = {ATTRIBUTES = (Public, ); }; };
71 + E6D8DF2827A942920006A3A9 /* NSString+SSToolkitAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DEB827A942910006A3A9 /* NSString+SSToolkitAdditions.h */; };
72 + E6D8DF2927A942920006A3A9 /* NSData+SSToolkitAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DEB927A942910006A3A9 /* NSData+SSToolkitAdditions.m */; };
73 + E6D8DF2A27A942920006A3A9 /* NSData+SSToolkitAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DEBA27A942910006A3A9 /* NSData+SSToolkitAdditions.h */; };
74 + E6D8DF2B27A942920006A3A9 /* NSString+SSToolkitAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DEBB27A942910006A3A9 /* NSString+SSToolkitAdditions.m */; };
75 + E6D8DF2C27A942920006A3A9 /* UIProgressView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DEBD27A942910006A3A9 /* UIProgressView+AFNetworking.m */; };
76 + E6D8DF2D27A942920006A3A9 /* UIButton+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DEBE27A942910006A3A9 /* UIButton+AFNetworking.h */; };
77 + E6D8DF2E27A942920006A3A9 /* UIRefreshControl+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DEBF27A942910006A3A9 /* UIRefreshControl+AFNetworking.m */; };
78 + E6D8DF2F27A942920006A3A9 /* UIImageView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DEC027A942910006A3A9 /* UIImageView+AFNetworking.h */; };
79 + E6D8DF3027A942920006A3A9 /* AFImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DEC127A942910006A3A9 /* AFImageDownloader.h */; };
80 + E6D8DF3127A942920006A3A9 /* AFNetworkActivityIndicatorManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DEC227A942910006A3A9 /* AFNetworkActivityIndicatorManager.m */; };
81 + E6D8DF3227A942920006A3A9 /* AFAutoPurgingImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DEC327A942910006A3A9 /* AFAutoPurgingImageCache.h */; };
82 + E6D8DF3327A942920006A3A9 /* UIWebView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DEC427A942910006A3A9 /* UIWebView+AFNetworking.h */; };
83 + E6D8DF3427A942920006A3A9 /* UIActivityIndicatorView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DEC527A942910006A3A9 /* UIActivityIndicatorView+AFNetworking.h */; };
84 + E6D8DF3527A942920006A3A9 /* UIImage+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DEC627A942910006A3A9 /* UIImage+AFNetworking.h */; };
85 + E6D8DF3627A942920006A3A9 /* UIProgressView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DEC727A942910006A3A9 /* UIProgressView+AFNetworking.h */; };
86 + E6D8DF3727A942920006A3A9 /* UIImageView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DEC827A942910006A3A9 /* UIImageView+AFNetworking.m */; };
87 + E6D8DF3827A942920006A3A9 /* UIKit+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DEC927A942910006A3A9 /* UIKit+AFNetworking.h */; };
88 + E6D8DF3927A942920006A3A9 /* UIRefreshControl+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DECA27A942910006A3A9 /* UIRefreshControl+AFNetworking.h */; };
89 + E6D8DF3A27A942920006A3A9 /* UIButton+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DECB27A942910006A3A9 /* UIButton+AFNetworking.m */; };
90 + E6D8DF3B27A942920006A3A9 /* UIActivityIndicatorView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DECC27A942910006A3A9 /* UIActivityIndicatorView+AFNetworking.m */; };
91 + E6D8DF3C27A942920006A3A9 /* UIWebView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DECD27A942910006A3A9 /* UIWebView+AFNetworking.m */; };
92 + E6D8DF3D27A942920006A3A9 /* AFAutoPurgingImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DECE27A942910006A3A9 /* AFAutoPurgingImageCache.m */; };
93 + E6D8DF3E27A942920006A3A9 /* AFNetworkActivityIndicatorManager.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DECF27A942910006A3A9 /* AFNetworkActivityIndicatorManager.h */; };
94 + E6D8DF3F27A942920006A3A9 /* AFImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DED027A942910006A3A9 /* AFImageDownloader.m */; };
95 + E6D8DF4027A942920006A3A9 /* AFSecurityPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DED227A942910006A3A9 /* AFSecurityPolicy.h */; };
96 + E6D8DF4127A942920006A3A9 /* AFNetworkReachabilityManager.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DED327A942910006A3A9 /* AFNetworkReachabilityManager.h */; };
97 + E6D8DF4227A942920006A3A9 /* AFURLSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DED427A942910006A3A9 /* AFURLSessionManager.h */; };
98 + E6D8DF4327A942920006A3A9 /* AFURLRequestSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DED527A942910006A3A9 /* AFURLRequestSerialization.h */; };
99 + E6D8DF4427A942920006A3A9 /* AFURLResponseSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DED627A942910006A3A9 /* AFURLResponseSerialization.m */; };
100 + E6D8DF4527A942920006A3A9 /* AFHTTPSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DED727A942910006A3A9 /* AFHTTPSessionManager.m */; };
101 + E6D8DF4627A942920006A3A9 /* AFURLResponseSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DED827A942910006A3A9 /* AFURLResponseSerialization.h */; };
102 + E6D8DF4727A942920006A3A9 /* AFURLSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DED927A942910006A3A9 /* AFURLSessionManager.m */; };
103 + E6D8DF4827A942920006A3A9 /* AFURLRequestSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DEDA27A942910006A3A9 /* AFURLRequestSerialization.m */; };
104 + E6D8DF4927A942920006A3A9 /* AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DEDB27A942910006A3A9 /* AFNetworking.h */; };
105 + E6D8DF4A27A942920006A3A9 /* AFNetworkReachabilityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DEDC27A942910006A3A9 /* AFNetworkReachabilityManager.m */; };
106 + E6D8DF4B27A942920006A3A9 /* AFSecurityPolicy.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DEDD27A942910006A3A9 /* AFSecurityPolicy.m */; };
107 + E6D8DF4C27A942920006A3A9 /* AFHTTPSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DEDE27A942910006A3A9 /* AFHTTPSessionManager.h */; };
108 + E6D8DF4D27A942920006A3A9 /* FMDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DEE027A942910006A3A9 /* FMDatabase.h */; };
109 + E6D8DF4E27A942920006A3A9 /* FMDatabaseQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DEE127A942910006A3A9 /* FMDatabaseQueue.m */; };
110 + E6D8DF4F27A942920006A3A9 /* FMResultSet.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DEE227A942910006A3A9 /* FMResultSet.h */; };
111 + E6D8DF5027A942920006A3A9 /* FMDatabasePool.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DEE327A942910006A3A9 /* FMDatabasePool.h */; };
112 + E6D8DF5127A942920006A3A9 /* FMDatabaseAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DEE427A942910006A3A9 /* FMDatabaseAdditions.m */; };
113 + E6D8DF5227A942920006A3A9 /* FMDatabase.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DEE527A942910006A3A9 /* FMDatabase.m */; };
114 + E6D8DF5327A942920006A3A9 /* FMDatabaseQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DEE627A942910006A3A9 /* FMDatabaseQueue.h */; };
115 + E6D8DF5427A942920006A3A9 /* FMDB.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DEE727A942910006A3A9 /* FMDB.h */; };
116 + E6D8DF5527A942920006A3A9 /* FMDatabaseAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DEE827A942910006A3A9 /* FMDatabaseAdditions.h */; };
117 + E6D8DF5627A942920006A3A9 /* FMDatabasePool.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DEE927A942910006A3A9 /* FMDatabasePool.m */; };
118 + E6D8DF5727A942920006A3A9 /* FMResultSet.m in Sources */ = {isa = PBXBuildFile; fileRef = E6D8DEEA27A942910006A3A9 /* FMResultSet.m */; };
119 + E6D8DF5827A942920006A3A9 /* WLEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DEEB27A942910006A3A9 /* WLEvent.h */; settings = {ATTRIBUTES = (Public, ); }; };
120 + E6D8DF5927A942920006A3A9 /* Warply.h in Headers */ = {isa = PBXBuildFile; fileRef = E6D8DEEC27A942910006A3A9 /* Warply.h */; settings = {ATTRIBUTES = (Public, ); }; };
121 +/* End PBXBuildFile section */
122 +
123 +/* Begin PBXFileReference section */
124 + A06A3BED288B149E00C8DED5 /* WLConfig.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WLConfig.h; sourceTree = "<group>"; };
125 + A06A3BEE288B149E00C8DED5 /* WLConfig.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WLConfig.m; sourceTree = "<group>"; };
126 + A06A3BF3288B1D2100C8DED5 /* WarplySDKFrameworkIOS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WarplySDKFrameworkIOS.h; path = Warply/WarplySDKFrameworkIOS.h; sourceTree = SOURCE_ROOT; };
127 + E6D8DE6827A942010006A3A9 /* WarplySDKFrameworkIOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = WarplySDKFrameworkIOS.framework; sourceTree = BUILT_PRODUCTS_DIR; };
128 + E6D8DE7527A942910006A3A9 /* WarplyReactMethods.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WarplyReactMethods.m; sourceTree = "<group>"; };
129 + E6D8DE7627A942910006A3A9 /* WarplyReactMethods.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WarplyReactMethods.h; sourceTree = "<group>"; };
130 + E6D8DE7927A942910006A3A9 /* WLNativeAdCollectionViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLNativeAdCollectionViewCell.h; sourceTree = "<group>"; };
131 + E6D8DE7A27A942910006A3A9 /* WLNativeVideoTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = WLNativeVideoTableViewCell.xib; sourceTree = "<group>"; };
132 + E6D8DE7B27A942910006A3A9 /* WLNativeAdTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLNativeAdTableViewCell.h; sourceTree = "<group>"; };
133 + E6D8DE7C27A942910006A3A9 /* WLNativeVideoTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLNativeVideoTableViewCell.m; sourceTree = "<group>"; };
134 + E6D8DE7D27A942910006A3A9 /* WLCustomNativeCollectionViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLCustomNativeCollectionViewCell.m; sourceTree = "<group>"; };
135 + E6D8DE7E27A942910006A3A9 /* WLNativeAdsTableMode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLNativeAdsTableMode.m; sourceTree = "<group>"; };
136 + E6D8DE7F27A942910006A3A9 /* WLCustomNativeAdTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLCustomNativeAdTableViewCell.h; sourceTree = "<group>"; };
137 + E6D8DE8027A942910006A3A9 /* WLNativeAdsCollectionMode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLNativeAdsCollectionMode.m; sourceTree = "<group>"; };
138 + E6D8DE8127A942910006A3A9 /* WLNativeAdTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLNativeAdTableViewCell.m; sourceTree = "<group>"; };
139 + E6D8DE8227A942910006A3A9 /* WLNativeAdCollectionViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLNativeAdCollectionViewCell.m; sourceTree = "<group>"; };
140 + E6D8DE8327A942910006A3A9 /* WLNativeAdTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = WLNativeAdTableViewCell.xib; sourceTree = "<group>"; };
141 + E6D8DE8427A942910006A3A9 /* WLNativeAdCollectionViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = WLNativeAdCollectionViewCell.xib; sourceTree = "<group>"; };
142 + E6D8DE8527A942910006A3A9 /* WLCustomNativeAdTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLCustomNativeAdTableViewCell.m; sourceTree = "<group>"; };
143 + E6D8DE8627A942910006A3A9 /* WLNativeAdsTableMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLNativeAdsTableMode.h; sourceTree = "<group>"; };
144 + E6D8DE8727A942910006A3A9 /* WLCustomNativeCollectionViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLCustomNativeCollectionViewCell.h; sourceTree = "<group>"; };
145 + E6D8DE8827A942910006A3A9 /* WLNativeVideoTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLNativeVideoTableViewCell.h; sourceTree = "<group>"; };
146 + E6D8DE8927A942910006A3A9 /* WLNativeAdsCollectionMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLNativeAdsCollectionMode.h; sourceTree = "<group>"; };
147 + E6D8DE8B27A942910006A3A9 /* WLBeacon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLBeacon.h; sourceTree = "<group>"; };
148 + E6D8DE8C27A942910006A3A9 /* WLBaseItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLBaseItem.h; sourceTree = "<group>"; };
149 + E6D8DE8D27A942910006A3A9 /* WLInboxItemViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLInboxItemViewController.h; sourceTree = "<group>"; };
150 + E6D8DE8E27A942910006A3A9 /* WLInboxItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLInboxItem.m; sourceTree = "<group>"; };
151 + E6D8DE8F27A942910006A3A9 /* WLAPSItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLAPSItem.h; sourceTree = "<group>"; };
152 + E6D8DE9027A942910006A3A9 /* WLBeacon.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLBeacon.m; sourceTree = "<group>"; };
153 + E6D8DE9127A942910006A3A9 /* WLInboxItemViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLInboxItemViewController.m; sourceTree = "<group>"; };
154 + E6D8DE9227A942910006A3A9 /* WLBaseItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLBaseItem.m; sourceTree = "<group>"; };
155 + E6D8DE9327A942910006A3A9 /* WLInboxItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLInboxItem.h; sourceTree = "<group>"; };
156 + E6D8DE9427A942910006A3A9 /* WLAPSItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLAPSItem.m; sourceTree = "<group>"; };
157 + E6D8DE9527A942910006A3A9 /* WLEvent.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLEvent.m; sourceTree = "<group>"; };
158 + E6D8DE9727A942910006A3A9 /* warp_white_back_button@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "warp_white_back_button@2x.png"; sourceTree = "<group>"; };
159 + E6D8DE9827A942910006A3A9 /* warp_white_forward_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = warp_white_forward_button.png; sourceTree = "<group>"; };
160 + E6D8DE9927A942910006A3A9 /* warp_white_back_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = warp_white_back_button.png; sourceTree = "<group>"; };
161 + E6D8DE9A27A942910006A3A9 /* warp_white_close_button@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "warp_white_close_button@2x.png"; sourceTree = "<group>"; };
162 + E6D8DE9B27A942910006A3A9 /* warp_white_forward_button@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "warp_white_forward_button@2x.png"; sourceTree = "<group>"; };
163 + E6D8DE9C27A942910006A3A9 /* warp_white_close_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = warp_white_close_button.png; sourceTree = "<group>"; };
164 + E6D8DE9E27A942910006A3A9 /* WLPushManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLPushManager.m; sourceTree = "<group>"; };
165 + E6D8DE9F27A942910006A3A9 /* WLBeaconManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLBeaconManager.m; sourceTree = "<group>"; };
166 + E6D8DEA027A942910006A3A9 /* WLLocationManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLLocationManager.m; sourceTree = "<group>"; };
167 + E6D8DEA127A942910006A3A9 /* WLAnalyticsManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLAnalyticsManager.h; sourceTree = "<group>"; };
168 + E6D8DEA227A942910006A3A9 /* WLUserManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLUserManager.h; sourceTree = "<group>"; };
169 + E6D8DEA327A942910006A3A9 /* WLBeaconManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLBeaconManager.h; sourceTree = "<group>"; };
170 + E6D8DEA427A942910006A3A9 /* WLPushManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLPushManager.h; sourceTree = "<group>"; };
171 + E6D8DEA527A942910006A3A9 /* WLAnalyticsManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLAnalyticsManager.m; sourceTree = "<group>"; };
172 + E6D8DEA627A942910006A3A9 /* WLLocationManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLLocationManager.h; sourceTree = "<group>"; };
173 + E6D8DEA727A942910006A3A9 /* WLUserManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLUserManager.m; sourceTree = "<group>"; };
174 + E6D8DEA927A942910006A3A9 /* WLUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLUtils.m; sourceTree = "<group>"; };
175 + E6D8DEAA27A942910006A3A9 /* UIViewController+WLAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIViewController+WLAdditions.h"; sourceTree = "<group>"; };
176 + E6D8DEAB27A942910006A3A9 /* UIViewController+WLAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIViewController+WLAdditions.m"; sourceTree = "<group>"; };
177 + E6D8DEAC27A942910006A3A9 /* WLUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLUtils.h; sourceTree = "<group>"; };
178 + E6D8DEAD27A942910006A3A9 /* Warply.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Warply.m; sourceTree = "<group>"; };
179 + E6D8DEAF27A942910006A3A9 /* WLAPPActionHandler.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLAPPActionHandler.m; sourceTree = "<group>"; };
180 + E6D8DEB027A942910006A3A9 /* WLSMSActionHanlder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLSMSActionHanlder.h; sourceTree = "<group>"; };
181 + E6D8DEB127A942910006A3A9 /* WLSMSActionHandlerDeprecated.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLSMSActionHandlerDeprecated.m; sourceTree = "<group>"; };
182 + E6D8DEB227A942910006A3A9 /* WLSMSActionHandlerDeprecated.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLSMSActionHandlerDeprecated.h; sourceTree = "<group>"; };
183 + E6D8DEB327A942910006A3A9 /* WLSMSActionHanlder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WLSMSActionHanlder.m; sourceTree = "<group>"; };
184 + E6D8DEB427A942910006A3A9 /* WLAPPActionHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLAPPActionHandler.h; sourceTree = "<group>"; };
185 + E6D8DEB527A942910006A3A9 /* WLGlobals.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLGlobals.h; sourceTree = "<group>"; };
186 + E6D8DEB827A942910006A3A9 /* NSString+SSToolkitAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+SSToolkitAdditions.h"; sourceTree = "<group>"; };
187 + E6D8DEB927A942910006A3A9 /* NSData+SSToolkitAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSData+SSToolkitAdditions.m"; sourceTree = "<group>"; };
188 + E6D8DEBA27A942910006A3A9 /* NSData+SSToolkitAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSData+SSToolkitAdditions.h"; sourceTree = "<group>"; };
189 + E6D8DEBB27A942910006A3A9 /* NSString+SSToolkitAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+SSToolkitAdditions.m"; sourceTree = "<group>"; };
190 + E6D8DEBD27A942910006A3A9 /* UIProgressView+AFNetworking.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIProgressView+AFNetworking.m"; sourceTree = "<group>"; };
191 + E6D8DEBE27A942910006A3A9 /* UIButton+AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIButton+AFNetworking.h"; sourceTree = "<group>"; };
192 + E6D8DEBF27A942910006A3A9 /* UIRefreshControl+AFNetworking.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIRefreshControl+AFNetworking.m"; sourceTree = "<group>"; };
193 + E6D8DEC027A942910006A3A9 /* UIImageView+AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImageView+AFNetworking.h"; sourceTree = "<group>"; };
194 + E6D8DEC127A942910006A3A9 /* AFImageDownloader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFImageDownloader.h; sourceTree = "<group>"; };
195 + E6D8DEC227A942910006A3A9 /* AFNetworkActivityIndicatorManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFNetworkActivityIndicatorManager.m; sourceTree = "<group>"; };
196 + E6D8DEC327A942910006A3A9 /* AFAutoPurgingImageCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFAutoPurgingImageCache.h; sourceTree = "<group>"; };
197 + E6D8DEC427A942910006A3A9 /* UIWebView+AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIWebView+AFNetworking.h"; sourceTree = "<group>"; };
198 + E6D8DEC527A942910006A3A9 /* UIActivityIndicatorView+AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIActivityIndicatorView+AFNetworking.h"; sourceTree = "<group>"; };
199 + E6D8DEC627A942910006A3A9 /* UIImage+AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+AFNetworking.h"; sourceTree = "<group>"; };
200 + E6D8DEC727A942910006A3A9 /* UIProgressView+AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIProgressView+AFNetworking.h"; sourceTree = "<group>"; };
201 + E6D8DEC827A942910006A3A9 /* UIImageView+AFNetworking.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImageView+AFNetworking.m"; sourceTree = "<group>"; };
202 + E6D8DEC927A942910006A3A9 /* UIKit+AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIKit+AFNetworking.h"; sourceTree = "<group>"; };
203 + E6D8DECA27A942910006A3A9 /* UIRefreshControl+AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIRefreshControl+AFNetworking.h"; sourceTree = "<group>"; };
204 + E6D8DECB27A942910006A3A9 /* UIButton+AFNetworking.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIButton+AFNetworking.m"; sourceTree = "<group>"; };
205 + E6D8DECC27A942910006A3A9 /* UIActivityIndicatorView+AFNetworking.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIActivityIndicatorView+AFNetworking.m"; sourceTree = "<group>"; };
206 + E6D8DECD27A942910006A3A9 /* UIWebView+AFNetworking.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIWebView+AFNetworking.m"; sourceTree = "<group>"; };
207 + E6D8DECE27A942910006A3A9 /* AFAutoPurgingImageCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFAutoPurgingImageCache.m; sourceTree = "<group>"; };
208 + E6D8DECF27A942910006A3A9 /* AFNetworkActivityIndicatorManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFNetworkActivityIndicatorManager.h; sourceTree = "<group>"; };
209 + E6D8DED027A942910006A3A9 /* AFImageDownloader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFImageDownloader.m; sourceTree = "<group>"; };
210 + E6D8DED227A942910006A3A9 /* AFSecurityPolicy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFSecurityPolicy.h; sourceTree = "<group>"; };
211 + E6D8DED327A942910006A3A9 /* AFNetworkReachabilityManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFNetworkReachabilityManager.h; sourceTree = "<group>"; };
212 + E6D8DED427A942910006A3A9 /* AFURLSessionManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFURLSessionManager.h; sourceTree = "<group>"; };
213 + E6D8DED527A942910006A3A9 /* AFURLRequestSerialization.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFURLRequestSerialization.h; sourceTree = "<group>"; };
214 + E6D8DED627A942910006A3A9 /* AFURLResponseSerialization.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFURLResponseSerialization.m; sourceTree = "<group>"; };
215 + E6D8DED727A942910006A3A9 /* AFHTTPSessionManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFHTTPSessionManager.m; sourceTree = "<group>"; };
216 + E6D8DED827A942910006A3A9 /* AFURLResponseSerialization.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFURLResponseSerialization.h; sourceTree = "<group>"; };
217 + E6D8DED927A942910006A3A9 /* AFURLSessionManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFURLSessionManager.m; sourceTree = "<group>"; };
218 + E6D8DEDA27A942910006A3A9 /* AFURLRequestSerialization.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFURLRequestSerialization.m; sourceTree = "<group>"; };
219 + E6D8DEDB27A942910006A3A9 /* AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFNetworking.h; sourceTree = "<group>"; };
220 + E6D8DEDC27A942910006A3A9 /* AFNetworkReachabilityManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFNetworkReachabilityManager.m; sourceTree = "<group>"; };
221 + E6D8DEDD27A942910006A3A9 /* AFSecurityPolicy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFSecurityPolicy.m; sourceTree = "<group>"; };
222 + E6D8DEDE27A942910006A3A9 /* AFHTTPSessionManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFHTTPSessionManager.h; sourceTree = "<group>"; };
223 + E6D8DEE027A942910006A3A9 /* FMDatabase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FMDatabase.h; sourceTree = "<group>"; };
224 + E6D8DEE127A942910006A3A9 /* FMDatabaseQueue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FMDatabaseQueue.m; sourceTree = "<group>"; };
225 + E6D8DEE227A942910006A3A9 /* FMResultSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FMResultSet.h; sourceTree = "<group>"; };
226 + E6D8DEE327A942910006A3A9 /* FMDatabasePool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FMDatabasePool.h; sourceTree = "<group>"; };
227 + E6D8DEE427A942910006A3A9 /* FMDatabaseAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FMDatabaseAdditions.m; sourceTree = "<group>"; };
228 + E6D8DEE527A942910006A3A9 /* FMDatabase.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FMDatabase.m; sourceTree = "<group>"; };
229 + E6D8DEE627A942910006A3A9 /* FMDatabaseQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FMDatabaseQueue.h; sourceTree = "<group>"; };
230 + E6D8DEE727A942910006A3A9 /* FMDB.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FMDB.h; sourceTree = "<group>"; };
231 + E6D8DEE827A942910006A3A9 /* FMDatabaseAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FMDatabaseAdditions.h; sourceTree = "<group>"; };
232 + E6D8DEE927A942910006A3A9 /* FMDatabasePool.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FMDatabasePool.m; sourceTree = "<group>"; };
233 + E6D8DEEA27A942910006A3A9 /* FMResultSet.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FMResultSet.m; sourceTree = "<group>"; };
234 + E6D8DEEB27A942910006A3A9 /* WLEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WLEvent.h; sourceTree = "<group>"; };
235 + E6D8DEEC27A942910006A3A9 /* Warply.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Warply.h; sourceTree = "<group>"; };
236 +/* End PBXFileReference section */
237 +
238 +/* Begin PBXFrameworksBuildPhase section */
239 + E6D8DE6527A942010006A3A9 /* Frameworks */ = {
240 + isa = PBXFrameworksBuildPhase;
241 + buildActionMask = 2147483647;
242 + files = (
243 + );
244 + runOnlyForDeploymentPostprocessing = 0;
245 + };
246 +/* End PBXFrameworksBuildPhase section */
247 +
248 +/* Begin PBXGroup section */
249 + 9C6080DEB815BBC562F23AB4 /* Frameworks */ = {
250 + isa = PBXGroup;
251 + children = (
252 + );
253 + name = Frameworks;
254 + sourceTree = "<group>";
255 + };
256 + A06A3BF5288B272700C8DED5 /* Classes */ = {
257 + isa = PBXGroup;
258 + children = (
259 + E6D8DE7427A942910006A3A9 /* Helpers */,
260 + E6D8DE7727A942910006A3A9 /* Warply */,
261 + );
262 + name = Classes;
263 + sourceTree = "<group>";
264 + };
265 + E6D8DE5E27A942000006A3A9 = {
266 + isa = PBXGroup;
267 + children = (
268 + A06A3BF5288B272700C8DED5 /* Classes */,
269 + E6D8DE6927A942010006A3A9 /* Products */,
270 + 9C6080DEB815BBC562F23AB4 /* Frameworks */,
271 + );
272 + sourceTree = "<group>";
273 + };
274 + E6D8DE6927A942010006A3A9 /* Products */ = {
275 + isa = PBXGroup;
276 + children = (
277 + E6D8DE6827A942010006A3A9 /* WarplySDKFrameworkIOS.framework */,
278 + );
279 + name = Products;
280 + sourceTree = "<group>";
281 + };
282 + E6D8DE7427A942910006A3A9 /* Helpers */ = {
283 + isa = PBXGroup;
284 + children = (
285 + E6D8DE7527A942910006A3A9 /* WarplyReactMethods.m */,
286 + E6D8DE7627A942910006A3A9 /* WarplyReactMethods.h */,
287 + );
288 + path = Helpers;
289 + sourceTree = SOURCE_ROOT;
290 + };
291 + E6D8DE7727A942910006A3A9 /* Warply */ = {
292 + isa = PBXGroup;
293 + children = (
294 + E6D8DE7827A942910006A3A9 /* nativeAds */,
295 + E6D8DE8A27A942910006A3A9 /* inbox */,
296 + E6D8DE9627A942910006A3A9 /* resources */,
297 + E6D8DE9D27A942910006A3A9 /* managers */,
298 + E6D8DEA827A942910006A3A9 /* foundation */,
299 + E6D8DEAE27A942910006A3A9 /* actions */,
300 + E6D8DEB627A942910006A3A9 /* external */,
301 + E6D8DEB527A942910006A3A9 /* WLGlobals.h */,
302 + E6D8DEEB27A942910006A3A9 /* WLEvent.h */,
303 + E6D8DE9527A942910006A3A9 /* WLEvent.m */,
304 + E6D8DEEC27A942910006A3A9 /* Warply.h */,
305 + E6D8DEAD27A942910006A3A9 /* Warply.m */,
306 + A06A3BED288B149E00C8DED5 /* WLConfig.h */,
307 + A06A3BEE288B149E00C8DED5 /* WLConfig.m */,
308 + A06A3BF3288B1D2100C8DED5 /* WarplySDKFrameworkIOS.h */,
309 + );
310 + path = Warply;
311 + sourceTree = SOURCE_ROOT;
312 + };
313 + E6D8DE7827A942910006A3A9 /* nativeAds */ = {
314 + isa = PBXGroup;
315 + children = (
316 + E6D8DE7927A942910006A3A9 /* WLNativeAdCollectionViewCell.h */,
317 + E6D8DE7A27A942910006A3A9 /* WLNativeVideoTableViewCell.xib */,
318 + E6D8DE7B27A942910006A3A9 /* WLNativeAdTableViewCell.h */,
319 + E6D8DE7C27A942910006A3A9 /* WLNativeVideoTableViewCell.m */,
320 + E6D8DE7D27A942910006A3A9 /* WLCustomNativeCollectionViewCell.m */,
321 + E6D8DE7E27A942910006A3A9 /* WLNativeAdsTableMode.m */,
322 + E6D8DE7F27A942910006A3A9 /* WLCustomNativeAdTableViewCell.h */,
323 + E6D8DE8027A942910006A3A9 /* WLNativeAdsCollectionMode.m */,
324 + E6D8DE8127A942910006A3A9 /* WLNativeAdTableViewCell.m */,
325 + E6D8DE8227A942910006A3A9 /* WLNativeAdCollectionViewCell.m */,
326 + E6D8DE8327A942910006A3A9 /* WLNativeAdTableViewCell.xib */,
327 + E6D8DE8427A942910006A3A9 /* WLNativeAdCollectionViewCell.xib */,
328 + E6D8DE8527A942910006A3A9 /* WLCustomNativeAdTableViewCell.m */,
329 + E6D8DE8627A942910006A3A9 /* WLNativeAdsTableMode.h */,
330 + E6D8DE8727A942910006A3A9 /* WLCustomNativeCollectionViewCell.h */,
331 + E6D8DE8827A942910006A3A9 /* WLNativeVideoTableViewCell.h */,
332 + E6D8DE8927A942910006A3A9 /* WLNativeAdsCollectionMode.h */,
333 + );
334 + path = nativeAds;
335 + sourceTree = "<group>";
336 + };
337 + E6D8DE8A27A942910006A3A9 /* inbox */ = {
338 + isa = PBXGroup;
339 + children = (
340 + E6D8DE8B27A942910006A3A9 /* WLBeacon.h */,
341 + E6D8DE8C27A942910006A3A9 /* WLBaseItem.h */,
342 + E6D8DE8D27A942910006A3A9 /* WLInboxItemViewController.h */,
343 + E6D8DE8E27A942910006A3A9 /* WLInboxItem.m */,
344 + E6D8DE8F27A942910006A3A9 /* WLAPSItem.h */,
345 + E6D8DE9027A942910006A3A9 /* WLBeacon.m */,
346 + E6D8DE9127A942910006A3A9 /* WLInboxItemViewController.m */,
347 + E6D8DE9227A942910006A3A9 /* WLBaseItem.m */,
348 + E6D8DE9327A942910006A3A9 /* WLInboxItem.h */,
349 + E6D8DE9427A942910006A3A9 /* WLAPSItem.m */,
350 + );
351 + path = inbox;
352 + sourceTree = "<group>";
353 + };
354 + E6D8DE9627A942910006A3A9 /* resources */ = {
355 + isa = PBXGroup;
356 + children = (
357 + E6D8DE9727A942910006A3A9 /* warp_white_back_button@2x.png */,
358 + E6D8DE9827A942910006A3A9 /* warp_white_forward_button.png */,
359 + E6D8DE9927A942910006A3A9 /* warp_white_back_button.png */,
360 + E6D8DE9A27A942910006A3A9 /* warp_white_close_button@2x.png */,
361 + E6D8DE9B27A942910006A3A9 /* warp_white_forward_button@2x.png */,
362 + E6D8DE9C27A942910006A3A9 /* warp_white_close_button.png */,
363 + );
364 + path = resources;
365 + sourceTree = "<group>";
366 + };
367 + E6D8DE9D27A942910006A3A9 /* managers */ = {
368 + isa = PBXGroup;
369 + children = (
370 + E6D8DE9E27A942910006A3A9 /* WLPushManager.m */,
371 + E6D8DE9F27A942910006A3A9 /* WLBeaconManager.m */,
372 + E6D8DEA027A942910006A3A9 /* WLLocationManager.m */,
373 + E6D8DEA127A942910006A3A9 /* WLAnalyticsManager.h */,
374 + E6D8DEA227A942910006A3A9 /* WLUserManager.h */,
375 + E6D8DEA327A942910006A3A9 /* WLBeaconManager.h */,
376 + E6D8DEA427A942910006A3A9 /* WLPushManager.h */,
377 + E6D8DEA527A942910006A3A9 /* WLAnalyticsManager.m */,
378 + E6D8DEA627A942910006A3A9 /* WLLocationManager.h */,
379 + E6D8DEA727A942910006A3A9 /* WLUserManager.m */,
380 + );
381 + path = managers;
382 + sourceTree = "<group>";
383 + };
384 + E6D8DEA827A942910006A3A9 /* foundation */ = {
385 + isa = PBXGroup;
386 + children = (
387 + E6D8DEAA27A942910006A3A9 /* UIViewController+WLAdditions.h */,
388 + E6D8DEAB27A942910006A3A9 /* UIViewController+WLAdditions.m */,
389 + E6D8DEAC27A942910006A3A9 /* WLUtils.h */,
390 + E6D8DEA927A942910006A3A9 /* WLUtils.m */,
391 + );
392 + path = foundation;
393 + sourceTree = "<group>";
394 + };
395 + E6D8DEAE27A942910006A3A9 /* actions */ = {
396 + isa = PBXGroup;
397 + children = (
398 + E6D8DEAF27A942910006A3A9 /* WLAPPActionHandler.m */,
399 + E6D8DEB027A942910006A3A9 /* WLSMSActionHanlder.h */,
400 + E6D8DEB127A942910006A3A9 /* WLSMSActionHandlerDeprecated.m */,
401 + E6D8DEB227A942910006A3A9 /* WLSMSActionHandlerDeprecated.h */,
402 + E6D8DEB327A942910006A3A9 /* WLSMSActionHanlder.m */,
403 + E6D8DEB427A942910006A3A9 /* WLAPPActionHandler.h */,
404 + );
405 + path = actions;
406 + sourceTree = "<group>";
407 + };
408 + E6D8DEB627A942910006A3A9 /* external */ = {
409 + isa = PBXGroup;
410 + children = (
411 + E6D8DEB727A942910006A3A9 /* sstoolkit */,
412 + E6D8DEBC27A942910006A3A9 /* UIKit+AFNetworking */,
413 + E6D8DED127A942910006A3A9 /* AFNetworking */,
414 + E6D8DEDF27A942910006A3A9 /* fmdb */,
415 + );
416 + path = external;
417 + sourceTree = "<group>";
418 + };
419 + E6D8DEB727A942910006A3A9 /* sstoolkit */ = {
420 + isa = PBXGroup;
421 + children = (
422 + E6D8DEB827A942910006A3A9 /* NSString+SSToolkitAdditions.h */,
423 + E6D8DEB927A942910006A3A9 /* NSData+SSToolkitAdditions.m */,
424 + E6D8DEBA27A942910006A3A9 /* NSData+SSToolkitAdditions.h */,
425 + E6D8DEBB27A942910006A3A9 /* NSString+SSToolkitAdditions.m */,
426 + );
427 + path = sstoolkit;
428 + sourceTree = "<group>";
429 + };
430 + E6D8DEBC27A942910006A3A9 /* UIKit+AFNetworking */ = {
431 + isa = PBXGroup;
432 + children = (
433 + E6D8DEBD27A942910006A3A9 /* UIProgressView+AFNetworking.m */,
434 + E6D8DEBE27A942910006A3A9 /* UIButton+AFNetworking.h */,
435 + E6D8DEBF27A942910006A3A9 /* UIRefreshControl+AFNetworking.m */,
436 + E6D8DEC027A942910006A3A9 /* UIImageView+AFNetworking.h */,
437 + E6D8DEC127A942910006A3A9 /* AFImageDownloader.h */,
438 + E6D8DEC227A942910006A3A9 /* AFNetworkActivityIndicatorManager.m */,
439 + E6D8DEC327A942910006A3A9 /* AFAutoPurgingImageCache.h */,
440 + E6D8DEC427A942910006A3A9 /* UIWebView+AFNetworking.h */,
441 + E6D8DEC527A942910006A3A9 /* UIActivityIndicatorView+AFNetworking.h */,
442 + E6D8DEC627A942910006A3A9 /* UIImage+AFNetworking.h */,
443 + E6D8DEC727A942910006A3A9 /* UIProgressView+AFNetworking.h */,
444 + E6D8DEC827A942910006A3A9 /* UIImageView+AFNetworking.m */,
445 + E6D8DEC927A942910006A3A9 /* UIKit+AFNetworking.h */,
446 + E6D8DECA27A942910006A3A9 /* UIRefreshControl+AFNetworking.h */,
447 + E6D8DECB27A942910006A3A9 /* UIButton+AFNetworking.m */,
448 + E6D8DECC27A942910006A3A9 /* UIActivityIndicatorView+AFNetworking.m */,
449 + E6D8DECD27A942910006A3A9 /* UIWebView+AFNetworking.m */,
450 + E6D8DECE27A942910006A3A9 /* AFAutoPurgingImageCache.m */,
451 + E6D8DECF27A942910006A3A9 /* AFNetworkActivityIndicatorManager.h */,
452 + E6D8DED027A942910006A3A9 /* AFImageDownloader.m */,
453 + );
454 + path = "UIKit+AFNetworking";
455 + sourceTree = "<group>";
456 + };
457 + E6D8DED127A942910006A3A9 /* AFNetworking */ = {
458 + isa = PBXGroup;
459 + children = (
460 + E6D8DED227A942910006A3A9 /* AFSecurityPolicy.h */,
461 + E6D8DED327A942910006A3A9 /* AFNetworkReachabilityManager.h */,
462 + E6D8DED427A942910006A3A9 /* AFURLSessionManager.h */,
463 + E6D8DED527A942910006A3A9 /* AFURLRequestSerialization.h */,
464 + E6D8DED627A942910006A3A9 /* AFURLResponseSerialization.m */,
465 + E6D8DED727A942910006A3A9 /* AFHTTPSessionManager.m */,
466 + E6D8DED827A942910006A3A9 /* AFURLResponseSerialization.h */,
467 + E6D8DED927A942910006A3A9 /* AFURLSessionManager.m */,
468 + E6D8DEDA27A942910006A3A9 /* AFURLRequestSerialization.m */,
469 + E6D8DEDB27A942910006A3A9 /* AFNetworking.h */,
470 + E6D8DEDC27A942910006A3A9 /* AFNetworkReachabilityManager.m */,
471 + E6D8DEDD27A942910006A3A9 /* AFSecurityPolicy.m */,
472 + E6D8DEDE27A942910006A3A9 /* AFHTTPSessionManager.h */,
473 + );
474 + path = AFNetworking;
475 + sourceTree = "<group>";
476 + };
477 + E6D8DEDF27A942910006A3A9 /* fmdb */ = {
478 + isa = PBXGroup;
479 + children = (
480 + E6D8DEE027A942910006A3A9 /* FMDatabase.h */,
481 + E6D8DEE127A942910006A3A9 /* FMDatabaseQueue.m */,
482 + E6D8DEE227A942910006A3A9 /* FMResultSet.h */,
483 + E6D8DEE327A942910006A3A9 /* FMDatabasePool.h */,
484 + E6D8DEE427A942910006A3A9 /* FMDatabaseAdditions.m */,
485 + E6D8DEE527A942910006A3A9 /* FMDatabase.m */,
486 + E6D8DEE627A942910006A3A9 /* FMDatabaseQueue.h */,
487 + E6D8DEE727A942910006A3A9 /* FMDB.h */,
488 + E6D8DEE827A942910006A3A9 /* FMDatabaseAdditions.h */,
489 + E6D8DEE927A942910006A3A9 /* FMDatabasePool.m */,
490 + E6D8DEEA27A942910006A3A9 /* FMResultSet.m */,
491 + );
492 + path = fmdb;
493 + sourceTree = "<group>";
494 + };
495 +/* End PBXGroup section */
496 +
497 +/* Begin PBXHeadersBuildPhase section */
498 + E6D8DE6327A942010006A3A9 /* Headers */ = {
499 + isa = PBXHeadersBuildPhase;
500 + buildActionMask = 2147483647;
501 + files = (
502 + E6D8DF5927A942920006A3A9 /* Warply.h in Headers */,
503 + E6D8DF1F27A942920006A3A9 /* WLUtils.h in Headers */,
504 + E6D8DEEF27A942920006A3A9 /* WarplyReactMethods.h in Headers */,
505 + E6D8DF0027A942920006A3A9 /* WLNativeAdsCollectionMode.h in Headers */,
506 + E6D8DF3027A942920006A3A9 /* AFImageDownloader.h in Headers */,
507 + A06A3BF4288B1D2100C8DED5 /* WarplySDKFrameworkIOS.h in Headers */,
508 + E6D8DF4927A942920006A3A9 /* AFNetworking.h in Headers */,
509 + E6D8DF5827A942920006A3A9 /* WLEvent.h in Headers */,
510 + E6D8DF3927A942920006A3A9 /* UIRefreshControl+AFNetworking.h in Headers */,
511 + E6D8DF1A27A942920006A3A9 /* WLLocationManager.h in Headers */,
512 + E6D8DF2827A942920006A3A9 /* NSString+SSToolkitAdditions.h in Headers */,
513 + E6D8DF1627A942920006A3A9 /* WLUserManager.h in Headers */,
514 + E6D8DF2D27A942920006A3A9 /* UIButton+AFNetworking.h in Headers */,
515 + E6D8DF2A27A942920006A3A9 /* NSData+SSToolkitAdditions.h in Headers */,
516 + E6D8DF4027A942920006A3A9 /* AFSecurityPolicy.h in Headers */,
517 + E6D8DF3427A942920006A3A9 /* UIActivityIndicatorView+AFNetworking.h in Headers */,
518 + E6D8DF2F27A942920006A3A9 /* UIImageView+AFNetworking.h in Headers */,
519 + E6D8DF5327A942920006A3A9 /* FMDatabaseQueue.h in Headers */,
520 + E6D8DF1827A942920006A3A9 /* WLPushManager.h in Headers */,
521 + E6D8DF5427A942920006A3A9 /* FMDB.h in Headers */,
522 + E6D8DF0327A942920006A3A9 /* WLInboxItemViewController.h in Headers */,
523 + E6D8DEF627A942920006A3A9 /* WLCustomNativeAdTableViewCell.h in Headers */,
524 + E6D8DF4D27A942920006A3A9 /* FMDatabase.h in Headers */,
525 + E6D8DF0127A942920006A3A9 /* WLBeacon.h in Headers */,
526 + E6D8DF4C27A942920006A3A9 /* AFHTTPSessionManager.h in Headers */,
527 + E6D8DF1727A942920006A3A9 /* WLBeaconManager.h in Headers */,
528 + E6D8DF4127A942920006A3A9 /* AFNetworkReachabilityManager.h in Headers */,
529 + E6D8DF0527A942920006A3A9 /* WLAPSItem.h in Headers */,
530 + E6D8DF1D27A942920006A3A9 /* UIViewController+WLAdditions.h in Headers */,
531 + E6D8DEF227A942920006A3A9 /* WLNativeAdTableViewCell.h in Headers */,
532 + E6D8DF5527A942920006A3A9 /* FMDatabaseAdditions.h in Headers */,
533 + E6D8DF5027A942920006A3A9 /* FMDatabasePool.h in Headers */,
534 + E6D8DF2727A942920006A3A9 /* WLGlobals.h in Headers */,
535 + E6D8DF0227A942920006A3A9 /* WLBaseItem.h in Headers */,
536 + A06A3BEF288B149E00C8DED5 /* WLConfig.h in Headers */,
537 + E6D8DF3527A942920006A3A9 /* UIImage+AFNetworking.h in Headers */,
538 + E6D8DF3827A942920006A3A9 /* UIKit+AFNetworking.h in Headers */,
539 + E6D8DF4F27A942920006A3A9 /* FMResultSet.h in Headers */,
540 + E6D8DEFD27A942920006A3A9 /* WLNativeAdsTableMode.h in Headers */,
541 + E6D8DF2427A942920006A3A9 /* WLSMSActionHandlerDeprecated.h in Headers */,
542 + E6D8DF3627A942920006A3A9 /* UIProgressView+AFNetworking.h in Headers */,
543 + E6D8DEF027A942920006A3A9 /* WLNativeAdCollectionViewCell.h in Headers */,
544 + E6D8DF4327A942920006A3A9 /* AFURLRequestSerialization.h in Headers */,
545 + E6D8DF2227A942920006A3A9 /* WLSMSActionHanlder.h in Headers */,
546 + E6D8DF2627A942920006A3A9 /* WLAPPActionHandler.h in Headers */,
547 + E6D8DF4227A942920006A3A9 /* AFURLSessionManager.h in Headers */,
548 + E6D8DF1527A942920006A3A9 /* WLAnalyticsManager.h in Headers */,
549 + E6D8DF3227A942920006A3A9 /* AFAutoPurgingImageCache.h in Headers */,
550 + E6D8DEFE27A942920006A3A9 /* WLCustomNativeCollectionViewCell.h in Headers */,
551 + E6D8DF0927A942920006A3A9 /* WLInboxItem.h in Headers */,
552 + E6D8DEFF27A942920006A3A9 /* WLNativeVideoTableViewCell.h in Headers */,
553 + E6D8DF3E27A942920006A3A9 /* AFNetworkActivityIndicatorManager.h in Headers */,
554 + E6D8DF3327A942920006A3A9 /* UIWebView+AFNetworking.h in Headers */,
555 + E6D8DF4627A942920006A3A9 /* AFURLResponseSerialization.h in Headers */,
556 + );
557 + runOnlyForDeploymentPostprocessing = 0;
558 + };
559 +/* End PBXHeadersBuildPhase section */
560 +
561 +/* Begin PBXNativeTarget section */
562 + E6D8DE6727A942010006A3A9 /* WarplySDKFrameworkIOS */ = {
563 + isa = PBXNativeTarget;
564 + buildConfigurationList = E6D8DE7127A942010006A3A9 /* Build configuration list for PBXNativeTarget "WarplySDKFrameworkIOS" */;
565 + buildPhases = (
566 + E6D8DE6327A942010006A3A9 /* Headers */,
567 + E6D8DE6427A942010006A3A9 /* Sources */,
568 + E6D8DE6527A942010006A3A9 /* Frameworks */,
569 + E6D8DE6627A942010006A3A9 /* Resources */,
570 + );
571 + buildRules = (
572 + );
573 + dependencies = (
574 + );
575 + name = WarplySDKFrameworkIOS;
576 + packageProductDependencies = (
577 + );
578 + productName = WarplySDKFrameworkIOS;
579 + productReference = E6D8DE6827A942010006A3A9 /* WarplySDKFrameworkIOS.framework */;
580 + productType = "com.apple.product-type.framework";
581 + };
582 +/* End PBXNativeTarget section */
583 +
584 +/* Begin PBXProject section */
585 + E6D8DE5F27A942010006A3A9 /* Project object */ = {
586 + isa = PBXProject;
587 + attributes = {
588 + BuildIndependentTargetsInParallel = 1;
589 + LastUpgradeCheck = 1340;
590 + TargetAttributes = {
591 + E6D8DE6727A942010006A3A9 = {
592 + CreatedOnToolsVersion = 13.1;
593 + LastSwiftMigration = 1310;
594 + };
595 + };
596 + };
597 + buildConfigurationList = E6D8DE6227A942010006A3A9 /* Build configuration list for PBXProject "WarplySDKFrameworkIOS" */;
598 + compatibilityVersion = "Xcode 13.0";
599 + developmentRegion = en;
600 + hasScannedForEncodings = 0;
601 + knownRegions = (
602 + en,
603 + Base,
604 + );
605 + mainGroup = E6D8DE5E27A942000006A3A9;
606 + packageReferences = (
607 + );
608 + productRefGroup = E6D8DE6927A942010006A3A9 /* Products */;
609 + projectDirPath = "";
610 + projectRoot = "";
611 + targets = (
612 + E6D8DE6727A942010006A3A9 /* WarplySDKFrameworkIOS */,
613 + );
614 + };
615 +/* End PBXProject section */
616 +
617 +/* Begin PBXResourcesBuildPhase section */
618 + E6D8DE6627A942010006A3A9 /* Resources */ = {
619 + isa = PBXResourcesBuildPhase;
620 + buildActionMask = 2147483647;
621 + files = (
622 + E6D8DF1127A942920006A3A9 /* warp_white_close_button.png in Resources */,
623 + E6D8DF0E27A942920006A3A9 /* warp_white_back_button.png in Resources */,
624 + E6D8DF0F27A942920006A3A9 /* warp_white_close_button@2x.png in Resources */,
625 + E6D8DF0D27A942920006A3A9 /* warp_white_forward_button.png in Resources */,
626 + E6D8DEFA27A942920006A3A9 /* WLNativeAdTableViewCell.xib in Resources */,
627 + E6D8DF1027A942920006A3A9 /* warp_white_forward_button@2x.png in Resources */,
628 + E6D8DEF127A942920006A3A9 /* WLNativeVideoTableViewCell.xib in Resources */,
629 + E6D8DEFB27A942920006A3A9 /* WLNativeAdCollectionViewCell.xib in Resources */,
630 + E6D8DF0C27A942920006A3A9 /* warp_white_back_button@2x.png in Resources */,
631 + );
632 + runOnlyForDeploymentPostprocessing = 0;
633 + };
634 +/* End PBXResourcesBuildPhase section */
635 +
636 +/* Begin PBXSourcesBuildPhase section */
637 + E6D8DE6427A942010006A3A9 /* Sources */ = {
638 + isa = PBXSourcesBuildPhase;
639 + buildActionMask = 2147483647;
640 + files = (
641 + E6D8DF0B27A942920006A3A9 /* WLEvent.m in Sources */,
642 + E6D8DF1E27A942920006A3A9 /* UIViewController+WLAdditions.m in Sources */,
643 + E6D8DF2E27A942920006A3A9 /* UIRefreshControl+AFNetworking.m in Sources */,
644 + E6D8DF4827A942920006A3A9 /* AFURLRequestSerialization.m in Sources */,
645 + E6D8DEF327A942920006A3A9 /* WLNativeVideoTableViewCell.m in Sources */,
646 + E6D8DF2527A942920006A3A9 /* WLSMSActionHanlder.m in Sources */,
647 + E6D8DF5727A942920006A3A9 /* FMResultSet.m in Sources */,
648 + E6D8DF3A27A942920006A3A9 /* UIButton+AFNetworking.m in Sources */,
649 + E6D8DF0627A942920006A3A9 /* WLBeacon.m in Sources */,
650 + E6D8DF2927A942920006A3A9 /* NSData+SSToolkitAdditions.m in Sources */,
651 + E6D8DEFC27A942920006A3A9 /* WLCustomNativeAdTableViewCell.m in Sources */,
652 + E6D8DF4A27A942920006A3A9 /* AFNetworkReachabilityManager.m in Sources */,
653 + E6D8DF4B27A942920006A3A9 /* AFSecurityPolicy.m in Sources */,
654 + E6D8DF1327A942920006A3A9 /* WLBeaconManager.m in Sources */,
655 + E6D8DF0427A942920006A3A9 /* WLInboxItem.m in Sources */,
656 + E6D8DF5127A942920006A3A9 /* FMDatabaseAdditions.m in Sources */,
657 + E6D8DF2127A942920006A3A9 /* WLAPPActionHandler.m in Sources */,
658 + E6D8DF5627A942920006A3A9 /* FMDatabasePool.m in Sources */,
659 + E6D8DF4527A942920006A3A9 /* AFHTTPSessionManager.m in Sources */,
660 + E6D8DF3B27A942920006A3A9 /* UIActivityIndicatorView+AFNetworking.m in Sources */,
661 + E6D8DF3727A942920006A3A9 /* UIImageView+AFNetworking.m in Sources */,
662 + E6D8DF3127A942920006A3A9 /* AFNetworkActivityIndicatorManager.m in Sources */,
663 + E6D8DF3D27A942920006A3A9 /* AFAutoPurgingImageCache.m in Sources */,
664 + E6D8DF0A27A942920006A3A9 /* WLAPSItem.m in Sources */,
665 + E6D8DF2C27A942920006A3A9 /* UIProgressView+AFNetworking.m in Sources */,
666 + E6D8DF3C27A942920006A3A9 /* UIWebView+AFNetworking.m in Sources */,
667 + E6D8DF1427A942920006A3A9 /* WLLocationManager.m in Sources */,
668 + E6D8DF3F27A942920006A3A9 /* AFImageDownloader.m in Sources */,
669 + E6D8DEF727A942920006A3A9 /* WLNativeAdsCollectionMode.m in Sources */,
670 + E6D8DEF427A942920006A3A9 /* WLCustomNativeCollectionViewCell.m in Sources */,
671 + A06A3BF0288B149E00C8DED5 /* WLConfig.m in Sources */,
672 + E6D8DF2B27A942920006A3A9 /* NSString+SSToolkitAdditions.m in Sources */,
673 + E6D8DF4727A942920006A3A9 /* AFURLSessionManager.m in Sources */,
674 + E6D8DF1927A942920006A3A9 /* WLAnalyticsManager.m in Sources */,
675 + E6D8DF5227A942920006A3A9 /* FMDatabase.m in Sources */,
676 + E6D8DF1227A942920006A3A9 /* WLPushManager.m in Sources */,
677 + E6D8DEF827A942920006A3A9 /* WLNativeAdTableViewCell.m in Sources */,
678 + E6D8DF4427A942920006A3A9 /* AFURLResponseSerialization.m in Sources */,
679 + E6D8DEF527A942920006A3A9 /* WLNativeAdsTableMode.m in Sources */,
680 + E6D8DF1C27A942920006A3A9 /* WLUtils.m in Sources */,
681 + E6D8DF1B27A942920006A3A9 /* WLUserManager.m in Sources */,
682 + E6D8DF2027A942920006A3A9 /* Warply.m in Sources */,
683 + E6D8DF2327A942920006A3A9 /* WLSMSActionHandlerDeprecated.m in Sources */,
684 + E6D8DEEE27A942920006A3A9 /* WarplyReactMethods.m in Sources */,
685 + E6D8DEF927A942920006A3A9 /* WLNativeAdCollectionViewCell.m in Sources */,
686 + E6D8DF4E27A942920006A3A9 /* FMDatabaseQueue.m in Sources */,
687 + E6D8DF0827A942920006A3A9 /* WLBaseItem.m in Sources */,
688 + E6D8DF0727A942920006A3A9 /* WLInboxItemViewController.m in Sources */,
689 + );
690 + runOnlyForDeploymentPostprocessing = 0;
691 + };
692 +/* End PBXSourcesBuildPhase section */
693 +
694 +/* Begin XCBuildConfiguration section */
695 + E6D8DE6F27A942010006A3A9 /* Debug */ = {
696 + isa = XCBuildConfiguration;
697 + buildSettings = {
698 + ALWAYS_SEARCH_USER_PATHS = NO;
699 + CLANG_ANALYZER_NONNULL = YES;
700 + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
701 + CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
702 + CLANG_CXX_LIBRARY = "libc++";
703 + CLANG_ENABLE_MODULES = YES;
704 + CLANG_ENABLE_OBJC_ARC = YES;
705 + CLANG_ENABLE_OBJC_WEAK = YES;
706 + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
707 + CLANG_WARN_BOOL_CONVERSION = YES;
708 + CLANG_WARN_COMMA = YES;
709 + CLANG_WARN_CONSTANT_CONVERSION = YES;
710 + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
711 + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
712 + CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
713 + CLANG_WARN_EMPTY_BODY = YES;
714 + CLANG_WARN_ENUM_CONVERSION = YES;
715 + CLANG_WARN_INFINITE_RECURSION = YES;
716 + CLANG_WARN_INT_CONVERSION = YES;
717 + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
718 + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
719 + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
720 + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
721 + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
722 + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
723 + CLANG_WARN_STRICT_PROTOTYPES = YES;
724 + CLANG_WARN_SUSPICIOUS_MOVE = YES;
725 + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
726 + CLANG_WARN_UNREACHABLE_CODE = YES;
727 + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
728 + COPY_PHASE_STRIP = NO;
729 + CURRENT_PROJECT_VERSION = 1;
730 + DEBUG_INFORMATION_FORMAT = dwarf;
731 + ENABLE_STRICT_OBJC_MSGSEND = YES;
732 + ENABLE_TESTABILITY = YES;
733 + GCC_C_LANGUAGE_STANDARD = gnu11;
734 + GCC_DYNAMIC_NO_PIC = NO;
735 + GCC_NO_COMMON_BLOCKS = YES;
736 + GCC_OPTIMIZATION_LEVEL = 0;
737 + GCC_PREPROCESSOR_DEFINITIONS = (
738 + "DEBUG=1",
739 + "$(inherited)",
740 + );
741 + GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
742 + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
743 + GCC_WARN_UNDECLARED_SELECTOR = YES;
744 + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
745 + GCC_WARN_UNUSED_FUNCTION = YES;
746 + GCC_WARN_UNUSED_VARIABLE = YES;
747 + IPHONEOS_DEPLOYMENT_TARGET = 15.0;
748 + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
749 + MTL_FAST_MATH = YES;
750 + ONLY_ACTIVE_ARCH = YES;
751 + SDKROOT = iphoneos;
752 + VERSIONING_SYSTEM = "apple-generic";
753 + VERSION_INFO_PREFIX = "";
754 + };
755 + name = Debug;
756 + };
757 + E6D8DE7027A942010006A3A9 /* Release */ = {
758 + isa = XCBuildConfiguration;
759 + buildSettings = {
760 + ALWAYS_SEARCH_USER_PATHS = NO;
761 + CLANG_ANALYZER_NONNULL = YES;
762 + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
763 + CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
764 + CLANG_CXX_LIBRARY = "libc++";
765 + CLANG_ENABLE_MODULES = YES;
766 + CLANG_ENABLE_OBJC_ARC = YES;
767 + CLANG_ENABLE_OBJC_WEAK = YES;
768 + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
769 + CLANG_WARN_BOOL_CONVERSION = YES;
770 + CLANG_WARN_COMMA = YES;
771 + CLANG_WARN_CONSTANT_CONVERSION = YES;
772 + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
773 + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
774 + CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
775 + CLANG_WARN_EMPTY_BODY = YES;
776 + CLANG_WARN_ENUM_CONVERSION = YES;
777 + CLANG_WARN_INFINITE_RECURSION = YES;
778 + CLANG_WARN_INT_CONVERSION = YES;
779 + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
780 + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
781 + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
782 + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
783 + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
784 + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
785 + CLANG_WARN_STRICT_PROTOTYPES = YES;
786 + CLANG_WARN_SUSPICIOUS_MOVE = YES;
787 + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
788 + CLANG_WARN_UNREACHABLE_CODE = YES;
789 + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
790 + COPY_PHASE_STRIP = NO;
791 + CURRENT_PROJECT_VERSION = 1;
792 + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
793 + ENABLE_NS_ASSERTIONS = NO;
794 + ENABLE_STRICT_OBJC_MSGSEND = YES;
795 + GCC_C_LANGUAGE_STANDARD = gnu11;
796 + GCC_NO_COMMON_BLOCKS = YES;
797 + GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
798 + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
799 + GCC_WARN_UNDECLARED_SELECTOR = YES;
800 + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
801 + GCC_WARN_UNUSED_FUNCTION = YES;
802 + GCC_WARN_UNUSED_VARIABLE = YES;
803 + IPHONEOS_DEPLOYMENT_TARGET = 15.0;
804 + MTL_ENABLE_DEBUG_INFO = NO;
805 + MTL_FAST_MATH = YES;
806 + SDKROOT = iphoneos;
807 + VALIDATE_PRODUCT = YES;
808 + VERSIONING_SYSTEM = "apple-generic";
809 + VERSION_INFO_PREFIX = "";
810 + };
811 + name = Release;
812 + };
813 + E6D8DE7227A942010006A3A9 /* Debug */ = {
814 + isa = XCBuildConfiguration;
815 + buildSettings = {
816 + APPLICATION_EXTENSION_API_ONLY = NO;
817 + BUILD_LIBRARY_FOR_DISTRIBUTION = NO;
818 + CLANG_ENABLE_MODULES = YES;
819 + CODE_SIGN_STYLE = Automatic;
820 + CURRENT_PROJECT_VERSION = 1;
821 + DEFINES_MODULE = YES;
822 + DEVELOPMENT_TEAM = VW5AF53FLP;
823 + DYLIB_COMPATIBILITY_VERSION = 1;
824 + DYLIB_CURRENT_VERSION = 1;
825 + DYLIB_INSTALL_NAME_BASE = "@rpath";
826 + GENERATE_INFOPLIST_FILE = YES;
827 + INFOPLIST_KEY_NSHumanReadableCopyright = "";
828 + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
829 + IPHONEOS_DEPLOYMENT_TARGET = 11.0;
830 + LD_RUNPATH_SEARCH_PATHS = (
831 + "$(inherited)",
832 + "@executable_path/Frameworks",
833 + "@loader_path/Frameworks",
834 + );
835 + MARKETING_VERSION = 1.0;
836 + ONLY_ACTIVE_ARCH = YES;
837 + PRODUCT_BUNDLE_IDENTIFIER = framework.warp.ly.WarplySDKFrameworkIOS;
838 + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
839 + SKIP_INSTALL = YES;
840 + SUPPORTS_MACCATALYST = NO;
841 + SWIFT_EMIT_LOC_STRINGS = YES;
842 + SWIFT_OBJC_BRIDGING_HEADER = "";
843 + SWIFT_OPTIMIZATION_LEVEL = "-Onone";
844 + SWIFT_VERSION = 5.0;
845 + TARGETED_DEVICE_FAMILY = "1,2";
846 + VALIDATE_WORKSPACE = YES;
847 + };
848 + name = Debug;
849 + };
850 + E6D8DE7327A942010006A3A9 /* Release */ = {
851 + isa = XCBuildConfiguration;
852 + buildSettings = {
853 + APPLICATION_EXTENSION_API_ONLY = NO;
854 + BUILD_LIBRARY_FOR_DISTRIBUTION = NO;
855 + CLANG_ENABLE_MODULES = YES;
856 + CODE_SIGN_STYLE = Automatic;
857 + CURRENT_PROJECT_VERSION = 1;
858 + DEFINES_MODULE = YES;
859 + DEVELOPMENT_TEAM = VW5AF53FLP;
860 + DYLIB_COMPATIBILITY_VERSION = 1;
861 + DYLIB_CURRENT_VERSION = 1;
862 + DYLIB_INSTALL_NAME_BASE = "@rpath";
863 + GENERATE_INFOPLIST_FILE = YES;
864 + INFOPLIST_KEY_NSHumanReadableCopyright = "";
865 + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
866 + IPHONEOS_DEPLOYMENT_TARGET = 11.0;
867 + LD_RUNPATH_SEARCH_PATHS = (
868 + "$(inherited)",
869 + "@executable_path/Frameworks",
870 + "@loader_path/Frameworks",
871 + );
872 + MARKETING_VERSION = 1.0;
873 + ONLY_ACTIVE_ARCH = NO;
874 + PRODUCT_BUNDLE_IDENTIFIER = framework.warp.ly.WarplySDKFrameworkIOS;
875 + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
876 + SKIP_INSTALL = YES;
877 + SUPPORTS_MACCATALYST = NO;
878 + SWIFT_EMIT_LOC_STRINGS = YES;
879 + SWIFT_OBJC_BRIDGING_HEADER = "";
880 + SWIFT_VERSION = 5.0;
881 + TARGETED_DEVICE_FAMILY = "1,2";
882 + VALIDATE_WORKSPACE = YES;
883 + };
884 + name = Release;
885 + };
886 +/* End XCBuildConfiguration section */
887 +
888 +/* Begin XCConfigurationList section */
889 + E6D8DE6227A942010006A3A9 /* Build configuration list for PBXProject "WarplySDKFrameworkIOS" */ = {
890 + isa = XCConfigurationList;
891 + buildConfigurations = (
892 + E6D8DE6F27A942010006A3A9 /* Debug */,
893 + E6D8DE7027A942010006A3A9 /* Release */,
894 + );
895 + defaultConfigurationIsVisible = 0;
896 + defaultConfigurationName = Release;
897 + };
898 + E6D8DE7127A942010006A3A9 /* Build configuration list for PBXNativeTarget "WarplySDKFrameworkIOS" */ = {
899 + isa = XCConfigurationList;
900 + buildConfigurations = (
901 + E6D8DE7227A942010006A3A9 /* Debug */,
902 + E6D8DE7327A942010006A3A9 /* Release */,
903 + );
904 + defaultConfigurationIsVisible = 0;
905 + defaultConfigurationName = Release;
906 + };
907 +/* End XCConfigurationList section */
908 + };
909 + rootObject = E6D8DE5F27A942010006A3A9 /* Project object */;
910 +}
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<Workspace
3 + version = "1.0">
4 + <FileRef
5 + location = "self:">
6 + </FileRef>
7 +</Workspace>
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>