Commit 854436adf2e21ff9141e09da01353beb09625e2f

Authored by yanglingyu
1 parent d4484f3f

no message

.gitignore
@@ -35,6 +35,4 @@ Carthage/Build @@ -35,6 +35,4 @@ Carthage/Build
35 # Note: if you ignore the Pods directory, make sure to uncomment 35 # Note: if you ignore the Pods directory, make sure to uncomment
36 # `pod install` in .travis.yml 36 # `pod install` in .travis.yml
37 # 37 #
38 -Pods/  
39 -Podfile.lock  
40 -.DS_Store 38 +Pods/
41 \ No newline at end of file 39 \ No newline at end of file
CNLiveVideoClassifyKit.podspec
@@ -8,7 +8,7 @@ @@ -8,7 +8,7 @@
8 8
9 Pod::Spec.new do |s| 9 Pod::Spec.new do |s|
10 s.name = 'CNLiveVideoClassifyKit' 10 s.name = 'CNLiveVideoClassifyKit'
11 - s.version = '0.0.17' 11 + s.version = '0.0.18'
12 s.summary = '视讯头部一二级菜单组件' 12 s.summary = '视讯头部一二级菜单组件'
13 13
14 # This description is used to generate tags and improve search results. 14 # This description is used to generate tags and improve search results.
@@ -41,7 +41,7 @@ Pod::Spec.new do |s| @@ -41,7 +41,7 @@ Pod::Spec.new do |s|
41 s.static_framework = true 41 s.static_framework = true
42 s.frameworks = 'UIKit', 'MapKit' 42 s.frameworks = 'UIKit', 'MapKit'
43 s.dependency 'JXCategoryView' 43 s.dependency 'JXCategoryView'
44 - s.dependency 'CNLiveTripartiteManagement/MJExtension' 44 + s.dependency 'CNLiveNewTripartiteManagement/MJExtension'
45 s.dependency 'CNLiveBaseKit' 45 s.dependency 'CNLiveBaseKit'
46 s.dependency 'CNLiveCategory' 46 s.dependency 'CNLiveCategory'
47 s.dependency 'CNLiveUserManagement' 47 s.dependency 'CNLiveUserManagement'
@@ -49,9 +49,10 @@ Pod::Spec.new do |s| @@ -49,9 +49,10 @@ Pod::Spec.new do |s|
49 s.dependency 'CNLiveBeeHive' 49 s.dependency 'CNLiveBeeHive'
50 s.dependency 'CNLiveEnvironment' 50 s.dependency 'CNLiveEnvironment'
51 s.dependency 'UMCCommon' 51 s.dependency 'UMCCommon'
52 - s.dependency 'CNLiveTripartiteManagement/SDWebImage'  
53 - s.dependency 'CNLiveTripartiteManagement/Masonry'  
54 - s.dependency 'CNLiveTripartiteManagement/YYKit'  
55 - s.dependency 'CNLiveTripartiteManagement/QMUIKit' 52 + s.dependency 'CNLiveNewTripartiteManagement/SDWebImage'
  53 + s.dependency 'CNLiveNewTripartiteManagement/Masonry'
  54 + s.dependency 'CNLiveNewTripartiteManagement/YYCategories'
  55 + s.dependency 'CNLiveNewTripartiteManagement/YYCache'
  56 + s.dependency 'CNLiveNewTripartiteManagement/QMUIKit'
56 57
57 end 58 end
CNLiveVideoClassifyKit/Classes/ClassifyCategory/Controller/CNLiveClassifySegmentController.m
@@ -291,7 +291,7 @@ static CGFloat moveHeight = 50; @@ -291,7 +291,7 @@ static CGFloat moveHeight = 50;
291 } 291 }
292 // 判断是否是电商中国 292 // 判断是否是电商中国
293 NSInteger selectedIndex = self.myCategoryView.selectedIndex>=self.dataArray.count?0:self.myCategoryView.selectedIndex; 293 NSInteger selectedIndex = self.myCategoryView.selectedIndex>=self.dataArray.count?0:self.myCategoryView.selectedIndex;
294 - NSString *dataStr = [self.dataArray safetyObjectAtIndex:selectedIndex]; 294 + NSString *dataStr = [self.dataArray wjj_safetyObjectAtIndex:selectedIndex];
295 NSMutableDictionary *dataDic = [[NSMutableDictionary alloc] initWithDictionary:CNLiveStringJsonToDictionary(dataStr)]; 295 NSMutableDictionary *dataDic = [[NSMutableDictionary alloc] initWithDictionary:CNLiveStringJsonToDictionary(dataStr)];
296 if ([[dataDic objectForKey:@"pageType"] integerValue] != 2) {//电商中国 296 if ([[dataDic objectForKey:@"pageType"] integerValue] != 2) {//电商中国
297 return; 297 return;
@@ -397,7 +397,7 @@ static CGFloat moveHeight = 50; @@ -397,7 +397,7 @@ static CGFloat moveHeight = 50;
397 -(void)updateSelectColors:(NSInteger)index 397 -(void)updateSelectColors:(NSInteger)index
398 { 398 {
399 self.ld_currentIndex = index; 399 self.ld_currentIndex = index;
400 - NSString *backgroundImage = [self.bgImages safetyObjectAtIndex:index]; 400 + NSString *backgroundImage = [self.bgImages wjj_safetyObjectAtIndex:index];
401 weakself 401 weakself
402 [self.topBgImg sd_setImageWithURL:[NSURL URLWithString:backgroundImage] completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) { 402 [self.topBgImg sd_setImageWithURL:[NSURL URLWithString:backgroundImage] completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
403 if (image) { 403 if (image) {
@@ -411,7 +411,7 @@ static CGFloat moveHeight = 50; @@ -411,7 +411,7 @@ static CGFloat moveHeight = 50;
411 weakSelf.topBgImg.height = weakSelf.topBgImgHeight; 411 weakSelf.topBgImg.height = weakSelf.topBgImgHeight;
412 weakSelf.topBgImg.bottom = kStatusHeight+100; 412 weakSelf.topBgImg.bottom = kStatusHeight+100;
413 }]; 413 }];
414 - NSString *backgroundColor = [self.bgColors safetyObjectAtIndex:index]; 414 + NSString *backgroundColor = [self.bgColors wjj_safetyObjectAtIndex:index];
415 self.topBgImg.backgroundColor = CNLiveColorWithHexString(backgroundColor); 415 self.topBgImg.backgroundColor = CNLiveColorWithHexString(backgroundColor);
416 self.myCategoryView.titleColor = self.textColors[index]; 416 self.myCategoryView.titleColor = self.textColors[index];
417 self.myCategoryView.titleSelectedColor = self.textColorSeleteds[index]; 417 self.myCategoryView.titleSelectedColor = self.textColorSeleteds[index];
@@ -470,7 +470,7 @@ static CGFloat moveHeight = 50; @@ -470,7 +470,7 @@ static CGFloat moveHeight = 50;
470 if (index==-1) { 470 if (index==-1) {
471 continue; 471 continue;
472 } 472 }
473 - [tempOtherArray addObject:[tempAllArray safetyObjectAtIndex:index]]; 473 + [tempOtherArray addObject:[tempAllArray wjj_safetyObjectAtIndex:index]];
474 if (index<tempAllArray.count) { 474 if (index<tempAllArray.count) {
475 [tempAllArray removeObjectAtIndex:index]; 475 [tempAllArray removeObjectAtIndex:index];
476 } 476 }
@@ -485,7 +485,7 @@ static CGFloat moveHeight = 50; @@ -485,7 +485,7 @@ static CGFloat moveHeight = 50;
485 if (index==-1) { 485 if (index==-1) {
486 continue; 486 continue;
487 } 487 }
488 - [tempNormalArray addObject:[tempAllArray safetyObjectAtIndex:index]]; 488 + [tempNormalArray addObject:[tempAllArray wjj_safetyObjectAtIndex:index]];
489 if (index<tempAllArray.count) { 489 if (index<tempAllArray.count) {
490 [tempAllArray removeObjectAtIndex:index]; 490 [tempAllArray removeObjectAtIndex:index];
491 } 491 }
@@ -534,7 +534,7 @@ static CGFloat moveHeight = 50; @@ -534,7 +534,7 @@ static CGFloat moveHeight = 50;
534 if (index==-1) { 534 if (index==-1) {
535 continue; 535 continue;
536 } 536 }
537 - [tempOtherArray addObject:[tempAllArray safetyObjectAtIndex:index]]; 537 + [tempOtherArray addObject:[tempAllArray wjj_safetyObjectAtIndex:index]];
538 if (index<tempAllArray.count) { 538 if (index<tempAllArray.count) {
539 [tempAllArray removeObjectAtIndex:index]; 539 [tempAllArray removeObjectAtIndex:index];
540 } 540 }
@@ -550,7 +550,7 @@ static CGFloat moveHeight = 50; @@ -550,7 +550,7 @@ static CGFloat moveHeight = 50;
550 if (index==-1) { 550 if (index==-1) {
551 continue; 551 continue;
552 } 552 }
553 - [tempNormalArray addObject:[tempAllArray safetyObjectAtIndex:index]]; 553 + [tempNormalArray addObject:[tempAllArray wjj_safetyObjectAtIndex:index]];
554 if (index<tempAllArray.count) { 554 if (index<tempAllArray.count) {
555 [tempAllArray removeObjectAtIndex:index]; 555 [tempAllArray removeObjectAtIndex:index];
556 } 556 }
@@ -721,7 +721,7 @@ static CGFloat moveHeight = 50; @@ -721,7 +721,7 @@ static CGFloat moveHeight = 50;
721 // 跳到其他频道的对应页面 721 // 跳到其他频道的对应页面
722 NSString *otherKey = [NSString stringWithFormat:@"%@_%@",OtherChannelArray,CNUserShareModel.uid]; 722 NSString *otherKey = [NSString stringWithFormat:@"%@_%@",OtherChannelArray,CNUserShareModel.uid];
723 NSArray *otherArray = [[NSUserDefaults standardUserDefaults] objectForKey:otherKey]; 723 NSArray *otherArray = [[NSUserDefaults standardUserDefaults] objectForKey:otherKey];
724 - NSString *dataStr = [otherArray safetyObjectAtIndex:index]; 724 + NSString *dataStr = [otherArray wjj_safetyObjectAtIndex:index];
725 NSDictionary *dic = CNLiveStringJsonToDictionary(dataStr); 725 NSDictionary *dic = CNLiveStringJsonToDictionary(dataStr);
726 CNCategoryGetChannelModel *model = [CNCategoryGetChannelModel mj_objectWithKeyValues:dic]; 726 CNCategoryGetChannelModel *model = [CNCategoryGetChannelModel mj_objectWithKeyValues:dic];
727 NSDictionary *paramDic = nil; 727 NSDictionary *paramDic = nil;
@@ -819,7 +819,7 @@ static CGFloat moveHeight = 50; @@ -819,7 +819,7 @@ static CGFloat moveHeight = 50;
819 self.navigationController.interactivePopGestureRecognizer.enabled = (index == 0); 819 self.navigationController.interactivePopGestureRecognizer.enabled = (index == 0);
820 [self updateSelectColors:index]; 820 [self updateSelectColors:index];
821 [self configCategoryViewWithType:JXCategoryTitleImageType_OnlyImage selectIndex:index unselectIndex:index]; 821 [self configCategoryViewWithType:JXCategoryTitleImageType_OnlyImage selectIndex:index unselectIndex:index];
822 - CNCategoryGetChannelModel *model = (CNCategoryGetChannelModel *)[self.dataArray safetyObjectAtIndex:index]; 822 + CNCategoryGetChannelModel *model = (CNCategoryGetChannelModel *)[self.dataArray wjj_safetyObjectAtIndex:index];
823 if (![CNUserShareManager isLogin]) { 823 if (![CNUserShareManager isLogin]) {
824 [BHConfig set:ChannelsSelectFirst value:model.id]; 824 [BHConfig set:ChannelsSelectFirst value:model.id];
825 } 825 }
CNLiveVideoClassifyKit/Classes/ClassifyCategory/Controller/CNLiveSubSegmentController.m
@@ -353,7 +353,7 @@ @@ -353,7 +353,7 @@
353 weakSelf.bgImgView.height = KScreenWidth*image.size.height/image.size.width; 353 weakSelf.bgImgView.height = KScreenWidth*image.size.height/image.size.width;
354 } 354 }
355 }]; 355 }];
356 - CNCategoryGetChannelModel *model = (CNCategoryGetChannelModel *)[self.pageListArr safetyObjectAtIndex:self.ld_currentIndex]; 356 + CNCategoryGetChannelModel *model = (CNCategoryGetChannelModel *)[self.pageListArr wjj_safetyObjectAtIndex:self.ld_currentIndex];
357 if (![CNUserShareManager isLogin]) { 357 if (![CNUserShareManager isLogin]) {
358 [BHConfig set:ChannelsSelectSecond value:self.channelId]; 358 [BHConfig set:ChannelsSelectSecond value:self.channelId];
359 } 359 }
@@ -380,7 +380,7 @@ @@ -380,7 +380,7 @@
380 if (![CNUserShareManager isLogin] || [BHConfig boolValue:wjjIsShowWitnessShadeKey]) { 380 if (![CNUserShareManager isLogin] || [BHConfig boolValue:wjjIsShowWitnessShadeKey]) {
381 return; 381 return;
382 } 382 }
383 - CNCategoryGetChannelModel *model = (CNCategoryGetChannelModel *)[self.pageListArr safetyObjectAtIndex:self.ld_currentIndex]; 383 + CNCategoryGetChannelModel *model = (CNCategoryGetChannelModel *)[self.pageListArr wjj_safetyObjectAtIndex:self.ld_currentIndex];
384 if (![[NSUserDefaults standardUserDefaults] boolForKey:[NSString stringWithFormat:@"%@_%@",wjjIsShowWitnessShadeKey,CNUserShareModelUid]]) { 384 if (![[NSUserDefaults standardUserDefaults] boolForKey:[NSString stringWithFormat:@"%@_%@",wjjIsShowWitnessShadeKey,CNUserShareModelUid]]) {
385 [self showWitnessShadeViewWithModel:model]; 385 [self showWitnessShadeViewWithModel:model];
386 } else if (![[NSUserDefaults standardUserDefaults] boolForKey:[NSString stringWithFormat:@"%@_%@",wjjIsShowSupervisionShadeKey,CNUserShareModelUid]]) { 386 } else if (![[NSUserDefaults standardUserDefaults] boolForKey:[NSString stringWithFormat:@"%@_%@",wjjIsShowSupervisionShadeKey,CNUserShareModelUid]]) {
@@ -523,7 +523,7 @@ @@ -523,7 +523,7 @@
523 [[NSNotificationCenter defaultCenter] postNotificationName:WjjH5StopVideoPlayerNotification object:nil]; 523 [[NSNotificationCenter defaultCenter] postNotificationName:WjjH5StopVideoPlayerNotification object:nil];
524 [[NSNotificationCenter defaultCenter] postNotificationName:kDSHappinessPageControlScrollEnableNotification object:@(YES)]; 524 [[NSNotificationCenter defaultCenter] postNotificationName:kDSHappinessPageControlScrollEnableNotification object:@(YES)];
525 } 525 }
526 - CNCategoryGetChannelModel *model = (CNCategoryGetChannelModel *)[self.pageListArr safetyObjectAtIndex:index]; 526 + CNCategoryGetChannelModel *model = (CNCategoryGetChannelModel *)[self.pageListArr wjj_safetyObjectAtIndex:index];
527 if (![CNUserShareManager isLogin]) { 527 if (![CNUserShareManager isLogin]) {
528 [BHConfig set:ChannelsSelectSecond value:model.id]; 528 [BHConfig set:ChannelsSelectSecond value:model.id];
529 } 529 }
CNLiveVideoClassifyKit/Classes/ClassifyCategory/Header/CNLivevideoClassifyPCH.h
@@ -13,7 +13,8 @@ @@ -13,7 +13,8 @@
13 #import <CNLiveUserManagement/CNUserInfoManager.h> 13 #import <CNLiveUserManagement/CNUserInfoManager.h>
14 #import <JXCategoryView/JXCategoryView.h> 14 #import <JXCategoryView/JXCategoryView.h>
15 #import <Masonry/Masonry.h> 15 #import <Masonry/Masonry.h>
16 -#import <YYKit/YYKit.h> 16 +#import <YYCategories/YYCategories.h>
  17 +#import <YYCache/YYCache.h>
17 #import <SDWebImage/SDWebImage.h> 18 #import <SDWebImage/SDWebImage.h>
18 #import <CNLiveCommonCategory/CNLiveCommonCategory.h> 19 #import <CNLiveCommonCategory/CNLiveCommonCategory.h>
19 #import <CNLiveCommonCategory/UIColor+CNLiveExtension.h> 20 #import <CNLiveCommonCategory/UIColor+CNLiveExtension.h>
CNLiveVideoClassifyKit/Classes/ClassifyCategory/view/CNCustomChannelListView.m
@@ -320,7 +320,7 @@ static NSString * const headerIdentifier = @&quot;CustomChannelsHeader&quot;; @@ -320,7 +320,7 @@ static NSString * const headerIdentifier = @&quot;CustomChannelsHeader&quot;;
320 320
321 NSIndexPath *secondSectionIndexPath = [NSIndexPath indexPathForRow:self.otherChannel.count inSection:indexPath.section + 1]; 321 NSIndexPath *secondSectionIndexPath = [NSIndexPath indexPathForRow:self.otherChannel.count inSection:indexPath.section + 1];
322 322
323 - [self.otherChannel addObject:[self.commonChannel safetyObjectAtIndex:indexPath.row]]; 323 + [self.otherChannel addObject:[self.commonChannel wjj_safetyObjectAtIndex:indexPath.row]];
324 [self.commonChannel removeObjectAtIndex:indexPath.row]; 324 [self.commonChannel removeObjectAtIndex:indexPath.row];
325 325
326 CNCustomChannelListCell *cell = (CNCustomChannelListCell *)[self.collectionView cellForItemAtIndexPath:indexPath]; 326 CNCustomChannelListCell *cell = (CNCustomChannelListCell *)[self.collectionView cellForItemAtIndexPath:indexPath];
@@ -330,7 +330,7 @@ static NSString * const headerIdentifier = @&quot;CustomChannelsHeader&quot;; @@ -330,7 +330,7 @@ static NSString * const headerIdentifier = @&quot;CustomChannelsHeader&quot;;
330 else if (indexPath.section == 1) { 330 else if (indexPath.section == 1) {
331 331
332 NSIndexPath *firstSectionIndexPath = [NSIndexPath indexPathForRow:self.commonChannel.count inSection:indexPath.section - 1]; 332 NSIndexPath *firstSectionIndexPath = [NSIndexPath indexPathForRow:self.commonChannel.count inSection:indexPath.section - 1];
333 - [self.commonChannel addObject:[self.otherChannel safetyObjectAtIndex:indexPath.row]]; 333 + [self.commonChannel addObject:[self.otherChannel wjj_safetyObjectAtIndex:indexPath.row]];
334 [self.otherChannel removeObjectAtIndex:indexPath.row]; 334 [self.otherChannel removeObjectAtIndex:indexPath.row];
335 335
336 CNCustomChannelListCell *cell = (CNCustomChannelListCell *)[self.collectionView cellForItemAtIndexPath:indexPath]; 336 CNCustomChannelListCell *cell = (CNCustomChannelListCell *)[self.collectionView cellForItemAtIndexPath:indexPath];
@@ -415,7 +415,7 @@ static NSString * const headerIdentifier = @&quot;CustomChannelsHeader&quot;; @@ -415,7 +415,7 @@ static NSString * const headerIdentifier = @&quot;CustomChannelsHeader&quot;;
415 cell.userInteractionEnabled = NO; 415 cell.userInteractionEnabled = NO;
416 416
417 if (indexPath.section == 0) { 417 if (indexPath.section == 0) {
418 - NSString *dataStr = [self.commonChannel safetyObjectAtIndex:indexPath.row]; 418 + NSString *dataStr = [self.commonChannel wjj_safetyObjectAtIndex:indexPath.row];
419 NSDictionary *dic = CNLiveStringJsonToDictionary(dataStr); 419 NSDictionary *dic = CNLiveStringJsonToDictionary(dataStr);
420 CNCategoryGetChannelModel *model = [CNCategoryGetChannelModel mj_objectWithKeyValues:dic]; 420 CNCategoryGetChannelModel *model = [CNCategoryGetChannelModel mj_objectWithKeyValues:dic];
421 [cell.imageView sd_setImageWithURL:[NSURL URLWithString:model.icon?model.icon:@""] placeholderImage:[UIImage loadBundleImage:@"more_zwf"]]; 421 [cell.imageView sd_setImageWithURL:[NSURL URLWithString:model.icon?model.icon:@""] placeholderImage:[UIImage loadBundleImage:@"more_zwf"]];
@@ -433,7 +433,7 @@ static NSString * const headerIdentifier = @&quot;CustomChannelsHeader&quot;; @@ -433,7 +433,7 @@ static NSString * const headerIdentifier = @&quot;CustomChannelsHeader&quot;;
433 } 433 }
434 } 434 }
435 else if (indexPath.section == 1) { 435 else if (indexPath.section == 1) {
436 - NSString *dataStr = [self.otherChannel safetyObjectAtIndex:indexPath.row]; 436 + NSString *dataStr = [self.otherChannel wjj_safetyObjectAtIndex:indexPath.row];
437 NSDictionary *dic = CNLiveStringJsonToDictionary(dataStr); 437 NSDictionary *dic = CNLiveStringJsonToDictionary(dataStr);
438 CNCategoryGetChannelModel *model = [CNCategoryGetChannelModel mj_objectWithKeyValues:dic]; 438 CNCategoryGetChannelModel *model = [CNCategoryGetChannelModel mj_objectWithKeyValues:dic];
439 [cell.imageView sd_setImageWithURL:[NSURL URLWithString:model.icon?model.icon:@""] placeholderImage:[UIImage loadBundleImage:@"more_zwf"]]; 439 [cell.imageView sd_setImageWithURL:[NSURL URLWithString:model.icon?model.icon:@""] placeholderImage:[UIImage loadBundleImage:@"more_zwf"]];
Example/CNLiveVideoClassifyKit.xcodeproj/project.pbxproj
@@ -9,7 +9,6 @@ @@ -9,7 +9,6 @@
9 /* Begin PBXBuildFile section */ 9 /* Begin PBXBuildFile section */
10 083CB9C326D4ED2000E21EBC /* CNliveCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 0816338E26BE298900B076D6 /* CNliveCollectionViewCell.m */; }; 10 083CB9C326D4ED2000E21EBC /* CNliveCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 0816338E26BE298900B076D6 /* CNliveCollectionViewCell.m */; };
11 08DAFBDE26E8A2660099999A /* CNTools.m in Sources */ = {isa = PBXBuildFile; fileRef = 08DAFBDC26E8A2660099999A /* CNTools.m */; }; 11 08DAFBDE26E8A2660099999A /* CNTools.m in Sources */ = {isa = PBXBuildFile; fileRef = 08DAFBDC26E8A2660099999A /* CNTools.m */; };
12 - 08DAFBE326E9B63F0099999A /* CNLiveWebViewModuleImpl.m in Sources */ = {isa = PBXBuildFile; fileRef = 08DAFBE226E9B63F0099999A /* CNLiveWebViewModuleImpl.m */; };  
13 08DAFBEA26E9E99C0099999A /* CNLiveClassifyKitImpl.m in Sources */ = {isa = PBXBuildFile; fileRef = 08DAFBE926E9E99C0099999A /* CNLiveClassifyKitImpl.m */; }; 12 08DAFBEA26E9E99C0099999A /* CNLiveClassifyKitImpl.m in Sources */ = {isa = PBXBuildFile; fileRef = 08DAFBE926E9E99C0099999A /* CNLiveClassifyKitImpl.m */; };
14 08DAFBED26E9EA7E0099999A /* CNLIVEDemoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 08DAFBEC26E9EA7E0099999A /* CNLIVEDemoViewController.m */; }; 13 08DAFBED26E9EA7E0099999A /* CNLIVEDemoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 08DAFBEC26E9EA7E0099999A /* CNLIVEDemoViewController.m */; };
15 14963F4E510A1E5865D15ED8 /* Pods_CNLiveVideoClassifyKit_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7743536FE5FB6796BFAA55B5 /* Pods_CNLiveVideoClassifyKit_Tests.framework */; }; 14 14963F4E510A1E5865D15ED8 /* Pods_CNLiveVideoClassifyKit_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7743536FE5FB6796BFAA55B5 /* Pods_CNLiveVideoClassifyKit_Tests.framework */; };
@@ -46,8 +45,6 @@ @@ -46,8 +45,6 @@
46 0816338E26BE298900B076D6 /* CNliveCollectionViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CNliveCollectionViewCell.m; sourceTree = "<group>"; }; 45 0816338E26BE298900B076D6 /* CNliveCollectionViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CNliveCollectionViewCell.m; sourceTree = "<group>"; };
47 08DAFBDC26E8A2660099999A /* CNTools.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNTools.m; sourceTree = "<group>"; }; 46 08DAFBDC26E8A2660099999A /* CNTools.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNTools.m; sourceTree = "<group>"; };
48 08DAFBDD26E8A2660099999A /* CNTools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNTools.h; sourceTree = "<group>"; }; 47 08DAFBDD26E8A2660099999A /* CNTools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNTools.h; sourceTree = "<group>"; };
49 - 08DAFBE126E9B63F0099999A /* CNLiveWebViewModuleImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNLiveWebViewModuleImpl.h; sourceTree = "<group>"; };  
50 - 08DAFBE226E9B63F0099999A /* CNLiveWebViewModuleImpl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNLiveWebViewModuleImpl.m; sourceTree = "<group>"; };  
51 08DAFBE826E9E99C0099999A /* CNLiveClassifyKitImpl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CNLiveClassifyKitImpl.h; sourceTree = "<group>"; }; 48 08DAFBE826E9E99C0099999A /* CNLiveClassifyKitImpl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CNLiveClassifyKitImpl.h; sourceTree = "<group>"; };
52 08DAFBE926E9E99C0099999A /* CNLiveClassifyKitImpl.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CNLiveClassifyKitImpl.m; sourceTree = "<group>"; }; 49 08DAFBE926E9E99C0099999A /* CNLiveClassifyKitImpl.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CNLiveClassifyKitImpl.m; sourceTree = "<group>"; };
53 08DAFBEB26E9EA7E0099999A /* CNLIVEDemoViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CNLIVEDemoViewController.h; sourceTree = "<group>"; }; 50 08DAFBEB26E9EA7E0099999A /* CNLIVEDemoViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CNLIVEDemoViewController.h; sourceTree = "<group>"; };
@@ -158,8 +155,6 @@ @@ -158,8 +155,6 @@
158 0816338E26BE298900B076D6 /* CNliveCollectionViewCell.m */, 155 0816338E26BE298900B076D6 /* CNliveCollectionViewCell.m */,
159 08DAFBDD26E8A2660099999A /* CNTools.h */, 156 08DAFBDD26E8A2660099999A /* CNTools.h */,
160 08DAFBDC26E8A2660099999A /* CNTools.m */, 157 08DAFBDC26E8A2660099999A /* CNTools.m */,
161 - 08DAFBE126E9B63F0099999A /* CNLiveWebViewModuleImpl.h */,  
162 - 08DAFBE226E9B63F0099999A /* CNLiveWebViewModuleImpl.m */,  
163 08DAFBE826E9E99C0099999A /* CNLiveClassifyKitImpl.h */, 158 08DAFBE826E9E99C0099999A /* CNLiveClassifyKitImpl.h */,
164 08DAFBE926E9E99C0099999A /* CNLiveClassifyKitImpl.m */, 159 08DAFBE926E9E99C0099999A /* CNLiveClassifyKitImpl.m */,
165 71719F9D1E33DC2100824A3D /* LaunchScreen.storyboard */, 160 71719F9D1E33DC2100824A3D /* LaunchScreen.storyboard */,
@@ -379,48 +374,40 @@ @@ -379,48 +374,40 @@
379 "${BUILT_PRODUCTS_DIR}/AFNetworking/AFNetworking.framework", 374 "${BUILT_PRODUCTS_DIR}/AFNetworking/AFNetworking.framework",
380 "${BUILT_PRODUCTS_DIR}/CNLiveBaseKit/CNLiveBaseKit.framework", 375 "${BUILT_PRODUCTS_DIR}/CNLiveBaseKit/CNLiveBaseKit.framework",
381 "${BUILT_PRODUCTS_DIR}/CNLiveBeeHive/CNLiveBeeHive.framework", 376 "${BUILT_PRODUCTS_DIR}/CNLiveBeeHive/CNLiveBeeHive.framework",
382 - "${BUILT_PRODUCTS_DIR}/CNLiveBusinessTools/CNLiveBusinessTools.framework",  
383 - "${BUILT_PRODUCTS_DIR}/CNLiveCWebViewModule/CNLiveCWebViewModule.framework",  
384 "${BUILT_PRODUCTS_DIR}/CNLiveCategory/CNLiveCategory.framework", 377 "${BUILT_PRODUCTS_DIR}/CNLiveCategory/CNLiveCategory.framework",
385 "${BUILT_PRODUCTS_DIR}/CNLiveCommonCategory/CNLiveCommonCategory.framework", 378 "${BUILT_PRODUCTS_DIR}/CNLiveCommonCategory/CNLiveCommonCategory.framework",
386 - "${BUILT_PRODUCTS_DIR}/CNLiveCustomUI/CNLiveCustomUI.framework",  
387 "${BUILT_PRODUCTS_DIR}/CNLiveEnvironment/CNLiveEnvironment.framework", 379 "${BUILT_PRODUCTS_DIR}/CNLiveEnvironment/CNLiveEnvironment.framework",
  380 + "${BUILT_PRODUCTS_DIR}/CNLiveNewTripartiteManagement/CNLiveNewTripartiteManagement.framework",
388 "${BUILT_PRODUCTS_DIR}/CNLiveRequestBastKit/CNLiveRequestBastKit.framework", 381 "${BUILT_PRODUCTS_DIR}/CNLiveRequestBastKit/CNLiveRequestBastKit.framework",
389 - "${BUILT_PRODUCTS_DIR}/CNLiveTripartiteManagement/CNLiveTripartiteManagement.framework",  
390 "${BUILT_PRODUCTS_DIR}/CNLiveUserManagement/CNLiveUserManagement.framework", 382 "${BUILT_PRODUCTS_DIR}/CNLiveUserManagement/CNLiveUserManagement.framework",
391 "${BUILT_PRODUCTS_DIR}/FWDebug/FWDebug.framework", 383 "${BUILT_PRODUCTS_DIR}/FWDebug/FWDebug.framework",
392 "${BUILT_PRODUCTS_DIR}/JXCategoryView/JXCategoryView.framework", 384 "${BUILT_PRODUCTS_DIR}/JXCategoryView/JXCategoryView.framework",
393 "${BUILT_PRODUCTS_DIR}/MJExtension/MJExtension.framework", 385 "${BUILT_PRODUCTS_DIR}/MJExtension/MJExtension.framework",
394 - "${BUILT_PRODUCTS_DIR}/MJRefresh/MJRefresh.framework",  
395 "${BUILT_PRODUCTS_DIR}/Masonry/Masonry.framework", 386 "${BUILT_PRODUCTS_DIR}/Masonry/Masonry.framework",
396 "${BUILT_PRODUCTS_DIR}/QMUIKit/QMUIKit.framework", 387 "${BUILT_PRODUCTS_DIR}/QMUIKit/QMUIKit.framework",
397 "${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework", 388 "${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework",
398 - "${BUILT_PRODUCTS_DIR}/WebViewJavascriptBridge/WebViewJavascriptBridge.framework",  
399 - "${BUILT_PRODUCTS_DIR}/YYKit/YYKit.framework", 389 + "${BUILT_PRODUCTS_DIR}/YYCache/YYCache.framework",
  390 + "${BUILT_PRODUCTS_DIR}/YYCategories/YYCategories.framework",
400 ); 391 );
401 name = "[CP] Embed Pods Frameworks"; 392 name = "[CP] Embed Pods Frameworks";
402 outputPaths = ( 393 outputPaths = (
403 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AFNetworking.framework", 394 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AFNetworking.framework",
404 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveBaseKit.framework", 395 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveBaseKit.framework",
405 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveBeeHive.framework", 396 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveBeeHive.framework",
406 - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveBusinessTools.framework",  
407 - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveCWebViewModule.framework",  
408 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveCategory.framework", 397 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveCategory.framework",
409 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveCommonCategory.framework", 398 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveCommonCategory.framework",
410 - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveCustomUI.framework",  
411 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveEnvironment.framework", 399 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveEnvironment.framework",
  400 + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveNewTripartiteManagement.framework",
412 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveRequestBastKit.framework", 401 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveRequestBastKit.framework",
413 - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveTripartiteManagement.framework",  
414 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveUserManagement.framework", 402 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveUserManagement.framework",
415 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FWDebug.framework", 403 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FWDebug.framework",
416 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/JXCategoryView.framework", 404 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/JXCategoryView.framework",
417 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MJExtension.framework", 405 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MJExtension.framework",
418 - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MJRefresh.framework",  
419 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Masonry.framework", 406 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Masonry.framework",
420 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/QMUIKit.framework", 407 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/QMUIKit.framework",
421 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework", 408 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework",
422 - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/WebViewJavascriptBridge.framework",  
423 - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/YYKit.framework", 409 + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/YYCache.framework",
  410 + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/YYCategories.framework",
424 ); 411 );
425 runOnlyForDeploymentPostprocessing = 0; 412 runOnlyForDeploymentPostprocessing = 0;
426 shellPath = /bin/sh; 413 shellPath = /bin/sh;
@@ -458,7 +445,6 @@ @@ -458,7 +445,6 @@
458 6003F59E195388D20070C39A /* CNLIVEAppDelegate.m in Sources */, 445 6003F59E195388D20070C39A /* CNLIVEAppDelegate.m in Sources */,
459 6003F5A7195388D20070C39A /* CNLIVEViewController.m in Sources */, 446 6003F5A7195388D20070C39A /* CNLIVEViewController.m in Sources */,
460 6003F59A195388D20070C39A /* main.m in Sources */, 447 6003F59A195388D20070C39A /* main.m in Sources */,
461 - 08DAFBE326E9B63F0099999A /* CNLiveWebViewModuleImpl.m in Sources */,  
462 08DAFBDE26E8A2660099999A /* CNTools.m in Sources */, 448 08DAFBDE26E8A2660099999A /* CNTools.m in Sources */,
463 ); 449 );
464 runOnlyForDeploymentPostprocessing = 0; 450 runOnlyForDeploymentPostprocessing = 0;
Example/CNLiveVideoClassifyKit/CNLiveClassifyKitImpl.m
@@ -9,8 +9,7 @@ @@ -9,8 +9,7 @@
9 #import "CNLiveClassifyKitImpl.h" 9 #import "CNLiveClassifyKitImpl.h"
10 #import "CNLIVEDemoViewController.h" 10 #import "CNLIVEDemoViewController.h"
11 #import "CNLIVEViewController.h" 11 #import "CNLIVEViewController.h"
12 -#import <CNLiveCWebViewModule/CNLiveCWebViewModule.h>  
13 -#import <CNLiveCWebViewModule/CNLiveSubWebViewController.h> 12 +
14 #import <CNLiveCommonCategory/NSString+CNLiveUrlEncode.h> 13 #import <CNLiveCommonCategory/NSString+CNLiveUrlEncode.h>
15 14
16 @implementation CNLiveClassifyKitImpl 15 @implementation CNLiveClassifyKitImpl
@@ -23,22 +22,9 @@ @@ -23,22 +22,9 @@
23 }else if (pageType == 2){ 22 }else if (pageType == 2){
24 CNLIVEViewController *demo = [CNLIVEViewController new]; 23 CNLIVEViewController *demo = [CNLIVEViewController new];
25 return demo; 24 return demo;
26 - }else if (pageType == 7){ 25 + }else{
27 CNLIVEViewController *demo = [CNLIVEViewController new]; 26 CNLIVEViewController *demo = [CNLIVEViewController new];
28 return demo; 27 return demo;
29 - }else{  
30 - NSString *thirdUrl = param[@"thirdUrl"];  
31 - NSString *backgroundColor = param[@"backgroundColor"];  
32 - NSString *backImageH5 = param[@"backgroundImgH5"];  
33 - if (!CNLiveStringIsEmpty(thirdUrl)) {  
34 - NSString *andStr = @"&";  
35 - if (![thirdUrl cn_containsString:@"?"]) {  
36 - andStr = @"?";  
37 - }  
38 - thirdUrl = [thirdUrl stringByAppendingFormat:@"%@backgroundColor=%@&backgroundImgH5=%@",andStr,backgroundColor?[backgroundColor urlEncode]:@"",backImageH5?[backImageH5 urlEncode]:@""];  
39 - }  
40 - CNLiveSubWebViewController *subVC = [CNLiveCWebViewModule showWebVCWithLunchForWebURL:thirdUrl ParamDict:param ShowType:CNLiveWebViewLunchShowTypeHidden];  
41 - return subVC;  
42 } 28 }
43 29
44 } 30 }
Example/Podfile
@@ -8,24 +8,24 @@ target &#39;CNLiveVideoClassifyKit_Example&#39; do @@ -8,24 +8,24 @@ target &#39;CNLiveVideoClassifyKit_Example&#39; do
8 pod 'CNLiveVideoClassifyKit', :path => '../' 8 pod 'CNLiveVideoClassifyKit', :path => '../'
9 pod 'CNLiveEnvironment' 9 pod 'CNLiveEnvironment'
10 pod 'CNLiveRequestBastKit' 10 pod 'CNLiveRequestBastKit'
11 - pod 'CNLiveCWebViewModule' 11 +# pod 'CNLiveCWebViewModule'
12 pod 'FWDebug', :configurations => ['Debug'] 12 pod 'FWDebug', :configurations => ['Debug']
13 - #依赖三方私有库,如果里面有.a的时候加上这个  
14 - pre_install do |installer| Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {} 13 +# #依赖三方私有库,如果里面有.a的时候加上这个
  14 +# pre_install do |installer| Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {}
15 ############################################ #删除WebViewJavascriptBridge中的WebViewJavascriptBridge.h和WebViewJavascriptBridge.m文件 15 ############################################ #删除WebViewJavascriptBridge中的WebViewJavascriptBridge.h和WebViewJavascriptBridge.m文件
16 16
17 - dir_web = File.join(installer.sandbox.pod_dir('WebViewJavascriptBridge'), 'WebViewJavascriptBridge')  
18 - Dir.foreach(dir_web) {|x|  
19 - real_path = File.join(dir_web, x)  
20 - if (!File.directory?(real_path) && File.exists?(real_path))  
21 - if(x == 'WebViewJavascriptBridge.h' || x == 'WebViewJavascriptBridge.m')  
22 - File.delete(real_path)  
23 - end  
24 - end  
25 - }  
26 - #删除WebViewJavascriptBridge中的WebViewJavascriptBridge.h和WebViewJavascriptBridge.m文件  
27 - #################################################  
28 - end 17 +# dir_web = File.join(installer.sandbox.pod_dir('WebViewJavascriptBridge'), 'WebViewJavascriptBridge')
  18 +# Dir.foreach(dir_web) {|x|
  19 +# real_path = File.join(dir_web, x)
  20 +# if (!File.directory?(real_path) && File.exists?(real_path))
  21 +# if(x == 'WebViewJavascriptBridge.h' || x == 'WebViewJavascriptBridge.m')
  22 +# File.delete(real_path)
  23 +# end
  24 +# end
  25 +# }
  26 +# #删除WebViewJavascriptBridge中的WebViewJavascriptBridge.h和WebViewJavascriptBridge.m文件
  27 +# #################################################
  28 +# end
29 29
30 post_install do |installer_representation| 30 post_install do |installer_representation|
31 installer_representation.pods_project.targets.each do |target| 31 installer_representation.pods_project.targets.each do |target|
Example/Podfile.lock 0 → 100644
  1 +PODS:
  2 + - AFNetworking (4.0.1):
  3 + - AFNetworking/NSURLSession (= 4.0.1)
  4 + - AFNetworking/Reachability (= 4.0.1)
  5 + - AFNetworking/Security (= 4.0.1)
  6 + - AFNetworking/Serialization (= 4.0.1)
  7 + - AFNetworking/UIKit (= 4.0.1)
  8 + - AFNetworking/NSURLSession (4.0.1):
  9 + - AFNetworking/Reachability
  10 + - AFNetworking/Security
  11 + - AFNetworking/Serialization
  12 + - AFNetworking/Reachability (4.0.1)
  13 + - AFNetworking/Security (4.0.1)
  14 + - AFNetworking/Serialization (4.0.1)
  15 + - AFNetworking/UIKit (4.0.1):
  16 + - AFNetworking/NSURLSession
  17 + - CNLiveBaseKit (0.1.23):
  18 + - CNLiveNewTripartiteManagement/MJExtension
  19 + - CNLiveBeeHive (0.1.9)
  20 + - CNLiveCategory (0.0.2):
  21 + - CNLiveCategory/Object (= 0.0.2)
  22 + - CNLiveCategory/Object (0.0.2)
  23 + - CNLiveCommonCategory (0.5.2):
  24 + - CNLiveCommonCategory/ARC (= 0.5.2)
  25 + - CNLiveCommonCategory/ImageInBundle (= 0.5.2)
  26 + - CNLiveCommonCategory/ARC (0.5.2)
  27 + - CNLiveCommonCategory/ImageInBundle (0.5.2)
  28 + - CNLiveEnvironment (0.3.3)
  29 + - CNLiveNewTripartiteManagement/Masonry (0.2.0.5):
  30 + - Masonry (= 1.1.0)
  31 + - CNLiveNewTripartiteManagement/MJExtension (0.2.0.5):
  32 + - MJExtension (= 3.2.1)
  33 + - CNLiveNewTripartiteManagement/QMUIKit (0.2.0.5):
  34 + - QMUIKit (= 4.2.1)
  35 + - CNLiveNewTripartiteManagement/SDWebImage (0.2.0.5):
  36 + - SDWebImage (= 5.2.3)
  37 + - CNLiveNewTripartiteManagement/YYCache (0.2.0.5):
  38 + - YYCache (= 1.0.4)
  39 + - CNLiveNewTripartiteManagement/YYCategories (0.2.0.5):
  40 + - YYCategories (= 1.0.4)
  41 + - CNLiveRequestBastKit (0.2.5.6):
  42 + - AFNetworking
  43 + - CNLiveUserManagement (0.1.5):
  44 + - CNLiveNewTripartiteManagement/MJExtension
  45 + - CNLiveVideoClassifyKit (0.0.17):
  46 + - CNLiveBaseKit
  47 + - CNLiveBeeHive
  48 + - CNLiveCategory
  49 + - CNLiveCommonCategory
  50 + - CNLiveEnvironment
  51 + - CNLiveNewTripartiteManagement/Masonry
  52 + - CNLiveNewTripartiteManagement/MJExtension
  53 + - CNLiveNewTripartiteManagement/QMUIKit
  54 + - CNLiveNewTripartiteManagement/SDWebImage
  55 + - CNLiveNewTripartiteManagement/YYCache
  56 + - CNLiveNewTripartiteManagement/YYCategories
  57 + - CNLiveUserManagement
  58 + - JXCategoryView
  59 + - UMCCommon
  60 + - FWDebug (1.10.1)
  61 + - JXCategoryView (1.5.9)
  62 + - Masonry (1.1.0)
  63 + - MJExtension (3.2.1)
  64 + - QMUIKit (4.2.1):
  65 + - QMUIKit/QMUIComponents (= 4.2.1)
  66 + - QMUIKit/QMUICore (= 4.2.1)
  67 + - QMUIKit/QMUILog (= 4.2.1)
  68 + - QMUIKit/QMUIMainFrame (= 4.2.1)
  69 + - QMUIKit/QMUIResources (= 4.2.1)
  70 + - QMUIKit/QMUIWeakObjectContainer (= 4.2.1)
  71 + - QMUIKit/QMUIComponents (4.2.1):
  72 + - QMUIKit/QMUIComponents/NavigationBarTransition (= 4.2.1)
  73 + - QMUIKit/QMUIComponents/QMUIAlertController (= 4.2.1)
  74 + - QMUIKit/QMUIComponents/QMUIAnimation (= 4.2.1)
  75 + - QMUIKit/QMUIComponents/QMUIAppearance (= 4.2.1)
  76 + - QMUIKit/QMUIComponents/QMUIAssetLibrary (= 4.2.1)
  77 + - QMUIKit/QMUIComponents/QMUIBadge (= 4.2.1)
  78 + - QMUIKit/QMUIComponents/QMUIButton (= 4.2.1)
  79 + - QMUIKit/QMUIComponents/QMUICAAnimationExtension (= 4.2.1)
  80 + - QMUIKit/QMUIComponents/QMUICALayerExtension (= 4.2.1)
  81 + - QMUIKit/QMUIComponents/QMUICellHeightCache (= 4.2.1)
  82 + - QMUIKit/QMUIComponents/QMUICellHeightKeyCache (= 4.2.1)
  83 + - QMUIKit/QMUIComponents/QMUICellSizeKeyCache (= 4.2.1)
  84 + - QMUIKit/QMUIComponents/QMUICollectionViewPagingLayout (= 4.2.1)
  85 + - QMUIKit/QMUIComponents/QMUIConsole (= 4.2.1)
  86 + - QMUIKit/QMUIComponents/QMUIDialogViewController (= 4.2.1)
  87 + - QMUIKit/QMUIComponents/QMUIEmotionInputManager (= 4.2.1)
  88 + - QMUIKit/QMUIComponents/QMUIEmotionView (= 4.2.1)
  89 + - QMUIKit/QMUIComponents/QMUIEmptyView (= 4.2.1)
  90 + - QMUIKit/QMUIComponents/QMUIFillButton (= 4.2.1)
  91 + - QMUIKit/QMUIComponents/QMUIFloatLayoutView (= 4.2.1)
  92 + - QMUIKit/QMUIComponents/QMUIGhostButton (= 4.2.1)
  93 + - QMUIKit/QMUIComponents/QMUIGridView (= 4.2.1)
  94 + - QMUIKit/QMUIComponents/QMUIImagePickerLibrary (= 4.2.1)
  95 + - QMUIKit/QMUIComponents/QMUIImagePreviewView (= 4.2.1)
  96 + - QMUIKit/QMUIComponents/QMUIKeyboardManager (= 4.2.1)
  97 + - QMUIKit/QMUIComponents/QMUILabel (= 4.2.1)
  98 + - QMUIKit/QMUIComponents/QMUILinkButton (= 4.2.1)
  99 + - QMUIKit/QMUIComponents/QMUILogManagerViewController (= 4.2.1)
  100 + - QMUIKit/QMUIComponents/QMUILogWithConfigurationSupported (= 4.2.1)
  101 + - QMUIKit/QMUIComponents/QMUIMarqueeLabel (= 4.2.1)
  102 + - QMUIKit/QMUIComponents/QMUIModalPresentationViewController (= 4.2.1)
  103 + - QMUIKit/QMUIComponents/QMUIMoreOperationController (= 4.2.1)
  104 + - QMUIKit/QMUIComponents/QMUIMultipleDelegates (= 4.2.1)
  105 + - QMUIKit/QMUIComponents/QMUINavigationButton (= 4.2.1)
  106 + - QMUIKit/QMUIComponents/QMUINavigationTitleView (= 4.2.1)
  107 + - QMUIKit/QMUIComponents/QMUIOrderedDictionary (= 4.2.1)
  108 + - QMUIKit/QMUIComponents/QMUIPieProgressView (= 4.2.1)
  109 + - QMUIKit/QMUIComponents/QMUIPopupContainerView (= 4.2.1)
  110 + - QMUIKit/QMUIComponents/QMUIPopupMenuView (= 4.2.1)
  111 + - QMUIKit/QMUIComponents/QMUIScrollAnimator (= 4.2.1)
  112 + - QMUIKit/QMUIComponents/QMUISearchBar (= 4.2.1)
  113 + - QMUIKit/QMUIComponents/QMUISearchController (= 4.2.1)
  114 + - QMUIKit/QMUIComponents/QMUISegmentedControl (= 4.2.1)
  115 + - QMUIKit/QMUIComponents/QMUISlider (= 4.2.1)
  116 + - QMUIKit/QMUIComponents/QMUIStaticTableView (= 4.2.1)
  117 + - QMUIKit/QMUIComponents/QMUITableView (= 4.2.1)
  118 + - QMUIKit/QMUIComponents/QMUITableViewCell (= 4.2.1)
  119 + - QMUIKit/QMUIComponents/QMUITableViewHeaderFooterView (= 4.2.1)
  120 + - QMUIKit/QMUIComponents/QMUITableViewProtocols (= 4.2.1)
  121 + - QMUIKit/QMUIComponents/QMUITestView (= 4.2.1)
  122 + - QMUIKit/QMUIComponents/QMUITextField (= 4.2.1)
  123 + - QMUIKit/QMUIComponents/QMUITextView (= 4.2.1)
  124 + - QMUIKit/QMUIComponents/QMUITheme (= 4.2.1)
  125 + - QMUIKit/QMUIComponents/QMUITips (= 4.2.1)
  126 + - QMUIKit/QMUIComponents/QMUIToastView (= 4.2.1)
  127 + - QMUIKit/QMUIComponents/QMUIToolbarButton (= 4.2.1)
  128 + - QMUIKit/QMUIComponents/QMUIVisualEffectView (= 4.2.1)
  129 + - QMUIKit/QMUIComponents/QMUIWindowSizeMonitor (= 4.2.1)
  130 + - QMUIKit/QMUIComponents/QMUIZoomImageView (= 4.2.1)
  131 + - QMUIKit/QMUICore
  132 + - QMUIKit/QMUIComponents/NavigationBarTransition (4.2.1):
  133 + - QMUIKit/QMUIComponents/QMUINavigationTitleView
  134 + - QMUIKit/QMUICore
  135 + - QMUIKit/QMUIMainFrame
  136 + - QMUIKit/QMUIComponents/QMUIAlertController (4.2.1):
  137 + - QMUIKit/QMUIComponents/QMUIAppearance
  138 + - QMUIKit/QMUIComponents/QMUIButton
  139 + - QMUIKit/QMUIComponents/QMUIKeyboardManager
  140 + - QMUIKit/QMUIComponents/QMUIModalPresentationViewController
  141 + - QMUIKit/QMUIComponents/QMUITextField
  142 + - QMUIKit/QMUICore
  143 + - QMUIKit/QMUIComponents/QMUIAnimation (4.2.1):
  144 + - QMUIKit/QMUICore
  145 + - QMUIKit/QMUIComponents/QMUIAppearance (4.2.1):
  146 + - QMUIKit/QMUICore
  147 + - QMUIKit/QMUIComponents/QMUIAssetLibrary (4.2.1):
  148 + - QMUIKit/QMUICore
  149 + - QMUIKit/QMUIComponents/QMUIBadge (4.2.1):
  150 + - QMUIKit/QMUIComponents/QMUILabel
  151 + - QMUIKit/QMUICore
  152 + - QMUIKit/QMUIComponents/QMUIButton (4.2.1):
  153 + - QMUIKit/QMUICore
  154 + - QMUIKit/QMUIComponents/QMUICAAnimationExtension (4.2.1):
  155 + - QMUIKit/QMUIComponents/QMUIMultipleDelegates
  156 + - QMUIKit/QMUICore
  157 + - QMUIKit/QMUIComponents/QMUICALayerExtension (4.2.1):
  158 + - QMUIKit/QMUIComponents/QMUIMultipleDelegates
  159 + - QMUIKit/QMUICore
  160 + - QMUIKit/QMUIComponents/QMUICellHeightCache (4.2.1):
  161 + - QMUIKit/QMUIComponents/QMUITableViewProtocols
  162 + - QMUIKit/QMUICore
  163 + - QMUIKit/QMUIComponents/QMUICellHeightKeyCache (4.2.1):
  164 + - QMUIKit/QMUIComponents/QMUIMultipleDelegates
  165 + - QMUIKit/QMUIComponents/QMUITableViewProtocols
  166 + - QMUIKit/QMUICore
  167 + - QMUIKit/QMUIComponents/QMUICellSizeKeyCache (4.2.1):
  168 + - QMUIKit/QMUIComponents/QMUIMultipleDelegates
  169 + - QMUIKit/QMUICore
  170 + - QMUIKit/QMUIComponents/QMUICollectionViewPagingLayout (4.2.1):
  171 + - QMUIKit/QMUICore
  172 + - QMUIKit/QMUIComponents/QMUIConsole (4.2.1):
  173 + - QMUIKit/QMUIComponents/QMUIButton
  174 + - QMUIKit/QMUIComponents/QMUICAAnimationExtension
  175 + - QMUIKit/QMUIComponents/QMUIPopupMenuView
  176 + - QMUIKit/QMUIComponents/QMUITextField
  177 + - QMUIKit/QMUIComponents/QMUITextView
  178 + - QMUIKit/QMUICore
  179 + - QMUIKit/QMUIResources
  180 + - QMUIKit/QMUIComponents/QMUIDialogViewController (4.2.1):
  181 + - QMUIKit/QMUIComponents/QMUIAppearance
  182 + - QMUIKit/QMUIComponents/QMUIButton
  183 + - QMUIKit/QMUIComponents/QMUILabel
  184 + - QMUIKit/QMUIComponents/QMUIModalPresentationViewController
  185 + - QMUIKit/QMUIComponents/QMUINavigationTitleView
  186 + - QMUIKit/QMUIComponents/QMUITableView
  187 + - QMUIKit/QMUIComponents/QMUITableViewCell
  188 + - QMUIKit/QMUIComponents/QMUITextField
  189 + - QMUIKit/QMUICore
  190 + - QMUIKit/QMUIMainFrame
  191 + - QMUIKit/QMUIComponents/QMUIEmotionInputManager (4.2.1):
  192 + - QMUIKit/QMUIComponents/QMUIEmotionView
  193 + - QMUIKit/QMUICore
  194 + - QMUIKit/QMUIComponents/QMUIEmotionView (4.2.1):
  195 + - QMUIKit/QMUIComponents/QMUIButton
  196 + - QMUIKit/QMUICore
  197 + - QMUIKit/QMUIResources
  198 + - QMUIKit/QMUIComponents/QMUIEmptyView (4.2.1):
  199 + - QMUIKit/QMUIComponents/QMUIAppearance
  200 + - QMUIKit/QMUIComponents/QMUIButton
  201 + - QMUIKit/QMUICore
  202 + - QMUIKit/QMUIComponents/QMUIFillButton (4.2.1):
  203 + - QMUIKit/QMUIComponents/QMUIButton
  204 + - QMUIKit/QMUICore
  205 + - QMUIKit/QMUIComponents/QMUIFloatLayoutView (4.2.1):
  206 + - QMUIKit/QMUICore
  207 + - QMUIKit/QMUIComponents/QMUIGhostButton (4.2.1):
  208 + - QMUIKit/QMUIComponents/QMUIButton
  209 + - QMUIKit/QMUICore
  210 + - QMUIKit/QMUIComponents/QMUIGridView (4.2.1):
  211 + - QMUIKit/QMUICore
  212 + - QMUIKit/QMUIComponents/QMUIImagePickerLibrary (4.2.1):
  213 + - QMUIKit/QMUIComponents/QMUIAlertController
  214 + - QMUIKit/QMUIComponents/QMUIAppearance
  215 + - QMUIKit/QMUIComponents/QMUIAssetLibrary
  216 + - QMUIKit/QMUIComponents/QMUIButton
  217 + - QMUIKit/QMUIComponents/QMUIEmptyView
  218 + - QMUIKit/QMUIComponents/QMUIImagePreviewView
  219 + - QMUIKit/QMUIComponents/QMUINavigationButton
  220 + - QMUIKit/QMUIComponents/QMUITableViewCell
  221 + - QMUIKit/QMUIComponents/QMUIZoomImageView
  222 + - QMUIKit/QMUICore
  223 + - QMUIKit/QMUIMainFrame
  224 + - QMUIKit/QMUIResources
  225 + - QMUIKit/QMUIComponents/QMUIImagePreviewView (4.2.1):
  226 + - QMUIKit/QMUIComponents/QMUIAppearance
  227 + - QMUIKit/QMUIComponents/QMUIButton
  228 + - QMUIKit/QMUIComponents/QMUICollectionViewPagingLayout
  229 + - QMUIKit/QMUIComponents/QMUIEmptyView
  230 + - QMUIKit/QMUIComponents/QMUIPieProgressView
  231 + - QMUIKit/QMUIComponents/QMUIZoomImageView
  232 + - QMUIKit/QMUICore
  233 + - QMUIKit/QMUIMainFrame
  234 + - QMUIKit/QMUIComponents/QMUIKeyboardManager (4.2.1):
  235 + - QMUIKit/QMUIComponents/QMUIAppearance
  236 + - QMUIKit/QMUICore
  237 + - QMUIKit/QMUIComponents/QMUILabel (4.2.1):
  238 + - QMUIKit/QMUICore
  239 + - QMUIKit/QMUIComponents/QMUILinkButton (4.2.1):
  240 + - QMUIKit/QMUIComponents/QMUIButton
  241 + - QMUIKit/QMUICore
  242 + - QMUIKit/QMUIComponents/QMUILogManagerViewController (4.2.1):
  243 + - QMUIKit/QMUIComponents/QMUIPopupMenuView
  244 + - QMUIKit/QMUIComponents/QMUISearchController
  245 + - QMUIKit/QMUIComponents/QMUIStaticTableView
  246 + - QMUIKit/QMUIComponents/QMUITableView
  247 + - QMUIKit/QMUICore
  248 + - QMUIKit/QMUIMainFrame
  249 + - QMUIKit/QMUIComponents/QMUILogWithConfigurationSupported (4.2.1):
  250 + - QMUIKit/QMUICore
  251 + - QMUIKit/QMUIComponents/QMUIMarqueeLabel (4.2.1):
  252 + - QMUIKit/QMUICore
  253 + - QMUIKit/QMUIComponents/QMUIModalPresentationViewController (4.2.1):
  254 + - QMUIKit/QMUIComponents/QMUIAppearance
  255 + - QMUIKit/QMUIComponents/QMUIKeyboardManager
  256 + - QMUIKit/QMUICore
  257 + - QMUIKit/QMUIComponents/QMUIMoreOperationController (4.2.1):
  258 + - QMUIKit/QMUIComponents/QMUIAppearance
  259 + - QMUIKit/QMUIComponents/QMUIButton
  260 + - QMUIKit/QMUIComponents/QMUIModalPresentationViewController
  261 + - QMUIKit/QMUICore
  262 + - QMUIKit/QMUIComponents/QMUIMultipleDelegates (4.2.1):
  263 + - QMUIKit/QMUICore
  264 + - QMUIKit/QMUIComponents/QMUINavigationButton (4.2.1):
  265 + - QMUIKit/QMUICore
  266 + - QMUIKit/QMUIMainFrame
  267 + - QMUIKit/QMUIComponents/QMUINavigationTitleView (4.2.1):
  268 + - QMUIKit/QMUIComponents/QMUIAppearance
  269 + - QMUIKit/QMUIComponents/QMUIButton
  270 + - QMUIKit/QMUICore
  271 + - QMUIKit/QMUIComponents/QMUIOrderedDictionary (4.2.1):
  272 + - QMUIKit/QMUICore
  273 + - QMUIKit/QMUIComponents/QMUIPieProgressView (4.2.1):
  274 + - QMUIKit/QMUICore
  275 + - QMUIKit/QMUIComponents/QMUIPopupContainerView (4.2.1):
  276 + - QMUIKit/QMUIComponents/QMUIAppearance
  277 + - QMUIKit/QMUICore
  278 + - QMUIKit/QMUIMainFrame
  279 + - QMUIKit/QMUIComponents/QMUIPopupMenuView (4.2.1):
  280 + - QMUIKit/QMUIComponents/QMUIButton
  281 + - QMUIKit/QMUIComponents/QMUIPopupContainerView
  282 + - QMUIKit/QMUICore
  283 + - QMUIKit/QMUIComponents/QMUIScrollAnimator (4.2.1):
  284 + - QMUIKit/QMUIComponents/QMUIMultipleDelegates
  285 + - QMUIKit/QMUICore
  286 + - QMUIKit/QMUIComponents/QMUISearchBar (4.2.1):
  287 + - QMUIKit/QMUICore
  288 + - QMUIKit/QMUIComponents/QMUISearchController (4.2.1):
  289 + - QMUIKit/QMUIComponents/QMUIEmptyView
  290 + - QMUIKit/QMUIComponents/QMUISearchBar
  291 + - QMUIKit/QMUICore
  292 + - QMUIKit/QMUIMainFrame
  293 + - QMUIKit/QMUIComponents/QMUISegmentedControl (4.2.1):
  294 + - QMUIKit/QMUICore
  295 + - QMUIKit/QMUIComponents/QMUISlider (4.2.1):
  296 + - QMUIKit/QMUICore
  297 + - QMUIKit/QMUIComponents/QMUIStaticTableView (4.2.1):
  298 + - QMUIKit/QMUIComponents/QMUIMultipleDelegates
  299 + - QMUIKit/QMUIComponents/QMUITableViewCell
  300 + - QMUIKit/QMUICore
  301 + - QMUIKit/QMUIComponents/QMUITableView (4.2.1):
  302 + - QMUIKit/QMUIComponents/QMUITableViewProtocols
  303 + - QMUIKit/QMUICore
  304 + - QMUIKit/QMUIComponents/QMUITableViewCell (4.2.1):
  305 + - QMUIKit/QMUIComponents/QMUIButton
  306 + - QMUIKit/QMUICore
  307 + - QMUIKit/QMUIComponents/QMUITableViewHeaderFooterView (4.2.1):
  308 + - QMUIKit/QMUICore
  309 + - QMUIKit/QMUIComponents/QMUITableViewProtocols (4.2.1):
  310 + - QMUIKit/QMUICore
  311 + - QMUIKit/QMUIComponents/QMUITestView (4.2.1):
  312 + - QMUIKit/QMUICore
  313 + - QMUIKit/QMUIComponents/QMUITextField (4.2.1):
  314 + - QMUIKit/QMUIComponents/QMUIMultipleDelegates
  315 + - QMUIKit/QMUICore
  316 + - QMUIKit/QMUIComponents/QMUITextView (4.2.1):
  317 + - QMUIKit/QMUIComponents/QMUILabel
  318 + - QMUIKit/QMUIComponents/QMUIMultipleDelegates
  319 + - QMUIKit/QMUICore
  320 + - QMUIKit/QMUIComponents/QMUITheme (4.2.1):
  321 + - QMUIKit/QMUIComponents/QMUIAlertController
  322 + - QMUIKit/QMUIComponents/QMUIBadge
  323 + - QMUIKit/QMUIComponents/QMUIButton
  324 + - QMUIKit/QMUIComponents/QMUIConsole
  325 + - QMUIKit/QMUIComponents/QMUIEmotionView
  326 + - QMUIKit/QMUIComponents/QMUIEmptyView
  327 + - QMUIKit/QMUIComponents/QMUIFillButton
  328 + - QMUIKit/QMUIComponents/QMUIGhostButton
  329 + - QMUIKit/QMUIComponents/QMUIGridView
  330 + - QMUIKit/QMUIComponents/QMUIImagePickerLibrary
  331 + - QMUIKit/QMUIComponents/QMUIImagePreviewView
  332 + - QMUIKit/QMUIComponents/QMUILabel
  333 + - QMUIKit/QMUIComponents/QMUILinkButton
  334 + - QMUIKit/QMUIComponents/QMUIModalPresentationViewController
  335 + - QMUIKit/QMUIComponents/QMUIPopupContainerView
  336 + - QMUIKit/QMUIComponents/QMUIPopupMenuView
  337 + - QMUIKit/QMUIComponents/QMUISlider
  338 + - QMUIKit/QMUIComponents/QMUITextField
  339 + - QMUIKit/QMUIComponents/QMUITextView
  340 + - QMUIKit/QMUIComponents/QMUIToastView
  341 + - QMUIKit/QMUIComponents/QMUIVisualEffectView
  342 + - QMUIKit/QMUICore
  343 + - QMUIKit/QMUIComponents/QMUITips (4.2.1):
  344 + - QMUIKit/QMUIComponents/QMUIToastView
  345 + - QMUIKit/QMUICore
  346 + - QMUIKit/QMUIResources
  347 + - QMUIKit/QMUIComponents/QMUIToastView (4.2.1):
  348 + - QMUIKit/QMUIComponents/QMUIKeyboardManager
  349 + - QMUIKit/QMUIComponents/QMUIVisualEffectView
  350 + - QMUIKit/QMUICore
  351 + - QMUIKit/QMUIComponents/QMUIToolbarButton (4.2.1):
  352 + - QMUIKit/QMUICore
  353 + - QMUIKit/QMUIComponents/QMUIVisualEffectView (4.2.1):
  354 + - QMUIKit/QMUIComponents/QMUICALayerExtension
  355 + - QMUIKit/QMUICore
  356 + - QMUIKit/QMUIComponents/QMUIWindowSizeMonitor (4.2.1):
  357 + - QMUIKit/QMUICore
  358 + - QMUIKit/QMUIComponents/QMUIZoomImageView (4.2.1):
  359 + - QMUIKit/QMUIComponents/QMUIAssetLibrary
  360 + - QMUIKit/QMUIComponents/QMUIButton
  361 + - QMUIKit/QMUIComponents/QMUIEmptyView
  362 + - QMUIKit/QMUIComponents/QMUIPieProgressView
  363 + - QMUIKit/QMUIComponents/QMUISlider
  364 + - QMUIKit/QMUICore
  365 + - QMUIKit/QMUIResources
  366 + - QMUIKit/QMUICore (4.2.1):
  367 + - QMUIKit/QMUILog
  368 + - QMUIKit/QMUIWeakObjectContainer
  369 + - QMUIKit/QMUILog (4.2.1)
  370 + - QMUIKit/QMUIMainFrame (4.2.1):
  371 + - QMUIKit/QMUIComponents/QMUIEmptyView
  372 + - QMUIKit/QMUIComponents/QMUIKeyboardManager
  373 + - QMUIKit/QMUIComponents/QMUIMultipleDelegates
  374 + - QMUIKit/QMUIComponents/QMUINavigationTitleView
  375 + - QMUIKit/QMUIComponents/QMUITableView
  376 + - QMUIKit/QMUIComponents/QMUITableViewHeaderFooterView
  377 + - QMUIKit/QMUICore
  378 + - QMUIKit/QMUILog
  379 + - QMUIKit/QMUIResources (4.2.1)
  380 + - QMUIKit/QMUIWeakObjectContainer (4.2.1)
  381 + - SDWebImage (5.2.3):
  382 + - SDWebImage/Core (= 5.2.3)
  383 + - SDWebImage/Core (5.2.3)
  384 + - UMAPM (1.5.2)
  385 + - UMCCommon (7.3.5):
  386 + - UMAPM
  387 + - UMDevice
  388 + - UMDevice (2.0.5)
  389 + - YYCache (1.0.4)
  390 + - YYCategories (1.0.4):
  391 + - YYCategories/no-arc (= 1.0.4)
  392 + - YYCategories/no-arc (1.0.4)
  393 +
  394 +DEPENDENCIES:
  395 + - CNLiveEnvironment
  396 + - CNLiveRequestBastKit
  397 + - CNLiveVideoClassifyKit (from `../`)
  398 + - FWDebug
  399 +
  400 +SPEC REPOS:
  401 + http://bj.gitlab.cnlive.com/ios-team/CNLiveRepos.git:
  402 + - CNLiveBaseKit
  403 + - CNLiveBeeHive
  404 + - CNLiveCategory
  405 + - CNLiveCommonCategory
  406 + - CNLiveEnvironment
  407 + - CNLiveNewTripartiteManagement
  408 + - CNLiveRequestBastKit
  409 + - CNLiveUserManagement
  410 + https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git:
  411 + - AFNetworking
  412 + - FWDebug
  413 + - JXCategoryView
  414 + - Masonry
  415 + - MJExtension
  416 + - QMUIKit
  417 + - SDWebImage
  418 + - UMAPM
  419 + - UMCCommon
  420 + - UMDevice
  421 + - YYCache
  422 + - YYCategories
  423 +
  424 +EXTERNAL SOURCES:
  425 + CNLiveVideoClassifyKit:
  426 + :path: "../"
  427 +
  428 +SPEC CHECKSUMS:
  429 + AFNetworking: 7864c38297c79aaca1500c33288e429c3451fdce
  430 + CNLiveBaseKit: 44e5fc573cbca78a86b704cf77c886ef53889807
  431 + CNLiveBeeHive: 1e105b15b6ccaad546258fcf91231563beb853d4
  432 + CNLiveCategory: c90a01af1e20cd89f47d4f551d47d2ddc9ca96f3
  433 + CNLiveCommonCategory: 22c9842b31f2087803ae69e983b2c944fb80eae1
  434 + CNLiveEnvironment: 6af0a2f332b704ffdec67106b4ba044c7f8da371
  435 + CNLiveNewTripartiteManagement: db7e1ba0a79312520194fde2fb78026a0f5e3eea
  436 + CNLiveRequestBastKit: c6ae13843ee0f96082c58230dc92c249edd6220f
  437 + CNLiveUserManagement: ead053f2d701b01ea8fb5f1da572be788f2dd3cf
  438 + CNLiveVideoClassifyKit: bfe369aa1ddd5b4939b34624f4f31e01ae30b702
  439 + FWDebug: 5a20d089a300517153de1438d8128ad4c4690951
  440 + JXCategoryView: 2ef9ecfd3735158d009ce02d1f29811aa822da65
  441 + Masonry: 678fab65091a9290e40e2832a55e7ab731aad201
  442 + MJExtension: 635f2c663dcb1bf76fa4b715b2570a5710aec545
  443 + QMUIKit: 15294d6a350466e4a6f4df0333eac5bff474f995
  444 + SDWebImage: 46a7f73228f84ce80990c786e4372cf4db5875ce
  445 + UMAPM: 163962b8a6ec1a10a3034468da070b28ca510d5b
  446 + UMCCommon: 3c535e9e3958f72df075cc6fe4776fb5e403c8bc
  447 + UMDevice: c13bbb2e8ca6c67d1e23e03162553e3ec5a8b5b0
  448 + YYCache: 8105b6638f5e849296c71f331ff83891a4942952
  449 + YYCategories: 6bcd4314c6661a561410dce4a793379ebd306abd
  450 +
  451 +PODFILE CHECKSUM: 3d349bf575390d6c2eb71885b6cb8e87236d6ba9
  452 +
  453 +COCOAPODS: 1.11.2