3100F4A7F7 /* RxSwift.framework */; };
|
239
|
+ 05DFDC01228BE80000F4A7F7 /* libWeChatSDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0572B2BF21E2FB3D00EAD2A2 /* libWeChatSDK.a */; };
|
|
240
|
+ 05DFDC02228BE81400F4A7F7 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 0505AD0421DF109E00404071 /* libz.tbd */; };
|
|
241
|
+ 05DFDC03228BE81C00F4A7F7 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0505AD0221DF108300404071 /* CFNetwork.framework */; };
|
|
242
|
+ 05DFDC04228BE82800F4A7F7 /* libsqlite3.0.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 0505ACFA21DF106000404071 /* libsqlite3.0.tbd */; };
|
|
243
|
+ 05DFDC05228BE83500F4A7F7 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0505AD0021DF107D00404071 /* CoreTelephony.framework */; };
|
|
244
|
+ 05DFDC06228BE83A00F4A7F7 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0505ACFE21DF107600404071 /* Security.framework */; };
|
|
245
|
+ 05DFDC07228BE84700F4A7F7 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 0505ACFC21DF106E00404071 /* libc++.tbd */; };
|
|
246
|
+ 05DFDC08228BE8C600F4A7F7 /* RxDataSources.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 05DFDBEB228BE53100F4A7F7 /* RxDataSources.framework */; };
|
254
|
247
|
05E80E3021DF65D5006368C4 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 05E80E2F21DF65D4006368C4 /* Assets.xcassets */; };
|
255
|
248
|
05ED11C52251A90000FF3758 /* PhotoPurchaseRemoteAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 05ED11C42251A90000FF3758 /* PhotoPurchaseRemoteAPI.swift */; };
|
256
|
249
|
05ED11C72252165700FF3758 /* Notification+wxPay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 05ED11C62252165700FF3758 /* Notification+wxPay.swift */; };
|
|
|
@@ -302,26 +295,25 @@
|
302
|
295
|
dstPath = "";
|
303
|
296
|
dstSubfolderSpec = 10;
|
304
|
297
|
files = (
|
305
|
|
- 050D719E22531BBF0076CE06 /* Differentiator.framework in Embed Frameworks */,
|
306
|
|
- 050D719D22531BA60076CE06 /* SQLite.framework in Embed Frameworks */,
|
307
|
|
- 050D719B22531B860076CE06 /* RxSwift.framework in Embed Frameworks */,
|
308
|
|
- 050D719922531B780076CE06 /* RxCocoa.framework in Embed Frameworks */,
|
309
|
|
- 050D719722531B650076CE06 /* PullToRefresh.framework in Embed Frameworks */,
|
310
|
|
- 050D719522531B520076CE06 /* ObjectMapper.framework in Embed Frameworks */,
|
311
|
|
- 050D719022531B180076CE06 /* Kingfisher.framework in Embed Frameworks */,
|
312
|
|
- 050D719222531B360076CE06 /* Alamofire.framework in Embed Frameworks */,
|
313
|
|
- 050D718E22531AF40076CE06 /* RxDataSources.framework in Embed Frameworks */,
|
314
|
|
- 050D7184225317AD0076CE06 /* PaiaiDataKit.framework in Embed Frameworks */,
|
|
298
|
+ 05B87D4F228E900A0098FE87 /* PaiaiDataKit.framework in Embed Frameworks */,
|
315
|
299
|
050D7188225317AD0076CE06 /* Paiai_iOS.framework in Embed Frameworks */,
|
316
|
300
|
050D7182225317AD0076CE06 /* PaiaiUIKit.framework in Embed Frameworks */,
|
317
|
301
|
);
|
318
|
302
|
name = "Embed Frameworks";
|
319
|
303
|
runOnlyForDeploymentPostprocessing = 0;
|
320
|
304
|
};
|
|
305
|
+ 05B87D5B228E94260098FE87 /* CopyFiles */ = {
|
|
306
|
+ isa = PBXCopyFilesBuildPhase;
|
|
307
|
+ buildActionMask = 2147483647;
|
|
308
|
+ dstPath = "";
|
|
309
|
+ dstSubfolderSpec = 10;
|
|
310
|
+ files = (
|
|
311
|
+ );
|
|
312
|
+ runOnlyForDeploymentPostprocessing = 0;
|
|
313
|
+ };
|
321
|
314
|
/* End PBXCopyFilesBuildPhase section */
|
322
|
315
|
|
323
|
316
|
/* Begin PBXFileReference section */
|
324
|
|
- 045F01541DED33DC00B80C87 /* Paiai.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Paiai.entitlements; sourceTree = "<group>"; };
|
325
|
317
|
0500C26421E8644E009A7013 /* NavigationBackViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavigationBackViewController.swift; sourceTree = "<group>"; };
|
326
|
318
|
0505ACF821DF104500404071 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
|
327
|
319
|
0505ACFA21DF106000404071 /* libsqlite3.0.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libsqlite3.0.tbd; path = usr/lib/libsqlite3.0.tbd; sourceTree = SDKROOT; };
|
|
|
@@ -334,15 +326,6 @@
|
334
|
326
|
0505B34F1F7E4B9A009E4ED2 /* NetworkApi.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkApi.swift; sourceTree = "<group>"; };
|
335
|
327
|
0506441E1F8D09C00035857E /* StatusModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StatusModel.swift; sourceTree = "<group>"; };
|
336
|
328
|
05087F6721B8F9530024A117 /* ContainerViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContainerViewController.swift; sourceTree = "<group>"; };
|
337
|
|
- 050D718D22531AF40076CE06 /* RxDataSources.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxDataSources.framework; path = Carthage/Build/iOS/RxDataSources.framework; sourceTree = "<group>"; };
|
338
|
|
- 050D718F22531B180076CE06 /* Kingfisher.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Kingfisher.framework; path = Carthage/Build/iOS/Kingfisher.framework; sourceTree = "<group>"; };
|
339
|
|
- 050D719122531B360076CE06 /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Alamofire.framework; path = Carthage/Build/iOS/Alamofire.framework; sourceTree = "<group>"; };
|
340
|
|
- 050D719322531B440076CE06 /* Kingfisher.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Kingfisher.framework; path = Carthage/Build/iOS/Kingfisher.framework; sourceTree = "<group>"; };
|
341
|
|
- 050D719422531B520076CE06 /* ObjectMapper.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ObjectMapper.framework; path = Carthage/Build/iOS/ObjectMapper.framework; sourceTree = "<group>"; };
|
342
|
|
- 050D719622531B650076CE06 /* PullToRefresh.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PullToRefresh.framework; path = Carthage/Build/iOS/PullToRefresh.framework; sourceTree = "<group>"; };
|
343
|
|
- 050D719822531B780076CE06 /* RxCocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxCocoa.framework; path = Carthage/Build/iOS/RxCocoa.framework; sourceTree = "<group>"; };
|
344
|
|
- 050D719A22531B860076CE06 /* RxSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxSwift.framework; path = Carthage/Build/iOS/RxSwift.framework; sourceTree = "<group>"; };
|
345
|
|
- 050D719C22531BA60076CE06 /* SQLite.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SQLite.framework; path = Carthage/Build/iOS/SQLite.framework; sourceTree = "<group>"; };
|
346
|
329
|
050E210F21B8CE8A008E1352 /* AppCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppCoordinator.swift; sourceTree = "<group>"; };
|
347
|
330
|
050E211121B8F2D4008E1352 /* HomeCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeCoordinator.swift; sourceTree = "<group>"; };
|
348
|
331
|
050E211321B8F39C008E1352 /* MineCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MineCoordinator.swift; sourceTree = "<group>"; };
|
|
|
@@ -372,17 +355,7 @@
|
372
|
355
|
05130FB421C9E7CE004EF1BE /* MessageItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageItem.swift; sourceTree = "<group>"; };
|
373
|
356
|
05130FB621C9E80F004EF1BE /* MessageListItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageListItem.swift; sourceTree = "<group>"; };
|
374
|
357
|
05130FBB21C9F707004EF1BE /* Cartfile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Cartfile; sourceTree = "<group>"; };
|
375
|
|
- 05130FBD21CA194B004EF1BE /* Differentiator.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Differentiator.framework; path = Carthage/Build/iOS/Differentiator.framework; sourceTree = "<group>"; };
|
376
|
|
- 05130FC221CA1997004EF1BE /* RxCocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxCocoa.framework; path = Carthage/Build/iOS/RxCocoa.framework; sourceTree = "<group>"; };
|
377
|
|
- 05130FC321CA1997004EF1BE /* RxSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxSwift.framework; path = Carthage/Build/iOS/RxSwift.framework; sourceTree = "<group>"; };
|
378
|
|
- 05130FC421CA1997004EF1BE /* RxDataSources.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxDataSources.framework; path = Carthage/Build/iOS/RxDataSources.framework; sourceTree = "<group>"; };
|
379
|
|
- 05130FC521CA1997004EF1BE /* RxBlocking.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxBlocking.framework; path = Carthage/Build/iOS/RxBlocking.framework; sourceTree = "<group>"; };
|
380
|
|
- 05130FC621CA1997004EF1BE /* RxAtomic.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxAtomic.framework; path = Carthage/Build/iOS/RxAtomic.framework; sourceTree = "<group>"; };
|
381
|
|
- 05130FC721CA1997004EF1BE /* RxTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxTest.framework; path = Carthage/Build/iOS/RxTest.framework; sourceTree = "<group>"; };
|
382
|
|
- 05130FC821CA1997004EF1BE /* SQLite.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SQLite.framework; path = Carthage/Build/iOS/SQLite.framework; sourceTree = "<group>"; };
|
383
|
|
- 05130FC921CA1997004EF1BE /* ObjectMapper.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ObjectMapper.framework; path = Carthage/Build/iOS/ObjectMapper.framework; sourceTree = "<group>"; };
|
384
|
358
|
0513105F21CA1E53004EF1BE /* UIStoryboardExt.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIStoryboardExt.swift; sourceTree = "<group>"; };
|
385
|
|
- 0513106121CA22B5004EF1BE /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Alamofire.framework; path = Carthage/Build/iOS/Alamofire.framework; sourceTree = "<group>"; };
|
386
|
359
|
0513106821CA34D6004EF1BE /* GroupDetailCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GroupDetailCoordinator.swift; sourceTree = "<group>"; };
|
387
|
360
|
0513106A21CA3545004EF1BE /* PhotoDetailCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhotoDetailCoordinator.swift; sourceTree = "<group>"; };
|
388
|
361
|
0513107221CA3907004EF1BE /* ActionSheetView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ActionSheetView.swift; sourceTree = "<group>"; };
|
|
|
@@ -395,13 +368,11 @@
|
395
|
368
|
0513109021CA3915004EF1BE /* NotificationExt.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NotificationExt.swift; sourceTree = "<group>"; };
|
396
|
369
|
0513109121CA3915004EF1BE /* QRCodeScanView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = QRCodeScanView.swift; sourceTree = "<group>"; };
|
397
|
370
|
0513109221CA3915004EF1BE /* QRCodeConfiguration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = QRCodeConfiguration.swift; sourceTree = "<group>"; };
|
398
|
|
- 051310B321CB5EC3004EF1BE /* Kingfisher.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Kingfisher.framework; path = Carthage/Build/iOS/Kingfisher.framework; sourceTree = "<group>"; };
|
399
|
371
|
051310B721CB6958004EF1BE /* UserInfoStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserInfoStore.swift; sourceTree = "<group>"; };
|
400
|
372
|
051310BF21CB6EF4004EF1BE /* UserInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserInfo.swift; sourceTree = "<group>"; };
|
401
|
373
|
051FA6682276FA4300A5ECC2 /* BaseCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BaseCoordinator.swift; sourceTree = "<group>"; };
|
402
|
374
|
051FA66B2277F03700A5ECC2 /* LoginCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginCoordinator.swift; sourceTree = "<group>"; };
|
403
|
375
|
0521145321F083F20047C55A /* ToastView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ToastView.swift; sourceTree = "<group>"; };
|
404
|
|
- 052BF1C721E344020010D270 /* PullToRefresh.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PullToRefresh.framework; path = Carthage/Build/iOS/PullToRefresh.framework; sourceTree = "<group>"; };
|
405
|
376
|
0530951A221AB3EC00408D34 /* GroupDetailMemeberView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GroupDetailMemeberView.swift; sourceTree = "<group>"; };
|
406
|
377
|
0535D6D821D32A89008D9403 /* WXUserInfoRemoteAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WXUserInfoRemoteAPI.swift; sourceTree = "<group>"; };
|
407
|
378
|
0535D6DA21D32A9E008D9403 /* GuestUserInfoRemoteAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GuestUserInfoRemoteAPI.swift; sourceTree = "<group>"; };
|
|
|
@@ -484,6 +455,8 @@
|
484
|
455
|
05B2C62A21D750F1008063B3 /* FeedbackRemoteAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedbackRemoteAPI.swift; sourceTree = "<group>"; };
|
485
|
456
|
05B2C62E21D754BD008063B3 /* GroupDetailRemoteAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GroupDetailRemoteAPI.swift; sourceTree = "<group>"; };
|
486
|
457
|
05B2C63021D75A1B008063B3 /* ContentResource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentResource.swift; sourceTree = "<group>"; };
|
|
458
|
+ 05B87D6C228E9F140098FE87 /* RxRelay.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxRelay.framework; path = Carthage/Build/iOS/RxRelay.framework; sourceTree = "<group>"; };
|
|
459
|
+ 05B87D6E228EA2820098FE87 /* Differentiator.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Differentiator.framework; path = Carthage/Build/iOS/Differentiator.framework; sourceTree = "<group>"; };
|
487
|
460
|
05C0CEF821F8567C00993DE2 /* AlertView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlertView.swift; sourceTree = "<group>"; };
|
488
|
461
|
05C0CEFA21F85A7700993DE2 /* ActionSheetController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActionSheetController.swift; sourceTree = "<group>"; };
|
489
|
462
|
05C0D98D21D22119000B7B2A /* PhotoThumbupUserItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhotoThumbupUserItem.swift; sourceTree = "<group>"; };
|
|
|
@@ -508,6 +481,13 @@
|
508
|
481
|
05D3A3C521FF010900A29A20 /* WebViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WebViewController.swift; sourceTree = "<group>"; };
|
509
|
482
|
05D3A3CC22000C3900A29A20 /* GroupCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GroupCoordinator.swift; sourceTree = "<group>"; };
|
510
|
483
|
05D3A3CF2200288400A29A20 /* Storyboarded.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Storyboarded.swift; sourceTree = "<group>"; };
|
|
484
|
+ 05DFDBEB228BE53100F4A7F7 /* RxDataSources.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxDataSources.framework; path = Carthage/Build/iOS/RxDataSources.framework; sourceTree = "<group>"; };
|
|
485
|
+ 05DFDBEC228BE53100F4A7F7 /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Alamofire.framework; path = Carthage/Build/iOS/Alamofire.framework; sourceTree = "<group>"; };
|
|
486
|
+ 05DFDBED228BE53100F4A7F7 /* Kingfisher.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Kingfisher.framework; path = Carthage/Build/iOS/Kingfisher.framework; sourceTree = "<group>"; };
|
|
487
|
+ 05DFDBEE228BE53100F4A7F7 /* RxSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxSwift.framework; path = Carthage/Build/iOS/RxSwift.framework; sourceTree = "<group>"; };
|
|
488
|
+ 05DFDBEF228BE53100F4A7F7 /* RxCocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxCocoa.framework; path = Carthage/Build/iOS/RxCocoa.framework; sourceTree = "<group>"; };
|
|
489
|
+ 05DFDBF0228BE53100F4A7F7 /* PullToRefresh.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PullToRefresh.framework; path = Carthage/Build/iOS/PullToRefresh.framework; sourceTree = "<group>"; };
|
|
490
|
+ 05DFDBF1228BE53200F4A7F7 /* ObjectMapper.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ObjectMapper.framework; path = Carthage/Build/iOS/ObjectMapper.framework; sourceTree = "<group>"; };
|
511
|
491
|
05E80E2F21DF65D4006368C4 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
512
|
492
|
05ED11C42251A90000FF3758 /* PhotoPurchaseRemoteAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhotoPurchaseRemoteAPI.swift; sourceTree = "<group>"; };
|
513
|
493
|
05ED11C62252165700FF3758 /* Notification+wxPay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Notification+wxPay.swift"; sourceTree = "<group>"; };
|
|
|
@@ -574,20 +554,20 @@
|
574
|
554
|
isa = PBXFrameworksBuildPhase;
|
575
|
555
|
buildActionMask = 2147483647;
|
576
|
556
|
files = (
|
577
|
|
- 0505AD0521DF109E00404071 /* libz.tbd in Frameworks */,
|
578
|
|
- 0505AD0321DF108300404071 /* CFNetwork.framework in Frameworks */,
|
579
|
|
- 0505AD0121DF107D00404071 /* CoreTelephony.framework in Frameworks */,
|
580
|
|
- 0505ACFF21DF107600404071 /* Security.framework in Frameworks */,
|
581
|
|
- 0505ACFD21DF106F00404071 /* libc++.tbd in Frameworks */,
|
582
|
|
- 0505ACFB21DF106000404071 /* libsqlite3.0.tbd in Frameworks */,
|
583
|
|
- 0505ACF921DF104500404071 /* SystemConfiguration.framework in Frameworks */,
|
584
|
|
- 0513104C21CA1BAD004EF1BE /* SQLite.framework in Frameworks */,
|
585
|
|
- 0513104A21CA1BAD004EF1BE /* RxSwift.framework in Frameworks */,
|
586
|
|
- 0513104821CA1BAD004EF1BE /* RxCocoa.framework in Frameworks */,
|
587
|
|
- 0513106221CA22B6004EF1BE /* Alamofire.framework in Frameworks */,
|
588
|
|
- 0513104521CA1BAD004EF1BE /* ObjectMapper.framework in Frameworks */,
|
589
|
|
- 0513104921CA1BAD004EF1BE /* RxDataSources.framework in Frameworks */,
|
590
|
|
- 0572B2C621E2FB3E00EAD2A2 /* libWeChatSDK.a in Frameworks */,
|
|
557
|
+ 05DFDC06228BE83A00F4A7F7 /* Security.framework in Frameworks */,
|
|
558
|
+ 05BEBE62228E87C300541855 /* SystemConfiguration.framework in Frameworks */,
|
|
559
|
+ 05DFDBFD228BE7CA00F4A7F7 /* Alamofire.framework in Frameworks */,
|
|
560
|
+ 05BEBE60228E87B300541855 /* RxCocoa.framework in Frameworks */,
|
|
561
|
+ 05DFDBFE228BE7CC00F4A7F7 /* Kingfisher.framework in Frameworks */,
|
|
562
|
+ 05DFDBFF228BE7CE00F4A7F7 /* ObjectMapper.framework in Frameworks */,
|
|
563
|
+ 05DFDC00228BE7E400F4A7F7 /* RxSwift.framework in Frameworks */,
|
|
564
|
+ 05DFDC01228BE80000F4A7F7 /* libWeChatSDK.a in Frameworks */,
|
|
565
|
+ 05DFDC02228BE81400F4A7F7 /* libz.tbd in Frameworks */,
|
|
566
|
+ 05DFDC03228BE81C00F4A7F7 /* CFNetwork.framework in Frameworks */,
|
|
567
|
+ 05DFDC04228BE82800F4A7F7 /* libsqlite3.0.tbd in Frameworks */,
|
|
568
|
+ 05DFDC05228BE83500F4A7F7 /* CoreTelephony.framework in Frameworks */,
|
|
569
|
+ 05DFDC07228BE84700F4A7F7 /* libc++.tbd in Frameworks */,
|
|
570
|
+ 05DFDC08228BE8C600F4A7F7 /* RxDataSources.framework in Frameworks */,
|
591
|
571
|
);
|
592
|
572
|
runOnlyForDeploymentPostprocessing = 0;
|
593
|
573
|
};
|
|
|
@@ -595,13 +575,12 @@
|
595
|
575
|
isa = PBXFrameworksBuildPhase;
|
596
|
576
|
buildActionMask = 2147483647;
|
597
|
577
|
files = (
|
598
|
|
- 052BF1C921E344280010D270 /* PullToRefresh.framework in Frameworks */,
|
599
|
578
|
0513105E21CA1D95004EF1BE /* PaiaiUIKit.framework in Frameworks */,
|
600
|
579
|
0513105D21CA1D95004EF1BE /* PaiaiDataKit.framework in Frameworks */,
|
601
|
|
- 0513105021CA1BED004EF1BE /* RxSwift.framework in Frameworks */,
|
602
|
|
- 0513104E21CA1BED004EF1BE /* RxCocoa.framework in Frameworks */,
|
603
|
|
- 051310B521CB5EDD004EF1BE /* Kingfisher.framework in Frameworks */,
|
604
|
|
- 0513104F21CA1BED004EF1BE /* RxDataSources.framework in Frameworks */,
|
|
580
|
+ 05DFDBF9228BE7A200F4A7F7 /* PullToRefresh.framework in Frameworks */,
|
|
581
|
+ 05DFDBFA228BE7A700F4A7F7 /* RxCocoa.framework in Frameworks */,
|
|
582
|
+ 05DFDBFB228BE7AA00F4A7F7 /* RxDataSources.framework in Frameworks */,
|
|
583
|
+ 05DFDBFC228BE7AE00F4A7F7 /* RxSwift.framework in Frameworks */,
|
605
|
584
|
);
|
606
|
585
|
runOnlyForDeploymentPostprocessing = 0;
|
607
|
586
|
};
|
|
|
@@ -609,23 +588,25 @@
|
609
|
588
|
isa = PBXFrameworksBuildPhase;
|
610
|
589
|
buildActionMask = 2147483647;
|
611
|
590
|
files = (
|
612
|
|
- 050D717E2253162C0076CE06 /* RxDataSources.framework in Frameworks */,
|
|
591
|
+ 05B87D6F228EA2820098FE87 /* Differentiator.framework in Frameworks */,
|
|
592
|
+ 05B87D6D228E9F140098FE87 /* RxRelay.framework in Frameworks */,
|
613
|
593
|
0505AD0D21DF34E100404071 /* CoreTelephony.framework in Frameworks */,
|
|
594
|
+ 05B87D64228E94F00098FE87 /* RxSwift.framework in Frameworks */,
|
614
|
595
|
0505AD0C21DF34B600404071 /* libsqlite3.0.tbd in Frameworks */,
|
|
596
|
+ 05BEBE63228E87C700541855 /* SystemConfiguration.framework in Frameworks */,
|
|
597
|
+ 05B87D5F228E94AA0098FE87 /* Kingfisher.framework in Frameworks */,
|
615
|
598
|
0505AD0B21DF348F00404071 /* libc++.tbd in Frameworks */,
|
|
599
|
+ 05B87D60228E94AC0098FE87 /* ObjectMapper.framework in Frameworks */,
|
616
|
600
|
0505AD0A21DF347400404071 /* CFNetwork.framework in Frameworks */,
|
617
|
601
|
050D7187225317AD0076CE06 /* Paiai_iOS.framework in Frameworks */,
|
|
602
|
+ 05B87D61228E94E90098FE87 /* PullToRefresh.framework in Frameworks */,
|
|
603
|
+ 05B87D5E228E94A70098FE87 /* Alamofire.framework in Frameworks */,
|
618
|
604
|
0505AD0921DF345E00404071 /* Security.framework in Frameworks */,
|
|
605
|
+ 05B87D62228E94EB0098FE87 /* RxCocoa.framework in Frameworks */,
|
619
|
606
|
0505AD0621DF342F00404071 /* libz.tbd in Frameworks */,
|
620
|
607
|
050D7181225317AD0076CE06 /* PaiaiUIKit.framework in Frameworks */,
|
|
608
|
+ 05B87D63228E94EE0098FE87 /* RxDataSources.framework in Frameworks */,
|
621
|
609
|
050D7183225317AD0076CE06 /* PaiaiDataKit.framework in Frameworks */,
|
622
|
|
- 051310B421CB5EC3004EF1BE /* Kingfisher.framework in Frameworks */,
|
623
|
|
- 052BF1C821E344020010D270 /* PullToRefresh.framework in Frameworks */,
|
624
|
|
- 0513109C21CA4103004EF1BE /* Alamofire.framework in Frameworks */,
|
625
|
|
- 0513109F21CA4103004EF1BE /* ObjectMapper.framework in Frameworks */,
|
626
|
|
- 051310A221CA4103004EF1BE /* RxCocoa.framework in Frameworks */,
|
627
|
|
- 051310A421CA4103004EF1BE /* RxSwift.framework in Frameworks */,
|
628
|
|
- 051310A621CA4103004EF1BE /* SQLite.framework in Frameworks */,
|
629
|
610
|
);
|
630
|
611
|
runOnlyForDeploymentPostprocessing = 0;
|
631
|
612
|
};
|
|
|
@@ -1260,15 +1241,6 @@
|
1260
|
1241
|
6CEBD0F61CA8D680004DBDE0 = {
|
1261
|
1242
|
isa = PBXGroup;
|
1262
|
1243
|
children = (
|
1263
|
|
- 050D719A22531B860076CE06 /* RxSwift.framework */,
|
1264
|
|
- 050D719C22531BA60076CE06 /* SQLite.framework */,
|
1265
|
|
- 050D719822531B780076CE06 /* RxCocoa.framework */,
|
1266
|
|
- 050D719622531B650076CE06 /* PullToRefresh.framework */,
|
1267
|
|
- 050D719422531B520076CE06 /* ObjectMapper.framework */,
|
1268
|
|
- 050D719322531B440076CE06 /* Kingfisher.framework */,
|
1269
|
|
- 050D719122531B360076CE06 /* Alamofire.framework */,
|
1270
|
|
- 050D718F22531B180076CE06 /* Kingfisher.framework */,
|
1271
|
|
- 050D718D22531AF40076CE06 /* RxDataSources.framework */,
|
1272
|
1244
|
05130FBB21C9F707004EF1BE /* Cartfile */,
|
1273
|
1245
|
3864C06C1CAD27EC0048ADAD /* Swift-bridge.h */,
|
1274
|
1246
|
6CEBD1011CA8D680004DBDE0 /* Paiai */,
|
|
|
@@ -1295,7 +1267,6 @@
|
1295
|
1267
|
6CEBD1011CA8D680004DBDE0 /* Paiai */ = {
|
1296
|
1268
|
isa = PBXGroup;
|
1297
|
1269
|
children = (
|
1298
|
|
- 045F01541DED33DC00B80C87 /* Paiai.entitlements */,
|
1299
|
1270
|
6CEBD1021CA8D680004DBDE0 /* AppDelegate.swift */,
|
1300
|
1271
|
6CEBD10E1CA8D680004DBDE0 /* Info.plist */,
|
1301
|
1272
|
A69FFB8C1E7018CC0006FEE0 /* LaunchScreen.storyboard */,
|
|
|
@@ -1308,7 +1279,15 @@
|
1308
|
1279
|
7737858CEE753530C312F2CB /* Frameworks */ = {
|
1309
|
1280
|
isa = PBXGroup;
|
1310
|
1281
|
children = (
|
1311
|
|
- 052BF1C721E344020010D270 /* PullToRefresh.framework */,
|
|
1282
|
+ 05B87D6E228EA2820098FE87 /* Differentiator.framework */,
|
|
1283
|
+ 05B87D6C228E9F140098FE87 /* RxRelay.framework */,
|
|
1284
|
+ 05DFDBEC228BE53100F4A7F7 /* Alamofire.framework */,
|
|
1285
|
+ 05DFDBED228BE53100F4A7F7 /* Kingfisher.framework */,
|
|
1286
|
+ 05DFDBF1228BE53200F4A7F7 /* ObjectMapper.framework */,
|
|
1287
|
+ 05DFDBF0228BE53100F4A7F7 /* PullToRefresh.framework */,
|
|
1288
|
+ 05DFDBEF228BE53100F4A7F7 /* RxCocoa.framework */,
|
|
1289
|
+ 05DFDBEB228BE53100F4A7F7 /* RxDataSources.framework */,
|
|
1290
|
+ 05DFDBEE228BE53100F4A7F7 /* RxSwift.framework */,
|
1312
|
1291
|
0505AD0421DF109E00404071 /* libz.tbd */,
|
1313
|
1292
|
0505AD0221DF108300404071 /* CFNetwork.framework */,
|
1314
|
1293
|
0505AD0021DF107D00404071 /* CoreTelephony.framework */,
|
|
|
@@ -1316,17 +1295,6 @@
|
1316
|
1295
|
0505ACFC21DF106E00404071 /* libc++.tbd */,
|
1317
|
1296
|
0505ACFA21DF106000404071 /* libsqlite3.0.tbd */,
|
1318
|
1297
|
0505ACF821DF104500404071 /* SystemConfiguration.framework */,
|
1319
|
|
- 051310B321CB5EC3004EF1BE /* Kingfisher.framework */,
|
1320
|
|
- 0513106121CA22B5004EF1BE /* Alamofire.framework */,
|
1321
|
|
- 05130FC921CA1997004EF1BE /* ObjectMapper.framework */,
|
1322
|
|
- 05130FC621CA1997004EF1BE /* RxAtomic.framework */,
|
1323
|
|
- 05130FC521CA1997004EF1BE /* RxBlocking.framework */,
|
1324
|
|
- 05130FC221CA1997004EF1BE /* RxCocoa.framework */,
|
1325
|
|
- 05130FC421CA1997004EF1BE /* RxDataSources.framework */,
|
1326
|
|
- 05130FC321CA1997004EF1BE /* RxSwift.framework */,
|
1327
|
|
- 05130FC721CA1997004EF1BE /* RxTest.framework */,
|
1328
|
|
- 05130FC821CA1997004EF1BE /* SQLite.framework */,
|
1329
|
|
- 05130FBD21CA194B004EF1BE /* Differentiator.framework */,
|
1330
|
1298
|
);
|
1331
|
1299
|
name = Frameworks;
|
1332
|
1300
|
sourceTree = "<group>";
|
|
|
@@ -1427,6 +1395,7 @@
|
1427
|
1395
|
05130F8A21C9E5E8004EF1BE /* Sources */,
|
1428
|
1396
|
05130F8B21C9E5E8004EF1BE /* Frameworks */,
|
1429
|
1397
|
05130F8C21C9E5E8004EF1BE /* Resources */,
|
|
1398
|
+ 05B87D5B228E94260098FE87 /* CopyFiles */,
|
1430
|
1399
|
);
|
1431
|
1400
|
buildRules = (
|
1432
|
1401
|
);
|
|
|
@@ -1497,7 +1466,7 @@
|
1497
|
1466
|
enabled = 0;
|
1498
|
1467
|
};
|
1499
|
1468
|
com.apple.Keychain = {
|
1500
|
|
- enabled = 1;
|
|
1469
|
+ enabled = 0;
|
1501
|
1470
|
};
|
1502
|
1471
|
com.apple.Maps.iOS = {
|
1503
|
1472
|
enabled = 0;
|
|
|
@@ -1564,6 +1533,7 @@
|
1564
|
1533
|
buildActionMask = 2147483647;
|
1565
|
1534
|
files = (
|
1566
|
1535
|
05E80E3021DF65D5006368C4 /* Assets.xcassets in Resources */,
|
|
1536
|
+ 05BEBE3E228E51D800541855 /* LaunchScreen.storyboard in Resources */,
|
1567
|
1537
|
);
|
1568
|
1538
|
runOnlyForDeploymentPostprocessing = 0;
|
1569
|
1539
|
};
|
|
|
@@ -1575,8 +1545,9 @@
|
1575
|
1545
|
buildActionMask = 12;
|
1576
|
1546
|
files = (
|
1577
|
1547
|
);
|
|
1548
|
+ inputFileListPaths = (
|
|
1549
|
+ );
|
1578
|
1550
|
inputPaths = (
|
1579
|
|
- "$(SRCROOT)/Carthage/Build/iOS/SQLite.framework",
|
1580
|
1551
|
"$(SRCROOT)/Carthage/Build/iOS/RxCocoa.framework",
|
1581
|
1552
|
"$(SRCROOT)/Carthage/Build/iOS/RxSwift.framework",
|
1582
|
1553
|
"$(SRCROOT)/Carthage/Build/iOS/RxDataSources.framework",
|
|
|
@@ -1584,21 +1555,24 @@
|
1584
|
1555
|
"$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework",
|
1585
|
1556
|
"$(SRCROOT)/Carthage/Build/iOS/Kingfisher.framework",
|
1586
|
1557
|
"$(SRCROOT)/Carthage/Build/iOS/PullToRefresh.framework",
|
|
1558
|
+ "$(SRCROOT)/Carthage/Build/iOS/Differentiator.framework",
|
|
1559
|
+ "$(SRCROOT)/Carthage/Build/iOS/RxRelay.framework",
|
1587
|
1560
|
);
|
1588
|
1561
|
name = "Run Script";
|
1589
|
1562
|
outputPaths = (
|
1590
|
|
- "$(DERIVED_FILE_DIR)/$(FRAMEWORKS_FOLDER_PATH)/SQLite.framework",
|
1591
|
|
- "$(DERIVED_FILE_DIR)/$(FRAMEWORKS_FOLDER_PATH)/RxCocoa.framework",
|
1592
|
1563
|
"$(DERIVED_FILE_DIR)/$(FRAMEWORKS_FOLDER_PATH)/RxSwift.framework",
|
1593
|
1564
|
"$(DERIVED_FILE_DIR)/$(FRAMEWORKS_FOLDER_PATH)/RxDataSources.framework",
|
1594
|
1565
|
"$(DERIVED_FILE_DIR)/$(FRAMEWORKS_FOLDER_PATH)/ObjectMapper.framework",
|
1595
|
1566
|
"$(DERIVED_FILE_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Alamofire.framework",
|
1596
|
1567
|
"$(DERIVED_FILE_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Kingfisher.framework",
|
1597
|
1568
|
"$(DERIVED_FILE_DIR)/$(FRAMEWORKS_FOLDER_PATH)/PullToRefresh.framework",
|
|
1569
|
+ "$(DERIVED_FILE_DIR)/$(FRAMEWORKS_FOLDER_PATH)/RxCocoa.framework",
|
|
1570
|
+ "$(DERIVED_FILE_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Differentiator.framework",
|
|
1571
|
+ "$(DERIVED_FILE_DIR)/$(FRAMEWORKS_FOLDER_PATH)/RxRelay.framework",
|
1598
|
1572
|
);
|
1599
|
1573
|
runOnlyForDeploymentPostprocessing = 0;
|
1600
|
1574
|
shellPath = /bin/sh;
|
1601
|
|
- shellScript = "/usr/local/bin/carthage copy-frameworks\n";
|
|
1575
|
+ shellScript = "/usr/local/bin/carthage copy-frameworks\n\n#!/usr/bin/env bash\n\nAPP_PATH=\"${TARGET_BUILD_DIR}/${WRAPPER_NAME}\"\n\n# This script loops through the frameworks embedded in the application and\n# removes unused architectures.\nfind \"$APP_PATH\" -name '*.framework' -type d | while read -r FRAMEWORK\ndo\nFRAMEWORK_EXECUTABLE_NAME=$(defaults read \"$FRAMEWORK/Info.plist\" CFBundleExecutable)\nFRAMEWORK_EXECUTABLE_PATH=\"$FRAMEWORK/$FRAMEWORK_EXECUTABLE_NAME\"\n\nif [ ! -f \"${FRAMEWORK_EXECUTABLE_PATH}\" ]; then\ncontinue\nfi\n\nif xcrun lipo -info \"${FRAMEWORK_EXECUTABLE_PATH}\" | grep --silent \"Non-fat\"; then\necho \"Framework non-fat, skipping: $FRAMEWORK_EXECUTABLE_NAME\"\ncontinue\nfi\n\necho \"Thinning framework $FRAMEWORK_EXECUTABLE_NAME\"\n\nEXTRACTED_ARCHS=()\n\nfor ARCH in $ARCHS\ndo\necho \"Extracting $ARCH from $FRAMEWORK_EXECUTABLE_NAME\"\nxcrun lipo -extract \"$ARCH\" \"$FRAMEWORK_EXECUTABLE_PATH\" -o \"$FRAMEWORK_EXECUTABLE_PATH-$ARCH\"\nEXTRACTED_ARCHS+=(\"$FRAMEWORK_EXECUTABLE_PATH-$ARCH\")\ndone\n\necho \"Merging extracted architectures: ${ARCHS}\"\nxcrun lipo -o \"$FRAMEWORK_EXECUTABLE_PATH-merged\" -create \"${EXTRACTED_ARCHS[@]}\"\nrm \"${EXTRACTED_ARCHS[@]}\"\n\necho \"Replacing original executable with thinned version\"\nrm \"$FRAMEWORK_EXECUTABLE_PATH\"\nmv \"$FRAMEWORK_EXECUTABLE_PATH-merged\" \"$FRAMEWORK_EXECUTABLE_PATH\"\ndone\n";
|
1602
|
1576
|
};
|
1603
|
1577
|
/* End PBXShellScriptBuildPhase section */
|
1604
|
1578
|
|
|
|
@@ -1912,6 +1886,10 @@
|
1912
|
1886
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
1913
|
1887
|
DYLIB_CURRENT_VERSION = 1;
|
1914
|
1888
|
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
|
1889
|
+ FRAMEWORK_SEARCH_PATHS = (
|
|
1890
|
+ "$(inherited)",
|
|
1891
|
+ "$(PROJECT_DIR)/Carthage/Build/iOS",
|
|
1892
|
+ );
|
1915
|
1893
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
1916
|
1894
|
INFOPLIST_FILE = PaiaiUIKit/Info.plist;
|
1917
|
1895
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
|
|
@@ -1952,7 +1930,12 @@
|
1952
|
1930
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
1953
|
1931
|
DYLIB_CURRENT_VERSION = 1;
|
1954
|
1932
|
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
|
1933
|
+ FRAMEWORK_SEARCH_PATHS = (
|
|
1934
|
+ "$(inherited)",
|
|
1935
|
+ "$(PROJECT_DIR)/Carthage/Build/iOS",
|
|
1936
|
+ );
|
1955
|
1937
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
|
1938
|
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
1956
|
1939
|
INFOPLIST_FILE = PaiaiUIKit/Info.plist;
|
1957
|
1940
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
1958
|
1941
|
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
|
|
|
@@ -1967,6 +1950,7 @@
|
1967
|
1950
|
SKIP_INSTALL = YES;
|
1968
|
1951
|
SWIFT_VERSION = 5.0;
|
1969
|
1952
|
TARGETED_DEVICE_FAMILY = 1;
|
|
1953
|
+ VALID_ARCHS = "arm64 arm64e armv7s";
|
1970
|
1954
|
VERSIONING_SYSTEM = "apple-generic";
|
1971
|
1955
|
VERSION_INFO_PREFIX = "";
|
1972
|
1956
|
};
|
|
|
@@ -1994,12 +1978,14 @@
|
1994
|
1978
|
FRAMEWORK_SEARCH_PATHS = (
|
1995
|
1979
|
"$(inherited)",
|
1996
|
1980
|
"$(PROJECT_DIR)/Carthage/Build/iOS",
|
|
1981
|
+ "$(PROJECT_DIR)",
|
1997
|
1982
|
);
|
1998
|
1983
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
1999
|
1984
|
HEADER_SEARCH_PATHS = "";
|
2000
|
1985
|
INFOPLIST_FILE = PaiaiDataKit/Info.plist;
|
2001
|
1986
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
2002
|
1987
|
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
|
|
1988
|
+ LD_GENERATE_MAP_FILE = YES;
|
2003
|
1989
|
LD_RUNPATH_SEARCH_PATHS = (
|
2004
|
1990
|
"$(inherited)",
|
2005
|
1991
|
"@executable_path/Frameworks",
|
|
|
@@ -2047,12 +2033,15 @@
|
2047
|
2033
|
FRAMEWORK_SEARCH_PATHS = (
|
2048
|
2034
|
"$(inherited)",
|
2049
|
2035
|
"$(PROJECT_DIR)/Carthage/Build/iOS",
|
|
2036
|
+ "$(PROJECT_DIR)",
|
2050
|
2037
|
);
|
2051
|
2038
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
|
2039
|
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
2052
|
2040
|
HEADER_SEARCH_PATHS = "";
|
2053
|
2041
|
INFOPLIST_FILE = PaiaiDataKit/Info.plist;
|
2054
|
2042
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
2055
|
2043
|
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
|
|
2044
|
+ LD_GENERATE_MAP_FILE = YES;
|
2056
|
2045
|
LD_RUNPATH_SEARCH_PATHS = (
|
2057
|
2046
|
"$(inherited)",
|
2058
|
2047
|
"@executable_path/Frameworks",
|
|
|
@@ -2069,6 +2058,7 @@
|
2069
|
2058
|
SWIFT_OBJC_BRIDGING_HEADER = "";
|
2070
|
2059
|
SWIFT_VERSION = 5.0;
|
2071
|
2060
|
TARGETED_DEVICE_FAMILY = "1,2";
|
|
2061
|
+ VALID_ARCHS = "arm64 arm64e armv7s";
|
2072
|
2062
|
VERSIONING_SYSTEM = "apple-generic";
|
2073
|
2063
|
VERSION_INFO_PREFIX = "";
|
2074
|
2064
|
};
|
|
|
@@ -2094,6 +2084,7 @@
|
2094
|
2084
|
FRAMEWORK_SEARCH_PATHS = (
|
2095
|
2085
|
"$(inherited)",
|
2096
|
2086
|
"$(PROJECT_DIR)/Carthage/Build/iOS",
|
|
2087
|
+ "$(PROJECT_DIR)",
|
2097
|
2088
|
);
|
2098
|
2089
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
2099
|
2090
|
INFOPLIST_FILE = Paiai_iOS/Info.plist;
|
|
|
@@ -2112,6 +2103,7 @@
|
2112
|
2103
|
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
|
2113
|
2104
|
SWIFT_VERSION = 5.0;
|
2114
|
2105
|
TARGETED_DEVICE_FAMILY = 1;
|
|
2106
|
+ VALID_ARCHS = "arm64 arm64e armv7s";
|
2115
|
2107
|
VERSIONING_SYSTEM = "apple-generic";
|
2116
|
2108
|
VERSION_INFO_PREFIX = "";
|
2117
|
2109
|
};
|
|
|
@@ -2138,8 +2130,10 @@
|
2138
|
2130
|
FRAMEWORK_SEARCH_PATHS = (
|
2139
|
2131
|
"$(inherited)",
|
2140
|
2132
|
"$(PROJECT_DIR)/Carthage/Build/iOS",
|
|
2133
|
+ "$(PROJECT_DIR)",
|
2141
|
2134
|
);
|
2142
|
2135
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
|
2136
|
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
2143
|
2137
|
INFOPLIST_FILE = Paiai_iOS/Info.plist;
|
2144
|
2138
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
2145
|
2139
|
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
|
|
|
@@ -2154,6 +2148,7 @@
|
2154
|
2148
|
SKIP_INSTALL = YES;
|
2155
|
2149
|
SWIFT_VERSION = 5.0;
|
2156
|
2150
|
TARGETED_DEVICE_FAMILY = 1;
|
|
2151
|
+ VALID_ARCHS = "arm64 arm64e armv7s";
|
2157
|
2152
|
VERSIONING_SYSTEM = "apple-generic";
|
2158
|
2153
|
VERSION_INFO_PREFIX = "";
|
2159
|
2154
|
};
|
|
|
@@ -2209,6 +2204,7 @@
|
2209
|
2204
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
2210
|
2205
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
2211
|
2206
|
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
|
|
2207
|
+ LD_GENERATE_MAP_FILE = YES;
|
2212
|
2208
|
MTL_ENABLE_DEBUG_INFO = YES;
|
2213
|
2209
|
ONLY_ACTIVE_ARCH = YES;
|
2214
|
2210
|
OTHER_LDFLAGS = (
|
|
|
@@ -2264,6 +2260,7 @@
|
2264
|
2260
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
2265
|
2261
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
2266
|
2262
|
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
|
|
2263
|
+ LD_GENERATE_MAP_FILE = YES;
|
2267
|
2264
|
MTL_ENABLE_DEBUG_INFO = NO;
|
2268
|
2265
|
OTHER_LDFLAGS = (
|
2269
|
2266
|
"-Objc",
|
|
|
@@ -2284,17 +2281,17 @@
|
2284
|
2281
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
2285
|
2282
|
CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = NO;
|
2286
|
2283
|
CLANG_ENABLE_MODULES = NO;
|
2287
|
|
- CODE_SIGN_ENTITLEMENTS = PaiAi/PaiAi.entitlements;
|
2288
|
2284
|
CODE_SIGN_IDENTITY = "iPhone Developer";
|
2289
|
2285
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
2290
|
2286
|
CODE_SIGN_STYLE = Automatic;
|
2291
|
2287
|
DEFINES_MODULE = YES;
|
2292
|
|
- DEVELOPMENT_TEAM = RSJ4N8U2LM;
|
|
2288
|
+ DEVELOPMENT_TEAM = Q38447SL4M;
|
2293
|
2289
|
ENABLE_BITCODE = NO;
|
2294
|
2290
|
FRAMEWORK_SEARCH_PATHS = (
|
2295
|
2291
|
"$(inherited)",
|
2296
|
2292
|
"$(PROJECT_DIR)/Paiai",
|
2297
|
2293
|
"$(PROJECT_DIR)/Carthage/Build/iOS",
|
|
2294
|
+ "$(PROJECT_DIR)",
|
2298
|
2295
|
);
|
2299
|
2296
|
GCC_PREFIX_HEADER = "";
|
2300
|
2297
|
GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
|
|
|
@@ -2305,6 +2302,7 @@
|
2305
|
2302
|
);
|
2306
|
2303
|
INFOPLIST_FILE = PaiAi/Info.plist;
|
2307
|
2304
|
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
|
|
2305
|
+ LD_GENERATE_MAP_FILE = YES;
|
2308
|
2306
|
LD_RUNPATH_SEARCH_PATHS = (
|
2309
|
2307
|
"$(inherited)",
|
2310
|
2308
|
"@executable_path/Frameworks",
|
|
|
@@ -2315,6 +2313,7 @@
|
2315
|
2313
|
);
|
2316
|
2314
|
MACH_O_TYPE = mh_execute;
|
2317
|
2315
|
ONLY_ACTIVE_ARCH = YES;
|
|
2316
|
+ OTHER_CODE_SIGN_FLAGS = "--deep";
|
2318
|
2317
|
OTHER_LDFLAGS = "-all_load";
|
2319
|
2318
|
OTHER_SWIFT_FLAGS = "-DDEBUG";
|
2320
|
2319
|
PRODUCT_BUNDLE_IDENTIFIER = com.PaiAi.PaiAi;
|
|
|
@@ -2335,18 +2334,19 @@
|
2335
|
2334
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
2336
|
2335
|
CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = NO;
|
2337
|
2336
|
CLANG_ENABLE_MODULES = NO;
|
2338
|
|
- CODE_SIGN_ENTITLEMENTS = PaiAi/PaiAi.entitlements;
|
2339
|
2337
|
CODE_SIGN_IDENTITY = "iPhone Developer";
|
2340
|
2338
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
2341
|
2339
|
CODE_SIGN_STYLE = Automatic;
|
2342
|
2340
|
DEBUG_INFORMATION_FORMAT = dwarf;
|
2343
|
2341
|
DEFINES_MODULE = YES;
|
2344
|
|
- DEVELOPMENT_TEAM = RSJ4N8U2LM;
|
|
2342
|
+ DEVELOPMENT_TEAM = Q38447SL4M;
|
2345
|
2343
|
FRAMEWORK_SEARCH_PATHS = (
|
2346
|
2344
|
"$(inherited)",
|
2347
|
2345
|
"$(PROJECT_DIR)/Paiai",
|
2348
|
2346
|
"$(PROJECT_DIR)/Carthage/Build/iOS",
|
|
2347
|
+ "$(PROJECT_DIR)",
|
2349
|
2348
|
);
|
|
2349
|
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
2350
|
2350
|
GCC_PREFIX_HEADER = "";
|
2351
|
2351
|
HEADER_SEARCH_PATHS = (
|
2352
|
2352
|
"$(PROJECT_DIR)/Paiai/wxSDK/WXApi.h",
|
|
|
@@ -2355,6 +2355,7 @@
|
2355
|
2355
|
);
|
2356
|
2356
|
INFOPLIST_FILE = PaiAi/Info.plist;
|
2357
|
2357
|
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
|
|
2358
|
+ LD_GENERATE_MAP_FILE = YES;
|
2358
|
2359
|
LD_RUNPATH_SEARCH_PATHS = (
|
2359
|
2360
|
"$(inherited)",
|
2360
|
2361
|
"@executable_path/Frameworks",
|
|
|
@@ -2365,6 +2366,7 @@
|
2365
|
2366
|
);
|
2366
|
2367
|
MACH_O_TYPE = mh_execute;
|
2367
|
2368
|
ONLY_ACTIVE_ARCH = YES;
|
|
2369
|
+ OTHER_CODE_SIGN_FLAGS = "--deep";
|
2368
|
2370
|
OTHER_LDFLAGS = "-all_load";
|
2369
|
2371
|
OTHER_SWIFT_FLAGS = "";
|
2370
|
2372
|
PRODUCT_BUNDLE_IDENTIFIER = com.PaiAi.PaiAi;
|
|
|
@@ -2374,6 +2376,7 @@
|
2374
|
2376
|
SWIFT_OBJC_BRIDGING_HEADER = "Swift-bridge.h";
|
2375
|
2377
|
SWIFT_VERSION = 5.0;
|
2376
|
2378
|
USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/**";
|
|
2379
|
+ VALID_ARCHS = "arm64 arm64e armv7s";
|
2377
|
2380
|
};
|
2378
|
2381
|
name = Release;
|
2379
|
2382
|
};
|
|
|
@@ -2,16 +2,4 @@
|
2
|
2
|
<Bucket
|
3
|
3
|
type = "1"
|
4
|
4
|
version = "2.0">
|
5
|
|
- <Breakpoints>
|
6
|
|
- <BreakpointProxy
|
7
|
|
- BreakpointExtensionID = "Xcode.Breakpoint.ExceptionBreakpoint">
|
8
|
|
- <BreakpointContent
|
9
|
|
- shouldBeEnabled = "Yes"
|
10
|
|
- ignoreCount = "0"
|
11
|
|
- continueAfterRunningActions = "No"
|
12
|
|
- scope = "0"
|
13
|
|
- stopOnStyle = "0">
|
14
|
|
- </BreakpointContent>
|
15
|
|
- </BreakpointProxy>
|
16
|
|
- </Breakpoints>
|
17
|
5
|
</Bucket>
|
|
|
@@ -104,10 +104,10 @@
|
104
|
104
|
</BuildableProductRunnable>
|
105
|
105
|
</ProfileAction>
|
106
|
106
|
<AnalyzeAction
|
107
|
|
- buildConfiguration = "Debug">
|
|
107
|
+ buildConfiguration = "Release">
|
108
|
108
|
</AnalyzeAction>
|
109
|
109
|
<ArchiveAction
|
110
|
|
- buildConfiguration = "Debug"
|
|
110
|
+ buildConfiguration = "Release"
|
111
|
111
|
revealArchiveInOrganizer = "YES">
|
112
|
112
|
</ArchiveAction>
|
113
|
113
|
</Scheme>
|
|
|
@@ -62,7 +62,7 @@
|
62
|
62
|
</dict>
|
63
|
63
|
</array>
|
64
|
64
|
<key>CFBundleVersion</key>
|
65
|
|
- <string>1</string>
|
|
65
|
+ <string>3</string>
|
66
|
66
|
<key>LSApplicationCategoryType</key>
|
67
|
67
|
<string></string>
|
68
|
68
|
<key>LSApplicationQueriesSchemes</key>
|
|
|
@@ -1,10 +0,0 @@
|
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>keychain-access-groups</key>
|
6
|
|
- <array>
|
7
|
|
- <string>$(AppIdentifierPrefix)com.Paiai.Paiai</string>
|
8
|
|
- </array>
|
9
|
|
-</dict>
|
10
|
|
-</plist>
|
|
|
@@ -31,10 +31,7 @@ class NetworkApi {
|
31
|
31
|
return
|
32
|
32
|
}
|
33
|
33
|
|
34
|
|
- if err.isSessionDeinitializedError
|
35
|
|
- || err.isSessionInvalidatedError
|
36
|
|
- || err.isInvalidURLError
|
37
|
|
- || err.isRequestAdaptationError {
|
|
34
|
+ if err.isInvalidURLError {
|
38
|
35
|
Toast.show(message: "客户端网络请求出错")
|
39
|
36
|
} else if err.isParameterEncoderError || err.isParameterEncodingError {
|
40
|
37
|
Toast.show(message: "客户端参数编码出错")
|
|
|
@@ -46,9 +43,11 @@ class NetworkApi {
|
46
|
43
|
Toast.show(message: "服务器返回数据出错")
|
47
|
44
|
} else if err.isServerTrustEvaluationError {
|
48
|
45
|
Toast.show(message: "服务器验证错误")
|
49
|
|
- } else if err.isRequestRetryError {
|
50
|
|
- Toast.show(message: "客户端重试出错")
|
51
|
|
- } else if err.isExplicitlyCancelledError {
|
|
46
|
+ }
|
|
47
|
+// else if err.isRequestRetryError {
|
|
48
|
+// Toast.show(message: "客户端重试出错")
|
|
49
|
+// }
|
|
50
|
+ else if err.isExplicitlyCancelledError {
|
52
|
51
|
return
|
53
|
52
|
} else {
|
54
|
53
|
Toast.show(message: "网络出现未知错误")
|
|
|
@@ -60,8 +60,8 @@ struct WXUserInfoRemoteAPI: UserInfoRemoteAPI {
|
60
|
60
|
}
|
61
|
61
|
switch errcode {
|
62
|
62
|
case 0:
|
63
|
|
- observer(.success(["appid": WXAppid, "secret": WXSecret,
|
64
|
|
- "code": code, "grant_type": "authorization_code"]))
|
|
63
|
+ return observer(.success(["appid": WXAppid, "secret": WXSecret,
|
|
64
|
+ "code": code, "grant_type": "authorization_code"]))
|
65
|
65
|
case -4:
|
66
|
66
|
Toast.show(message: "您拒绝授权,登录失败")
|
67
|
67
|
case -2:
|
|
|
@@ -89,12 +89,18 @@ struct WXUserInfoRemoteAPI: UserInfoRemoteAPI {
|
89
|
89
|
|
90
|
90
|
return NetworkApi.share.get(resource: resource)
|
91
|
91
|
}
|
|
92
|
+
|
|
93
|
+ fileprivate func pareseWXUserInfo(json: JSON) -> [String: Any]? {
|
|
94
|
+ var data = json
|
|
95
|
+ data.removeValue(forKey: "privilege")
|
|
96
|
+ return data
|
|
97
|
+ }
|
92
|
98
|
|
93
|
99
|
fileprivate func getWXUserInfo(param: [String: String]) -> Single<[String: Any]> {
|
94
|
100
|
let resource = ContentResource<[String: Any]>(host: "https://api.weixin.qq.com",
|
95
|
101
|
path: .wxUserInfo,
|
96
|
102
|
parameter: param,
|
97
|
|
- parseJSON: { $0 })
|
|
103
|
+ parseJSON: pareseWXUserInfo)
|
98
|
104
|
return NetworkApi.share.get(resource: resource)
|
99
|
105
|
}
|
100
|
106
|
|
|
|
@@ -18,3 +18,4 @@ FOUNDATION_EXPORT const unsigned char PaiaiDataKitVersionString[];
|
18
|
18
|
|
19
|
19
|
//微信SDK头文件
|
20
|
20
|
#import "WXApi.h"
|
|
21
|
+#import "WechatAuthSDK.h"
|
|
|
@@ -27,41 +27,65 @@ public final class PhotoDetailItemViewModel {
|
27
|
27
|
|
28
|
28
|
self.item.subscribe(onNext: {[unowned self] (photoItem) in
|
29
|
29
|
self.repository = PhotoDetailRepository(photoId: photoItem.photo_id, groupId: photoItem.group_id)
|
30
|
|
- self.loadCommentItems().concat(self.loadThumbupUserItems()).subscribe(onCompleted: {
|
31
|
|
- var val = self.item.value
|
32
|
|
- val.comment_num = self.commentItems.value.count
|
33
|
|
- val.thumbup_num = self.thumbupItems.value.count
|
34
|
|
- self.item.accept(val)
|
35
|
|
-
|
36
|
|
- let userInfo = [PhotoItemsOperator.key: PhotoItemsOperator.update(val.photo_id, val)]
|
37
|
|
- NotificationCenter.default.post(name: .PhotoItemsChanged,
|
38
|
|
- object: nil,
|
39
|
|
- userInfo: userInfo)
|
40
|
|
- }).disposed(by: self.disposeBag)
|
|
30
|
+ self.loadThumbupAndComment()
|
|
31
|
+// Observable.zip(self.loadCommentItems(), self.loadThumbupUserItems()).subscribe(onNext: { _ in
|
|
32
|
+// <#code#>
|
|
33
|
+// }, onError: <#T##((Error) -> Void)?##((Error) -> Void)?##(Error) -> Void#>, onCompleted: <#T##(() -> Void)?##(() -> Void)?##() -> Void#>, onDisposed: <#T##(() -> Void)?##(() -> Void)?##() -> Void#>)
|
|
34
|
+// .subscribe(onCompleted: {
|
|
35
|
+//
|
|
36
|
+// var val = self.item.value
|
|
37
|
+// val.comment_num = self.commentItems.value.count
|
|
38
|
+// val.thumbup_num = self.thumbupItems.value.count
|
|
39
|
+// self.item.accept(val)
|
|
40
|
+//
|
|
41
|
+// let userInfo = [PhotoItemsOperator.key: PhotoItemsOperator.update(val.photo_id, val)]
|
|
42
|
+// NotificationCenter.default.post(name: .PhotoItemsChanged,
|
|
43
|
+// object: nil,
|
|
44
|
+// userInfo: userInfo)
|
|
45
|
+// }).disposed(by: self.disposeBag)
|
41
|
46
|
}).disposed(by: disposeBag)
|
42
|
47
|
}
|
43
|
|
-
|
44
|
|
- private func loadThumbupUserItems() -> Completable {
|
45
|
|
- return repository.loadThumbups().do(onSuccess: { (items) in
|
46
|
|
- self.thumbupItems.accept(items)
|
47
|
|
- }).asCompletable()
|
|
48
|
+
|
|
49
|
+ private func loadThumbupAndComment() {
|
|
50
|
+ print(#function)
|
|
51
|
+ Single.zip(repository.loadComments(), repository.loadThumbups()).subscribe(onSuccess: {[unowned self] (commentItems, thumbupItems) in
|
|
52
|
+ self.commentItems.accept(commentItems)
|
|
53
|
+ self.thumbupItems.accept(thumbupItems)
|
|
54
|
+ self.update()
|
|
55
|
+ }).disposed(by: disposeBag)
|
|
56
|
+ }
|
|
57
|
+
|
|
58
|
+ private func loadThumbupUserItems() -> Single<[PhotoThumbupUserItem]> {
|
|
59
|
+ return repository.loadThumbups()
|
48
|
60
|
}
|
49
|
61
|
|
50
|
|
- private func loadCommentItems() -> Completable {
|
51
|
|
- return repository.loadComments().do(onSuccess: { (items) in
|
52
|
|
- self.commentItems.accept(items)
|
53
|
|
- }).asCompletable()
|
|
62
|
+ private func loadCommentItems() -> Single<[PhotoCommentItem]> {
|
|
63
|
+ return repository.loadComments()
|
|
64
|
+ }
|
|
65
|
+
|
|
66
|
+ private func update() {
|
|
67
|
+ var val = self.item.value
|
|
68
|
+ val.comment_num = self.commentItems.value.count
|
|
69
|
+ val.thumbup_num = self.thumbupItems.value.count
|
|
70
|
+ let userInfo = [PhotoItemsOperator.key: PhotoItemsOperator.update(val.photo_id, val)]
|
|
71
|
+ NotificationCenter.default.post(name: .PhotoItemsChanged,
|
|
72
|
+ object: nil,
|
|
73
|
+ userInfo: userInfo)
|
54
|
74
|
}
|
55
|
75
|
|
56
|
76
|
public func submitThumbup() {
|
57
|
77
|
repository.submitThumbup().subscribe(onSuccess: { items in
|
58
|
78
|
self.thumbupItems.accept(items)
|
|
79
|
+ self.update()
|
59
|
80
|
}).disposed(by: disposeBag)
|
60
|
81
|
}
|
61
|
82
|
|
62
|
83
|
public func submitComment(text: String) {
|
63
|
84
|
repository.submitComment(text: text).subscribe(onSuccess: { (items) in
|
64
|
85
|
self.commentItems.accept(items)
|
|
86
|
+ self.update()
|
65
|
87
|
}).disposed(by: disposeBag)
|
66
|
88
|
}
|
|
89
|
+
|
|
90
|
+
|
67
|
91
|
}
|
|
|
@@ -127,6 +127,7 @@ public final class PhotoDetailViewModel {
|
127
|
127
|
}
|
128
|
128
|
|
129
|
129
|
public func willShow(index: Int) {
|
|
130
|
+ print(index)
|
130
|
131
|
currIndex = index
|
131
|
132
|
_hasGetPrice.accept(false)
|
132
|
133
|
itemViewModel.item.accept(_items.value[index])
|
|
|
@@ -125,7 +125,7 @@ public final class WaterfallFlowLayout: UICollectionViewLayout {
|
125
|
125
|
}
|
126
|
126
|
|
127
|
127
|
/// called at collectionView reload
|
128
|
|
- func setNeedsLayout() {
|
|
128
|
+ public func setNeedsLayout() {
|
129
|
129
|
isNeedLayout = true
|
130
|
130
|
}
|
131
|
131
|
}
|
|
|
@@ -31,6 +31,10 @@ final class HomeViewController: UIViewController {
|
31
|
31
|
override func viewDidAppear(_ animated: Bool) {
|
32
|
32
|
super.viewDidAppear(animated)
|
33
|
33
|
}
|
|
34
|
+
|
|
35
|
+ override func viewDidDisappear(_ animated: Bool) {
|
|
36
|
+ super.viewDidDisappear(animated)
|
|
37
|
+ }
|
34
|
38
|
|
35
|
39
|
func initalize() {
|
36
|
40
|
collectionView.register(UINib(nibName: "PhotoCell",
|
|
|
@@ -95,7 +99,8 @@ fileprivate extension HomeViewController {
|
95
|
99
|
|
96
|
100
|
func bindViewModelToRefreshing() {
|
97
|
101
|
viewModel.isLoading
|
98
|
|
- .subscribe(onNext: {[unowned self] flag in
|
|
102
|
+ .asDriver(onErrorJustReturn: true)
|
|
103
|
+ .drive(onNext: {[unowned self] flag in
|
99
|
104
|
if flag {
|
100
|
105
|
self.collectionView.endRefreshing(at: .top)
|
101
|
106
|
} else {
|