Commit ec24dbe8905c18b241bf99d13c2df029bf4500f8

Authored by 张旭
2 parents d3ad60dd 294abd65

Merge branch 'master' of bj.gitlab.cnlive.com:ios-team/LiveVideoCloud

Showing 83 changed files with 821 additions and 647 deletions
LiveVideoCloud.xcodeproj/project.pbxproj
... ... @@ -67,8 +67,6 @@
67 67 4BD856151EBAD31A0082061D /* NSString+UrlEncode.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD856141EBAD31A0082061D /* NSString+UrlEncode.m */; };
68 68 4BD856181EBAD35C0082061D /* NSDictionary+Safety.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD856171EBAD35C0082061D /* NSDictionary+Safety.m */; };
69 69 4BD8561D1EBAD6490082061D /* ZXConst.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD8561C1EBAD6490082061D /* ZXConst.m */; };
70   - 810B64E01E779AE900133E15 /* LVCPlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 810B64DF1E779AE900133E15 /* LVCPlayer.m */; };
71   - 810B64E31E779AFE00133E15 /* LVCLivePlayerController.m in Sources */ = {isa = PBXBuildFile; fileRef = 810B64E21E779AFE00133E15 /* LVCLivePlayerController.m */; };
72 70 810B64FE1E779B1F00133E15 /* MASCompositeConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 810B64E61E779B1F00133E15 /* MASCompositeConstraint.m */; };
73 71 810B64FF1E779B1F00133E15 /* MASConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 810B64E91E779B1F00133E15 /* MASConstraint.m */; };
74 72 810B65001E779B1F00133E15 /* MASConstraintMaker.m in Sources */ = {isa = PBXBuildFile; fileRef = 810B64EB1E779B1F00133E15 /* MASConstraintMaker.m */; };
... ... @@ -79,31 +77,32 @@
79 77 810B65051E779B1F00133E15 /* NSLayoutConstraint+MASDebugAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 810B64F81E779B1F00133E15 /* NSLayoutConstraint+MASDebugAdditions.m */; };
80 78 810B65061E779B1F00133E15 /* View+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 810B64FA1E779B1F00133E15 /* View+MASAdditions.m */; };
81 79 810B65071E779B1F00133E15 /* ViewController+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 810B64FD1E779B1F00133E15 /* ViewController+MASAdditions.m */; };
82   - 810B650A1E77B39D00133E15 /* LVCFullScreenPlayerController.m in Sources */ = {isa = PBXBuildFile; fileRef = 810B65091E77B39D00133E15 /* LVCFullScreenPlayerController.m */; };
83   - 8112D4311E7927A5002E00F6 /* LVCPlayerLoadingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8112D4301E7927A5002E00F6 /* LVCPlayerLoadingView.m */; };
84   - 811BB6801E80F858005C6291 /* LVCChatView.m in Sources */ = {isa = PBXBuildFile; fileRef = 811BB67D1E80F858005C6291 /* LVCChatView.m */; };
85   - 811BB6881E8107B4005C6291 /* LVCChatViewTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 811BB6871E8107B4005C6291 /* LVCChatViewTableViewCell.m */; };
86 80 811BB68E1E8116C8005C6291 /* NSString+StringSize.m in Sources */ = {isa = PBXBuildFile; fileRef = 811BB68D1E8116C8005C6291 /* NSString+StringSize.m */; };
87   - 8128E2881E8A6A3600B40E75 /* CNBarrageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 8128E2851E8A6A3600B40E75 /* CNBarrageManager.m */; };
88   - 8128E2891E8A6A3600B40E75 /* CNBarrageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8128E2871E8A6A3600B40E75 /* CNBarrageView.m */; };
89   - 8130911E1E84C0F0005F0BFF /* LVCMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 8130911D1E84C0F0005F0BFF /* LVCMessage.m */; };
90 81 8178D4171F01FA2900AA78A4 /* CNLivePlayerSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8178D4161F01FA2900AA78A4 /* CNLivePlayerSDK.framework */; };
91 82 8178D4191F01FA3600AA78A4 /* CNLivePlayerSDK.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 8178D4161F01FA2900AA78A4 /* CNLivePlayerSDK.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
92   - 81A1B9A91E8277410079FF5F /* LVCInputView.m in Sources */ = {isa = PBXBuildFile; fileRef = 81A1B9A81E8277410079FF5F /* LVCInputView.m */; };
93   - 81A482F81E88AFA20097A80A /* LVCFirstHeaderReusableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 81A482F71E88AFA20097A80A /* LVCFirstHeaderReusableView.m */; };
94   - 81A483021E88B0130097A80A /* LVCChatRoomModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 81A483001E88B0130097A80A /* LVCChatRoomModel.m */; };
95   - 81A483051E88B32C0097A80A /* LVCHeaderRollCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 81A483041E88B32C0097A80A /* LVCHeaderRollCollectionViewCell.m */; };
  83 + 8178D4241F02043500AA78A4 /* LVCFullScreenPlayerController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8178D41F1F02043500AA78A4 /* LVCFullScreenPlayerController.m */; };
  84 + 8178D4251F02043500AA78A4 /* LVCLivePlayerController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8178D4211F02043500AA78A4 /* LVCLivePlayerController.m */; };
  85 + 8178D42F1F02044300AA78A4 /* LVCChannelDetailsModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8178D4281F02044300AA78A4 /* LVCChannelDetailsModel.m */; };
  86 + 8178D4301F02044300AA78A4 /* LVCChannelsModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8178D42A1F02044300AA78A4 /* LVCChannelsModel.m */; };
  87 + 8178D4311F02044300AA78A4 /* LVCChatRoomModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8178D42C1F02044300AA78A4 /* LVCChatRoomModel.m */; };
  88 + 8178D4321F02044300AA78A4 /* LVCProgramModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8178D42E1F02044300AA78A4 /* LVCProgramModel.m */; };
  89 + 8178D44A1F02045500AA78A4 /* CNBarrageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 8178D4351F02045500AA78A4 /* CNBarrageManager.m */; };
  90 + 8178D44B1F02045500AA78A4 /* CNBarrageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8178D4371F02045500AA78A4 /* CNBarrageView.m */; };
  91 + 8178D44C1F02045500AA78A4 /* LVCFirstHeaderReusableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8178D4391F02045500AA78A4 /* LVCFirstHeaderReusableView.m */; };
  92 + 8178D44D1F02045500AA78A4 /* LVCHeaderRollCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8178D43B1F02045500AA78A4 /* LVCHeaderRollCollectionViewCell.m */; };
  93 + 8178D44E1F02045500AA78A4 /* LVCLiveListCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8178D43D1F02045500AA78A4 /* LVCLiveListCollectionViewCell.m */; };
  94 + 8178D44F1F02045500AA78A4 /* LVCMoreSortTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8178D43F1F02045500AA78A4 /* LVCMoreSortTableViewCell.m */; };
  95 + 8178D4501F02045500AA78A4 /* LVCOtherHeaderReusableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8178D4411F02045500AA78A4 /* LVCOtherHeaderReusableView.m */; };
  96 + 8178D4511F02045500AA78A4 /* LVCPlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 8178D4431F02045500AA78A4 /* LVCPlayer.m */; };
  97 + 8178D4521F02045500AA78A4 /* LVCPlayerLoadingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8178D4451F02045500AA78A4 /* LVCPlayerLoadingView.m */; };
  98 + 8178D4531F02045500AA78A4 /* LVCRequestFailedView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8178D4471F02045500AA78A4 /* LVCRequestFailedView.m */; };
  99 + 8178D4541F02045500AA78A4 /* LVCTelevisionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8178D4491F02045500AA78A4 /* LVCTelevisionView.m */; };
  100 + 8178D4571F0204D600AA78A4 /* LVCTelevisioController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8178D4561F0204D600AA78A4 /* LVCTelevisioController.m */; };
  101 + 8178D4611F02060B00AA78A4 /* LVCChatView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8178D45A1F02060B00AA78A4 /* LVCChatView.m */; };
  102 + 8178D4621F02060B00AA78A4 /* LVCChatViewTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8178D45C1F02060B00AA78A4 /* LVCChatViewTableViewCell.m */; };
  103 + 8178D4631F02060B00AA78A4 /* LVCInputView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8178D45E1F02060B00AA78A4 /* LVCInputView.m */; };
  104 + 8178D4641F02060B00AA78A4 /* LVCMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 8178D4601F02060B00AA78A4 /* LVCMessage.m */; };
96 105 81A483081E88B6140097A80A /* UIView+ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 81A483071E88B6140097A80A /* UIView+ViewController.m */; };
97   - 81A4830B1E88B7EE0097A80A /* LVCOtherHeaderReusableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 81A4830A1E88B7EE0097A80A /* LVCOtherHeaderReusableView.m */; };
98   - 81A4830E1E88B8300097A80A /* LVCChannelsModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 81A4830D1E88B8300097A80A /* LVCChannelsModel.m */; };
99   - 81A483111E88B8630097A80A /* LVCChannelDetailsModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 81A483101E88B8630097A80A /* LVCChannelDetailsModel.m */; };
100   - 81A483141E88BA420097A80A /* LVCLiveListCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 81A483131E88BA420097A80A /* LVCLiveListCollectionViewCell.m */; };
101   - 81A483171E88BED00097A80A /* LVCTVLiveViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 81A483161E88BED00097A80A /* LVCTVLiveViewController.m */; };
102   - 81A4831A1E88E19C0097A80A /* LVCMoreProgramViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 81A483191E88E19C0097A80A /* LVCMoreProgramViewController.m */; };
103   - 81A4831D1E88E1EB0097A80A /* LVCMoreSortTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 81A4831C1E88E1EB0097A80A /* LVCMoreSortTableViewCell.m */; };
104   - 81A483201E88F4BF0097A80A /* LVCProgramModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 81A4831F1E88F4BF0097A80A /* LVCProgramModel.m */; };
105   - 81CE9E1B1E8CF567000F8F6B /* LVCRequestFailedView.m in Sources */ = {isa = PBXBuildFile; fileRef = 81CE9E1A1E8CF567000F8F6B /* LVCRequestFailedView.m */; };
106   - 81DFC4241F01132D0029BCB3 /* LVCTelevisionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 81DFC4231F01132D0029BCB3 /* LVCTelevisionView.m */; };
107 106 81DFC4261F0113B40029BCB3 /* JsonFile.json in Resources */ = {isa = PBXBuildFile; fileRef = 81DFC4251F0113B40029BCB3 /* JsonFile.json */; };
108 107 81F1C8381E8BBDDA0085C2B8 /* MHPagingScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 81F1C8371E8BBDDA0085C2B8 /* MHPagingScrollView.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
109 108 81F1C8401E8BC5CC0085C2B8 /* NSArray+Safety.m in Sources */ = {isa = PBXBuildFile; fileRef = 81F1C83F1E8BC5CC0085C2B8 /* NSArray+Safety.m */; };
... ... @@ -201,12 +200,12 @@
201 200 D217A24B1E7B76C7003B44CB /* PresentViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D217A2491E7B76C7003B44CB /* PresentViewCell.m */; };
202 201 D217A24E1E7B77C7003B44CB /* ComboCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D217A24D1E7B77C7003B44CB /* ComboCell.m */; };
203 202 D219E86B1EFD04A700650F38 /* LVCBigHorizontalCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D219E86A1EFD04A700650F38 /* LVCBigHorizontalCollectionViewCell.m */; };
  203 + D219E86E1F01002400650F38 /* LVCVodPlayerListView.m in Sources */ = {isa = PBXBuildFile; fileRef = D219E86D1F01002400650F38 /* LVCVodPlayerListView.m */; };
204 204 D224B1971E826ED800CC61D0 /* ChatBarrageAnimAction.m in Sources */ = {isa = PBXBuildFile; fileRef = D224B1961E826ED800CC61D0 /* ChatBarrageAnimAction.m */; };
205 205 D22830F11E778C0F00627701 /* LiveBaseView.m in Sources */ = {isa = PBXBuildFile; fileRef = D22830F01E778C0F00627701 /* LiveBaseView.m */; };
206 206 D22830FC1E77C2D900627701 /* BottomToolView.m in Sources */ = {isa = PBXBuildFile; fileRef = D22830FB1E77C2D900627701 /* BottomToolView.m */; };
207 207 D22830FF1E77C69E00627701 /* GiftListView.m in Sources */ = {isa = PBXBuildFile; fileRef = D22830FE1E77C69E00627701 /* GiftListView.m */; };
208 208 D22831091E77D8D500627701 /* GiftModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D22831081E77D8D500627701 /* GiftModel.m */; };
209   - D233EE721EEA88EF00674ED5 /* LVCHomePageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D233EE711EEA88EF00674ED5 /* LVCHomePageViewController.m */; };
210 209 D236967E1E7F9E4100E4BF71 /* GiftPayButton.m in Sources */ = {isa = PBXBuildFile; fileRef = D236967D1E7F9E4100E4BF71 /* GiftPayButton.m */; };
211 210 D23696841E7FC6A900E4BF71 /* chatListCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D23696831E7FC6A900E4BF71 /* chatListCell.m */; };
212 211 D23696921E7FC83800E4BF71 /* chatMsgModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D23696911E7FC83800E4BF71 /* chatMsgModel.m */; };
... ... @@ -242,28 +241,19 @@
242 241 D25BF87A1E7B8A82007FB138 /* FilterFunctionView.m in Sources */ = {isa = PBXBuildFile; fileRef = D25BF8771E7B8A82007FB138 /* FilterFunctionView.m */; };
243 242 D25BF87B1E7B8A82007FB138 /* SliderView.m in Sources */ = {isa = PBXBuildFile; fileRef = D25BF8791E7B8A82007FB138 /* SliderView.m */; };
244 243 D25BF87D1E7B8C78007FB138 /* KSYGPUResource.bundle in Resources */ = {isa = PBXBuildFile; fileRef = D25BF87C1E7B8C78007FB138 /* KSYGPUResource.bundle */; };
245   - D25BF8801E7BD266007FB138 /* LVCUGCLivePlayerController.m in Sources */ = {isa = PBXBuildFile; fileRef = D25BF87F1E7BD266007FB138 /* LVCUGCLivePlayerController.m */; };
246   - D25BF8831E7F775F007FB138 /* LVCUGCPlayerLoadingView.m in Sources */ = {isa = PBXBuildFile; fileRef = D25BF8821E7F775F007FB138 /* LVCUGCPlayerLoadingView.m */; };
247 244 D25BF8901E7F7F8F007FB138 /* UGCLoading.jpeg in Resources */ = {isa = PBXBuildFile; fileRef = D25BF88F1E7F7F8F007FB138 /* UGCLoading.jpeg */; };
248   - D25BF8931E7FBAEA007FB138 /* LVCUGCBackgroundView.m in Sources */ = {isa = PBXBuildFile; fileRef = D25BF8921E7FBAEA007FB138 /* LVCUGCBackgroundView.m */; };
249 245 D25BF8A01E80C4BD007FB138 /* UIImage+LVCVagueImage.m in Sources */ = {isa = PBXBuildFile; fileRef = D25BF89F1E80C4BD007FB138 /* UIImage+LVCVagueImage.m */; };
250 246 D25BF8A31E80C4FC007FB138 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D25BF8A21E80C4FC007FB138 /* Accelerate.framework */; };
251 247 D25BF8A51E80EC76007FB138 /* 头像.jpg in Resources */ = {isa = PBXBuildFile; fileRef = D25BF8A41E80EC76007FB138 /* 头像.jpg */; };
252 248 D2888D941E6EB8B4003A77C8 /* LVCTabBar.m in Sources */ = {isa = PBXBuildFile; fileRef = D2888D931E6EB8B4003A77C8 /* LVCTabBar.m */; };
253 249 D2888D9E1E6EBF1B003A77C8 /* LVCLiveViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D2888D9B1E6EBF1B003A77C8 /* LVCLiveViewController.m */; };
254 250 D2888DB11E6EC05F003A77C8 /* TempViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D2888DB01E6EC05F003A77C8 /* TempViewController.m */; };
255   - D2888DB41E6EC154003A77C8 /* HomeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D2888DB31E6EC154003A77C8 /* HomeViewController.m */; };
256   - D28F5FFF1E8BC7EF00914142 /* LVCUGCLiveListView.m in Sources */ = {isa = PBXBuildFile; fileRef = D28F5FFE1E8BC7EF00914142 /* LVCUGCLiveListView.m */; };
257 251 D2994BA81E8F490400E8D2CC /* CNLiveChatManager.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D2994BA41E8F48DE00E8D2CC /* CNLiveChatManager.framework */; };
258 252 D2994BA91E8F490400E8D2CC /* CNLiveChatManager.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D2994BA41E8F48DE00E8D2CC /* CNLiveChatManager.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
259 253 D2994BAA1E8F490700E8D2CC /* CNLiveMsgTools.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D2994BA51E8F48DE00E8D2CC /* CNLiveMsgTools.framework */; };
260 254 D2994BAB1E8F490700E8D2CC /* CNLiveMsgTools.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D2994BA51E8F48DE00E8D2CC /* CNLiveMsgTools.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
261 255 D29D88481E88C53300543A03 /* LVCUGCLivePrepareView.m in Sources */ = {isa = PBXBuildFile; fileRef = D29D88471E88C53300543A03 /* LVCUGCLivePrepareView.m */; };
262 256 D29E81ED1E88DC5B008C9906 /* PriChatCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D29E81EC1E88DC5B008C9906 /* PriChatCell.m */; };
263   - D2A089E81E89FA720071412C /* LVCUGCLivePlayerCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D2A089E71E89FA720071412C /* LVCUGCLivePlayerCell.m */; };
264   - D2A089EB1E8A09CB0071412C /* LVCUGCLivePlayerModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D2A089EA1E8A09CB0071412C /* LVCUGCLivePlayerModel.m */; };
265   - D2A089EE1E8A336A0071412C /* LiveListService.m in Sources */ = {isa = PBXBuildFile; fileRef = D2A089ED1E8A336A0071412C /* LiveListService.m */; };
266   - D2A089F11E8A41120071412C /* LVCUGCLiveListModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D2A089F01E8A41120071412C /* LVCUGCLiveListModel.m */; };
267 257 D2A803081E80BD6F009D6F1C /* TopToolView.m in Sources */ = {isa = PBXBuildFile; fileRef = D2A803071E80BD6F009D6F1C /* TopToolView.m */; };
268 258 D2B2ED801E88FC5200F7538A /* LVCUGCLiveEndView.m in Sources */ = {isa = PBXBuildFile; fileRef = D2B2ED7F1E88FC5200F7538A /* LVCUGCLiveEndView.m */; };
269 259 D2B7B2511E8247D400ED084E /* ChatBarrageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = D2B7B2501E8247D400ED084E /* ChatBarrageManager.m */; };
... ... @@ -271,7 +261,21 @@
271 261 D2B7B2571E8261EF00ED084E /* ChatBarrOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = D2B7B2561E8261EF00ED084E /* ChatBarrOperation.m */; };
272 262 D2CBC13B1ECC157A00E00279 /* LVCVerifyLiveAuthService.m in Sources */ = {isa = PBXBuildFile; fileRef = D2CBC13A1ECC157A00E00279 /* LVCVerifyLiveAuthService.m */; };
273 263 D2D7D18D1E8A581000217771 /* timg.jpeg in Resources */ = {isa = PBXBuildFile; fileRef = D2D7D18C1E8A581000217771 /* timg.jpeg */; };
274   - D2F0486A1EE54E860011E39C /* LVCLiveActivityInfoService.m in Sources */ = {isa = PBXBuildFile; fileRef = D2F048691EE54E860011E39C /* LVCLiveActivityInfoService.m */; };
  264 + D2EBC8571F01FF9200F198FB /* LVCCommentModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D2EBC8561F01FF9200F198FB /* LVCCommentModel.m */; };
  265 + D2EBC85A1F02011400F198FB /* LVCVodPlayerTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D2EBC8591F02011400F198FB /* LVCVodPlayerTableViewCell.m */; };
  266 + D2EBC8641F02105C00F198FB /* LVCHomePageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D2EBC8631F02105C00F198FB /* LVCHomePageViewController.m */; };
  267 + D2EBC8711F02108000F198FB /* LiveListService.m in Sources */ = {isa = PBXBuildFile; fileRef = D2EBC8661F02108000F198FB /* LiveListService.m */; };
  268 + D2EBC8721F02108000F198FB /* LVCLiveActivityInfoService.m in Sources */ = {isa = PBXBuildFile; fileRef = D2EBC8681F02108000F198FB /* LVCLiveActivityInfoService.m */; };
  269 + D2EBC8731F02108000F198FB /* LVCTVLiveViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D2EBC86A1F02108000F198FB /* LVCTVLiveViewController.m */; };
  270 + D2EBC8741F02108000F198FB /* LVCUGCLiveListController.m in Sources */ = {isa = PBXBuildFile; fileRef = D2EBC86C1F02108000F198FB /* LVCUGCLiveListController.m */; };
  271 + D2EBC8751F02108000F198FB /* LVCUGCLiveListView.m in Sources */ = {isa = PBXBuildFile; fileRef = D2EBC86E1F02108000F198FB /* LVCUGCLiveListView.m */; };
  272 + D2EBC8761F02108000F198FB /* LVCUGCLivePlayerController.m in Sources */ = {isa = PBXBuildFile; fileRef = D2EBC8701F02108000F198FB /* LVCUGCLivePlayerController.m */; };
  273 + D2EBC87B1F02108F00F198FB /* LVCUGCLiveListModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D2EBC8781F02108F00F198FB /* LVCUGCLiveListModel.m */; };
  274 + D2EBC87C1F02108F00F198FB /* LVCUGCLivePlayerModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D2EBC87A1F02108F00F198FB /* LVCUGCLivePlayerModel.m */; };
  275 + D2EBC8831F02109C00F198FB /* LVCUGCBackgroundView.m in Sources */ = {isa = PBXBuildFile; fileRef = D2EBC87E1F02109C00F198FB /* LVCUGCBackgroundView.m */; };
  276 + D2EBC8841F02109C00F198FB /* LVCUGCLivePlayerCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D2EBC8801F02109C00F198FB /* LVCUGCLivePlayerCell.m */; };
  277 + D2EBC8851F02109C00F198FB /* LVCUGCPlayerLoadingView.m in Sources */ = {isa = PBXBuildFile; fileRef = D2EBC8821F02109C00F198FB /* LVCUGCPlayerLoadingView.m */; };
  278 + D2EBC8881F0225D900F198FB /* LVCVodPlayerListController.m in Sources */ = {isa = PBXBuildFile; fileRef = D2EBC8871F0225D900F198FB /* LVCVodPlayerListController.m */; };
275 279 /* End PBXBuildFile section */
276 280  
277 281 /* Begin PBXContainerItemProxy section */
... ... @@ -431,10 +435,6 @@
431 435 4BD856171EBAD35C0082061D /* NSDictionary+Safety.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDictionary+Safety.m"; sourceTree = "<group>"; };
432 436 4BD8561B1EBAD6490082061D /* ZXConst.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ZXConst.h; path = Macros/ZXConst.h; sourceTree = "<group>"; };
433 437 4BD8561C1EBAD6490082061D /* ZXConst.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ZXConst.m; path = Macros/ZXConst.m; sourceTree = "<group>"; };
434   - 810B64DE1E779AE900133E15 /* LVCPlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCPlayer.h; sourceTree = "<group>"; };
435   - 810B64DF1E779AE900133E15 /* LVCPlayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCPlayer.m; sourceTree = "<group>"; };
436   - 810B64E11E779AFE00133E15 /* LVCLivePlayerController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCLivePlayerController.h; sourceTree = "<group>"; };
437   - 810B64E21E779AFE00133E15 /* LVCLivePlayerController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCLivePlayerController.m; sourceTree = "<group>"; };
438 438 810B64E51E779B1F00133E15 /* MASCompositeConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASCompositeConstraint.h; sourceTree = "<group>"; };
439 439 810B64E61E779B1F00133E15 /* MASCompositeConstraint.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASCompositeConstraint.m; sourceTree = "<group>"; };
440 440 810B64E71E779B1F00133E15 /* MASConstraint+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MASConstraint+Private.h"; sourceTree = "<group>"; };
... ... @@ -460,53 +460,55 @@
460 460 810B64FB1E779B1F00133E15 /* View+MASShorthandAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "View+MASShorthandAdditions.h"; sourceTree = "<group>"; };
461 461 810B64FC1E779B1F00133E15 /* ViewController+MASAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ViewController+MASAdditions.h"; sourceTree = "<group>"; };
462 462 810B64FD1E779B1F00133E15 /* ViewController+MASAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ViewController+MASAdditions.m"; sourceTree = "<group>"; };
463   - 810B65081E77B39D00133E15 /* LVCFullScreenPlayerController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCFullScreenPlayerController.h; sourceTree = "<group>"; };
464   - 810B65091E77B39D00133E15 /* LVCFullScreenPlayerController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCFullScreenPlayerController.m; sourceTree = "<group>"; };
465   - 8112D42F1E7927A5002E00F6 /* LVCPlayerLoadingView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCPlayerLoadingView.h; sourceTree = "<group>"; };
466   - 8112D4301E7927A5002E00F6 /* LVCPlayerLoadingView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCPlayerLoadingView.m; sourceTree = "<group>"; };
467   - 811BB67C1E80F858005C6291 /* LVCChatView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCChatView.h; sourceTree = "<group>"; };
468   - 811BB67D1E80F858005C6291 /* LVCChatView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCChatView.m; sourceTree = "<group>"; };
469   - 811BB6861E8107B4005C6291 /* LVCChatViewTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCChatViewTableViewCell.h; sourceTree = "<group>"; };
470   - 811BB6871E8107B4005C6291 /* LVCChatViewTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCChatViewTableViewCell.m; sourceTree = "<group>"; };
471 463 811BB68C1E8116C8005C6291 /* NSString+StringSize.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+StringSize.h"; sourceTree = "<group>"; };
472 464 811BB68D1E8116C8005C6291 /* NSString+StringSize.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+StringSize.m"; sourceTree = "<group>"; };
473   - 8128E2841E8A6A3600B40E75 /* CNBarrageManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNBarrageManager.h; sourceTree = "<group>"; };
474   - 8128E2851E8A6A3600B40E75 /* CNBarrageManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNBarrageManager.m; sourceTree = "<group>"; };
475   - 8128E2861E8A6A3600B40E75 /* CNBarrageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNBarrageView.h; sourceTree = "<group>"; };
476   - 8128E2871E8A6A3600B40E75 /* CNBarrageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNBarrageView.m; sourceTree = "<group>"; };
477   - 8130911C1E84C0F0005F0BFF /* LVCMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCMessage.h; sourceTree = "<group>"; };
478   - 8130911D1E84C0F0005F0BFF /* LVCMessage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCMessage.m; sourceTree = "<group>"; };
479 465 8178D4161F01FA2900AA78A4 /* CNLivePlayerSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CNLivePlayerSDK.framework; sourceTree = "<group>"; };
480   - 81A1B9A71E8277410079FF5F /* LVCInputView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCInputView.h; sourceTree = "<group>"; };
481   - 81A1B9A81E8277410079FF5F /* LVCInputView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCInputView.m; sourceTree = "<group>"; };
482   - 81A482F61E88AFA20097A80A /* LVCFirstHeaderReusableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCFirstHeaderReusableView.h; sourceTree = "<group>"; };
483   - 81A482F71E88AFA20097A80A /* LVCFirstHeaderReusableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCFirstHeaderReusableView.m; sourceTree = "<group>"; };
484   - 81A482FF1E88B0130097A80A /* LVCChatRoomModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCChatRoomModel.h; sourceTree = "<group>"; };
485   - 81A483001E88B0130097A80A /* LVCChatRoomModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCChatRoomModel.m; sourceTree = "<group>"; };
486   - 81A483031E88B32C0097A80A /* LVCHeaderRollCollectionViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCHeaderRollCollectionViewCell.h; sourceTree = "<group>"; };
487   - 81A483041E88B32C0097A80A /* LVCHeaderRollCollectionViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCHeaderRollCollectionViewCell.m; sourceTree = "<group>"; };
  466 + 8178D41E1F02043500AA78A4 /* LVCFullScreenPlayerController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCFullScreenPlayerController.h; sourceTree = "<group>"; };
  467 + 8178D41F1F02043500AA78A4 /* LVCFullScreenPlayerController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCFullScreenPlayerController.m; sourceTree = "<group>"; };
  468 + 8178D4201F02043500AA78A4 /* LVCLivePlayerController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCLivePlayerController.h; sourceTree = "<group>"; };
  469 + 8178D4211F02043500AA78A4 /* LVCLivePlayerController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCLivePlayerController.m; sourceTree = "<group>"; };
  470 + 8178D4271F02044300AA78A4 /* LVCChannelDetailsModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCChannelDetailsModel.h; sourceTree = "<group>"; };
  471 + 8178D4281F02044300AA78A4 /* LVCChannelDetailsModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCChannelDetailsModel.m; sourceTree = "<group>"; };
  472 + 8178D4291F02044300AA78A4 /* LVCChannelsModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCChannelsModel.h; sourceTree = "<group>"; };
  473 + 8178D42A1F02044300AA78A4 /* LVCChannelsModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCChannelsModel.m; sourceTree = "<group>"; };
  474 + 8178D42B1F02044300AA78A4 /* LVCChatRoomModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCChatRoomModel.h; sourceTree = "<group>"; };
  475 + 8178D42C1F02044300AA78A4 /* LVCChatRoomModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCChatRoomModel.m; sourceTree = "<group>"; };
  476 + 8178D42D1F02044300AA78A4 /* LVCProgramModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCProgramModel.h; sourceTree = "<group>"; };
  477 + 8178D42E1F02044300AA78A4 /* LVCProgramModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCProgramModel.m; sourceTree = "<group>"; };
  478 + 8178D4341F02045500AA78A4 /* CNBarrageManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNBarrageManager.h; sourceTree = "<group>"; };
  479 + 8178D4351F02045500AA78A4 /* CNBarrageManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNBarrageManager.m; sourceTree = "<group>"; };
  480 + 8178D4361F02045500AA78A4 /* CNBarrageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNBarrageView.h; sourceTree = "<group>"; };
  481 + 8178D4371F02045500AA78A4 /* CNBarrageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNBarrageView.m; sourceTree = "<group>"; };
  482 + 8178D4381F02045500AA78A4 /* LVCFirstHeaderReusableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCFirstHeaderReusableView.h; sourceTree = "<group>"; };
  483 + 8178D4391F02045500AA78A4 /* LVCFirstHeaderReusableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCFirstHeaderReusableView.m; sourceTree = "<group>"; };
  484 + 8178D43A1F02045500AA78A4 /* LVCHeaderRollCollectionViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCHeaderRollCollectionViewCell.h; sourceTree = "<group>"; };
  485 + 8178D43B1F02045500AA78A4 /* LVCHeaderRollCollectionViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCHeaderRollCollectionViewCell.m; sourceTree = "<group>"; };
  486 + 8178D43C1F02045500AA78A4 /* LVCLiveListCollectionViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCLiveListCollectionViewCell.h; sourceTree = "<group>"; };
  487 + 8178D43D1F02045500AA78A4 /* LVCLiveListCollectionViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCLiveListCollectionViewCell.m; sourceTree = "<group>"; };
  488 + 8178D43E1F02045500AA78A4 /* LVCMoreSortTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCMoreSortTableViewCell.h; sourceTree = "<group>"; };
  489 + 8178D43F1F02045500AA78A4 /* LVCMoreSortTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCMoreSortTableViewCell.m; sourceTree = "<group>"; };
  490 + 8178D4401F02045500AA78A4 /* LVCOtherHeaderReusableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCOtherHeaderReusableView.h; sourceTree = "<group>"; };
  491 + 8178D4411F02045500AA78A4 /* LVCOtherHeaderReusableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCOtherHeaderReusableView.m; sourceTree = "<group>"; };
  492 + 8178D4421F02045500AA78A4 /* LVCPlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCPlayer.h; sourceTree = "<group>"; };
  493 + 8178D4431F02045500AA78A4 /* LVCPlayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCPlayer.m; sourceTree = "<group>"; };
  494 + 8178D4441F02045500AA78A4 /* LVCPlayerLoadingView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCPlayerLoadingView.h; sourceTree = "<group>"; };
  495 + 8178D4451F02045500AA78A4 /* LVCPlayerLoadingView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCPlayerLoadingView.m; sourceTree = "<group>"; };
  496 + 8178D4461F02045500AA78A4 /* LVCRequestFailedView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCRequestFailedView.h; sourceTree = "<group>"; };
  497 + 8178D4471F02045500AA78A4 /* LVCRequestFailedView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCRequestFailedView.m; sourceTree = "<group>"; };
  498 + 8178D4481F02045500AA78A4 /* LVCTelevisionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCTelevisionView.h; sourceTree = "<group>"; };
  499 + 8178D4491F02045500AA78A4 /* LVCTelevisionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCTelevisionView.m; sourceTree = "<group>"; };
  500 + 8178D4551F0204D600AA78A4 /* LVCTelevisioController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCTelevisioController.h; sourceTree = "<group>"; };
  501 + 8178D4561F0204D600AA78A4 /* LVCTelevisioController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCTelevisioController.m; sourceTree = "<group>"; };
  502 + 8178D4591F02060B00AA78A4 /* LVCChatView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCChatView.h; sourceTree = "<group>"; };
  503 + 8178D45A1F02060B00AA78A4 /* LVCChatView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCChatView.m; sourceTree = "<group>"; };
  504 + 8178D45B1F02060B00AA78A4 /* LVCChatViewTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCChatViewTableViewCell.h; sourceTree = "<group>"; };
  505 + 8178D45C1F02060B00AA78A4 /* LVCChatViewTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCChatViewTableViewCell.m; sourceTree = "<group>"; };
  506 + 8178D45D1F02060B00AA78A4 /* LVCInputView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCInputView.h; sourceTree = "<group>"; };
  507 + 8178D45E1F02060B00AA78A4 /* LVCInputView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCInputView.m; sourceTree = "<group>"; };
  508 + 8178D45F1F02060B00AA78A4 /* LVCMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCMessage.h; sourceTree = "<group>"; };
  509 + 8178D4601F02060B00AA78A4 /* LVCMessage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCMessage.m; sourceTree = "<group>"; };
488 510 81A483061E88B6140097A80A /* UIView+ViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+ViewController.h"; sourceTree = "<group>"; };
489 511 81A483071E88B6140097A80A /* UIView+ViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+ViewController.m"; sourceTree = "<group>"; };
490   - 81A483091E88B7EE0097A80A /* LVCOtherHeaderReusableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCOtherHeaderReusableView.h; sourceTree = "<group>"; };
491   - 81A4830A1E88B7EE0097A80A /* LVCOtherHeaderReusableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCOtherHeaderReusableView.m; sourceTree = "<group>"; };
492   - 81A4830C1E88B8300097A80A /* LVCChannelsModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCChannelsModel.h; sourceTree = "<group>"; };
493   - 81A4830D1E88B8300097A80A /* LVCChannelsModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCChannelsModel.m; sourceTree = "<group>"; };
494   - 81A4830F1E88B8630097A80A /* LVCChannelDetailsModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCChannelDetailsModel.h; sourceTree = "<group>"; };
495   - 81A483101E88B8630097A80A /* LVCChannelDetailsModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCChannelDetailsModel.m; sourceTree = "<group>"; };
496   - 81A483121E88BA420097A80A /* LVCLiveListCollectionViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCLiveListCollectionViewCell.h; sourceTree = "<group>"; };
497   - 81A483131E88BA420097A80A /* LVCLiveListCollectionViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCLiveListCollectionViewCell.m; sourceTree = "<group>"; };
498   - 81A483151E88BED00097A80A /* LVCTVLiveViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCTVLiveViewController.h; sourceTree = "<group>"; };
499   - 81A483161E88BED00097A80A /* LVCTVLiveViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCTVLiveViewController.m; sourceTree = "<group>"; };
500   - 81A483181E88E19C0097A80A /* LVCMoreProgramViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCMoreProgramViewController.h; sourceTree = "<group>"; };
501   - 81A483191E88E19C0097A80A /* LVCMoreProgramViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCMoreProgramViewController.m; sourceTree = "<group>"; };
502   - 81A4831B1E88E1EB0097A80A /* LVCMoreSortTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCMoreSortTableViewCell.h; sourceTree = "<group>"; };
503   - 81A4831C1E88E1EB0097A80A /* LVCMoreSortTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCMoreSortTableViewCell.m; sourceTree = "<group>"; };
504   - 81A4831E1E88F4BF0097A80A /* LVCProgramModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCProgramModel.h; sourceTree = "<group>"; };
505   - 81A4831F1E88F4BF0097A80A /* LVCProgramModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCProgramModel.m; sourceTree = "<group>"; };
506   - 81CE9E191E8CF567000F8F6B /* LVCRequestFailedView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCRequestFailedView.h; sourceTree = "<group>"; };
507   - 81CE9E1A1E8CF567000F8F6B /* LVCRequestFailedView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCRequestFailedView.m; sourceTree = "<group>"; };
508   - 81DFC4221F01132D0029BCB3 /* LVCTelevisionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCTelevisionView.h; sourceTree = "<group>"; };
509   - 81DFC4231F01132D0029BCB3 /* LVCTelevisionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCTelevisionView.m; sourceTree = "<group>"; };
510 512 81DFC4251F0113B40029BCB3 /* JsonFile.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = JsonFile.json; sourceTree = "<group>"; };
511 513 81F1C8361E8BBDDA0085C2B8 /* MHPagingScrollView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MHPagingScrollView.h; sourceTree = "<group>"; };
512 514 81F1C8371E8BBDDA0085C2B8 /* MHPagingScrollView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MHPagingScrollView.m; sourceTree = "<group>"; };
... ... @@ -714,6 +716,8 @@
714 716 D217A24D1E7B77C7003B44CB /* ComboCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ComboCell.m; path = Present/ComboCell.m; sourceTree = "<group>"; };
715 717 D219E8691EFD04A700650F38 /* LVCBigHorizontalCollectionViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCBigHorizontalCollectionViewCell.h; sourceTree = "<group>"; };
716 718 D219E86A1EFD04A700650F38 /* LVCBigHorizontalCollectionViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCBigHorizontalCollectionViewCell.m; sourceTree = "<group>"; };
  719 + D219E86C1F01002400650F38 /* LVCVodPlayerListView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCVodPlayerListView.h; sourceTree = "<group>"; };
  720 + D219E86D1F01002400650F38 /* LVCVodPlayerListView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCVodPlayerListView.m; sourceTree = "<group>"; };
717 721 D224B1951E826ED800CC61D0 /* ChatBarrageAnimAction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChatBarrageAnimAction.h; sourceTree = "<group>"; };
718 722 D224B1961E826ED800CC61D0 /* ChatBarrageAnimAction.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ChatBarrageAnimAction.m; sourceTree = "<group>"; };
719 723 D22830EF1E778C0F00627701 /* LiveBaseView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LiveBaseView.h; sourceTree = "<group>"; };
... ... @@ -724,8 +728,6 @@
724 728 D22830FE1E77C69E00627701 /* GiftListView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GiftListView.m; sourceTree = "<group>"; };
725 729 D22831071E77D8D500627701 /* GiftModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GiftModel.h; sourceTree = "<group>"; };
726 730 D22831081E77D8D500627701 /* GiftModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GiftModel.m; sourceTree = "<group>"; };
727   - D233EE701EEA88EF00674ED5 /* LVCHomePageViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LVCHomePageViewController.h; path = ../LVCHomePageViewController.h; sourceTree = "<group>"; };
728   - D233EE711EEA88EF00674ED5 /* LVCHomePageViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LVCHomePageViewController.m; path = ../LVCHomePageViewController.m; sourceTree = "<group>"; };
729 731 D236967C1E7F9E4100E4BF71 /* GiftPayButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GiftPayButton.h; sourceTree = "<group>"; };
730 732 D236967D1E7F9E4100E4BF71 /* GiftPayButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GiftPayButton.m; sourceTree = "<group>"; };
731 733 D23696821E7FC6A900E4BF71 /* chatListCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = chatListCell.h; sourceTree = "<group>"; };
... ... @@ -794,13 +796,7 @@
794 796 D25BF8781E7B8A82007FB138 /* SliderView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SliderView.h; sourceTree = "<group>"; };
795 797 D25BF8791E7B8A82007FB138 /* SliderView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SliderView.m; sourceTree = "<group>"; };
796 798 D25BF87C1E7B8C78007FB138 /* KSYGPUResource.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = KSYGPUResource.bundle; sourceTree = "<group>"; };
797   - D25BF87E1E7BD266007FB138 /* LVCUGCLivePlayerController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCUGCLivePlayerController.h; sourceTree = "<group>"; };
798   - D25BF87F1E7BD266007FB138 /* LVCUGCLivePlayerController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCUGCLivePlayerController.m; sourceTree = "<group>"; };
799   - D25BF8811E7F775F007FB138 /* LVCUGCPlayerLoadingView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCUGCPlayerLoadingView.h; sourceTree = "<group>"; };
800   - D25BF8821E7F775F007FB138 /* LVCUGCPlayerLoadingView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCUGCPlayerLoadingView.m; sourceTree = "<group>"; };
801 799 D25BF88F1E7F7F8F007FB138 /* UGCLoading.jpeg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = UGCLoading.jpeg; sourceTree = "<group>"; };
802   - D25BF8911E7FBAEA007FB138 /* LVCUGCBackgroundView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCUGCBackgroundView.h; sourceTree = "<group>"; };
803   - D25BF8921E7FBAEA007FB138 /* LVCUGCBackgroundView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCUGCBackgroundView.m; sourceTree = "<group>"; };
804 800 D25BF89E1E80C4BD007FB138 /* UIImage+LVCVagueImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+LVCVagueImage.h"; sourceTree = "<group>"; };
805 801 D25BF89F1E80C4BD007FB138 /* UIImage+LVCVagueImage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImage+LVCVagueImage.m"; sourceTree = "<group>"; };
806 802 D25BF8A21E80C4FC007FB138 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
... ... @@ -811,24 +807,12 @@
811 807 D2888D9B1E6EBF1B003A77C8 /* LVCLiveViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCLiveViewController.m; sourceTree = "<group>"; };
812 808 D2888DAF1E6EC05F003A77C8 /* TempViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TempViewController.h; sourceTree = "<group>"; };
813 809 D2888DB01E6EC05F003A77C8 /* TempViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TempViewController.m; sourceTree = "<group>"; };
814   - D2888DB21E6EC154003A77C8 /* HomeViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HomeViewController.h; sourceTree = "<group>"; };
815   - D2888DB31E6EC154003A77C8 /* HomeViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HomeViewController.m; sourceTree = "<group>"; };
816   - D28F5FFD1E8BC7EF00914142 /* LVCUGCLiveListView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LVCUGCLiveListView.h; path = ../Controller/LVCUGCLiveListView.h; sourceTree = "<group>"; };
817   - D28F5FFE1E8BC7EF00914142 /* LVCUGCLiveListView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LVCUGCLiveListView.m; path = ../Controller/LVCUGCLiveListView.m; sourceTree = "<group>"; };
818 810 D2994BA41E8F48DE00E8D2CC /* CNLiveChatManager.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CNLiveChatManager.framework; sourceTree = "<group>"; };
819 811 D2994BA51E8F48DE00E8D2CC /* CNLiveMsgTools.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CNLiveMsgTools.framework; sourceTree = "<group>"; };
820 812 D29D88461E88C53300543A03 /* LVCUGCLivePrepareView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCUGCLivePrepareView.h; sourceTree = "<group>"; };
821 813 D29D88471E88C53300543A03 /* LVCUGCLivePrepareView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCUGCLivePrepareView.m; sourceTree = "<group>"; };
822 814 D29E81EB1E88DC5B008C9906 /* PriChatCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PriChatCell.h; sourceTree = "<group>"; };
823 815 D29E81EC1E88DC5B008C9906 /* PriChatCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PriChatCell.m; sourceTree = "<group>"; };
824   - D2A089E61E89FA720071412C /* LVCUGCLivePlayerCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCUGCLivePlayerCell.h; sourceTree = "<group>"; };
825   - D2A089E71E89FA720071412C /* LVCUGCLivePlayerCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCUGCLivePlayerCell.m; sourceTree = "<group>"; };
826   - D2A089E91E8A09CB0071412C /* LVCUGCLivePlayerModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCUGCLivePlayerModel.h; sourceTree = "<group>"; };
827   - D2A089EA1E8A09CB0071412C /* LVCUGCLivePlayerModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCUGCLivePlayerModel.m; sourceTree = "<group>"; };
828   - D2A089EC1E8A336A0071412C /* LiveListService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LiveListService.h; sourceTree = "<group>"; };
829   - D2A089ED1E8A336A0071412C /* LiveListService.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LiveListService.m; sourceTree = "<group>"; };
830   - D2A089EF1E8A41120071412C /* LVCUGCLiveListModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCUGCLiveListModel.h; sourceTree = "<group>"; };
831   - D2A089F01E8A41120071412C /* LVCUGCLiveListModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCUGCLiveListModel.m; sourceTree = "<group>"; };
832 816 D2A803061E80BD6F009D6F1C /* TopToolView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TopToolView.h; sourceTree = "<group>"; };
833 817 D2A803071E80BD6F009D6F1C /* TopToolView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TopToolView.m; sourceTree = "<group>"; };
834 818 D2B2ED7E1E88FC5200F7538A /* LVCUGCLiveEndView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCUGCLiveEndView.h; sourceTree = "<group>"; };
... ... @@ -842,8 +826,36 @@
842 826 D2CBC1391ECC157A00E00279 /* LVCVerifyLiveAuthService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LVCVerifyLiveAuthService.h; path = ../LVCVerifyLiveAuthService.h; sourceTree = "<group>"; };
843 827 D2CBC13A1ECC157A00E00279 /* LVCVerifyLiveAuthService.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LVCVerifyLiveAuthService.m; path = ../LVCVerifyLiveAuthService.m; sourceTree = "<group>"; };
844 828 D2D7D18C1E8A581000217771 /* timg.jpeg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = timg.jpeg; sourceTree = "<group>"; };
845   - D2F048681EE54E860011E39C /* LVCLiveActivityInfoService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCLiveActivityInfoService.h; sourceTree = "<group>"; };
846   - D2F048691EE54E860011E39C /* LVCLiveActivityInfoService.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCLiveActivityInfoService.m; sourceTree = "<group>"; };
  829 + D2EBC8551F01FF9200F198FB /* LVCCommentModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCCommentModel.h; sourceTree = "<group>"; };
  830 + D2EBC8561F01FF9200F198FB /* LVCCommentModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCCommentModel.m; sourceTree = "<group>"; };
  831 + D2EBC8581F02011400F198FB /* LVCVodPlayerTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCVodPlayerTableViewCell.h; sourceTree = "<group>"; };
  832 + D2EBC8591F02011400F198FB /* LVCVodPlayerTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCVodPlayerTableViewCell.m; sourceTree = "<group>"; };
  833 + D2EBC8621F02105C00F198FB /* LVCHomePageViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCHomePageViewController.h; sourceTree = "<group>"; };
  834 + D2EBC8631F02105C00F198FB /* LVCHomePageViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCHomePageViewController.m; sourceTree = "<group>"; };
  835 + D2EBC8651F02108000F198FB /* LiveListService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LiveListService.h; sourceTree = "<group>"; };
  836 + D2EBC8661F02108000F198FB /* LiveListService.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LiveListService.m; sourceTree = "<group>"; };
  837 + D2EBC8671F02108000F198FB /* LVCLiveActivityInfoService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCLiveActivityInfoService.h; sourceTree = "<group>"; };
  838 + D2EBC8681F02108000F198FB /* LVCLiveActivityInfoService.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCLiveActivityInfoService.m; sourceTree = "<group>"; };
  839 + D2EBC8691F02108000F198FB /* LVCTVLiveViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCTVLiveViewController.h; sourceTree = "<group>"; };
  840 + D2EBC86A1F02108000F198FB /* LVCTVLiveViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCTVLiveViewController.m; sourceTree = "<group>"; };
  841 + D2EBC86B1F02108000F198FB /* LVCUGCLiveListController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCUGCLiveListController.h; sourceTree = "<group>"; };
  842 + D2EBC86C1F02108000F198FB /* LVCUGCLiveListController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCUGCLiveListController.m; sourceTree = "<group>"; };
  843 + D2EBC86D1F02108000F198FB /* LVCUGCLiveListView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCUGCLiveListView.h; sourceTree = "<group>"; };
  844 + D2EBC86E1F02108000F198FB /* LVCUGCLiveListView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCUGCLiveListView.m; sourceTree = "<group>"; };
  845 + D2EBC86F1F02108000F198FB /* LVCUGCLivePlayerController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCUGCLivePlayerController.h; sourceTree = "<group>"; };
  846 + D2EBC8701F02108000F198FB /* LVCUGCLivePlayerController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCUGCLivePlayerController.m; sourceTree = "<group>"; };
  847 + D2EBC8771F02108F00F198FB /* LVCUGCLiveListModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCUGCLiveListModel.h; sourceTree = "<group>"; };
  848 + D2EBC8781F02108F00F198FB /* LVCUGCLiveListModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCUGCLiveListModel.m; sourceTree = "<group>"; };
  849 + D2EBC8791F02108F00F198FB /* LVCUGCLivePlayerModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCUGCLivePlayerModel.h; sourceTree = "<group>"; };
  850 + D2EBC87A1F02108F00F198FB /* LVCUGCLivePlayerModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCUGCLivePlayerModel.m; sourceTree = "<group>"; };
  851 + D2EBC87D1F02109C00F198FB /* LVCUGCBackgroundView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCUGCBackgroundView.h; sourceTree = "<group>"; };
  852 + D2EBC87E1F02109C00F198FB /* LVCUGCBackgroundView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCUGCBackgroundView.m; sourceTree = "<group>"; };
  853 + D2EBC87F1F02109C00F198FB /* LVCUGCLivePlayerCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCUGCLivePlayerCell.h; sourceTree = "<group>"; };
  854 + D2EBC8801F02109C00F198FB /* LVCUGCLivePlayerCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCUGCLivePlayerCell.m; sourceTree = "<group>"; };
  855 + D2EBC8811F02109C00F198FB /* LVCUGCPlayerLoadingView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCUGCPlayerLoadingView.h; sourceTree = "<group>"; };
  856 + D2EBC8821F02109C00F198FB /* LVCUGCPlayerLoadingView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCUGCPlayerLoadingView.m; sourceTree = "<group>"; };
  857 + D2EBC8861F0225D900F198FB /* LVCVodPlayerListController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCVodPlayerListController.h; sourceTree = "<group>"; };
  858 + D2EBC8871F0225D900F198FB /* LVCVodPlayerListController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCVodPlayerListController.m; sourceTree = "<group>"; };
847 859 /* End PBXFileReference section */
848 860  
849 861 /* Begin PBXFrameworksBuildPhase section */
... ... @@ -1115,59 +1127,113 @@
1115 1127 path = Masonry;
1116 1128 sourceTree = "<group>";
1117 1129 };
1118   - 811BB67B1E80F858005C6291 /* ChatView */ = {
  1130 + 812E504E1E7699B9004F5FCD /* CNLiveSDK */ = {
  1131 + isa = PBXGroup;
  1132 + children = (
  1133 + 8178D4161F01FA2900AA78A4 /* CNLivePlayerSDK.framework */,
  1134 + D2994BA41E8F48DE00E8D2CC /* CNLiveChatManager.framework */,
  1135 + D2994BA51E8F48DE00E8D2CC /* CNLiveMsgTools.framework */,
  1136 + D25BF87C1E7B8C78007FB138 /* KSYGPUResource.bundle */,
  1137 + );
  1138 + path = CNLiveSDK;
  1139 + sourceTree = "<group>";
  1140 + };
  1141 + 8178D41A1F02030500AA78A4 /* PGCSections */ = {
  1142 + isa = PBXGroup;
  1143 + children = (
  1144 + 8178D41B1F02036200AA78A4 /* Controller */,
  1145 + 8178D41C1F02036200AA78A4 /* Model */,
  1146 + 8178D41D1F02036200AA78A4 /* View */,
  1147 + );
  1148 + path = PGCSections;
  1149 + sourceTree = "<group>";
  1150 + };
  1151 + 8178D41B1F02036200AA78A4 /* Controller */ = {
  1152 + isa = PBXGroup;
  1153 + children = (
  1154 + 8178D41E1F02043500AA78A4 /* LVCFullScreenPlayerController.h */,
  1155 + 8178D41F1F02043500AA78A4 /* LVCFullScreenPlayerController.m */,
  1156 + 8178D4201F02043500AA78A4 /* LVCLivePlayerController.h */,
  1157 + 8178D4211F02043500AA78A4 /* LVCLivePlayerController.m */,
  1158 + 8178D4551F0204D600AA78A4 /* LVCTelevisioController.h */,
  1159 + 8178D4561F0204D600AA78A4 /* LVCTelevisioController.m */,
  1160 + );
  1161 + path = Controller;
  1162 + sourceTree = "<group>";
  1163 + };
  1164 + 8178D41C1F02036200AA78A4 /* Model */ = {
1119 1165 isa = PBXGroup;
1120 1166 children = (
1121   - 811BB67C1E80F858005C6291 /* LVCChatView.h */,
1122   - 811BB67D1E80F858005C6291 /* LVCChatView.m */,
1123   - 81A1B9A71E8277410079FF5F /* LVCInputView.h */,
1124   - 81A1B9A81E8277410079FF5F /* LVCInputView.m */,
1125   - 811BB6861E8107B4005C6291 /* LVCChatViewTableViewCell.h */,
1126   - 811BB6871E8107B4005C6291 /* LVCChatViewTableViewCell.m */,
1127   - 8130911C1E84C0F0005F0BFF /* LVCMessage.h */,
1128   - 8130911D1E84C0F0005F0BFF /* LVCMessage.m */,
  1167 + 8178D4271F02044300AA78A4 /* LVCChannelDetailsModel.h */,
  1168 + 8178D4281F02044300AA78A4 /* LVCChannelDetailsModel.m */,
  1169 + 8178D4291F02044300AA78A4 /* LVCChannelsModel.h */,
  1170 + 8178D42A1F02044300AA78A4 /* LVCChannelsModel.m */,
  1171 + 8178D42B1F02044300AA78A4 /* LVCChatRoomModel.h */,
  1172 + 8178D42C1F02044300AA78A4 /* LVCChatRoomModel.m */,
  1173 + 8178D42D1F02044300AA78A4 /* LVCProgramModel.h */,
  1174 + 8178D42E1F02044300AA78A4 /* LVCProgramModel.m */,
1129 1175 );
1130   - name = ChatView;
1131   - path = ../ChatView;
  1176 + path = Model;
1132 1177 sourceTree = "<group>";
1133 1178 };
1134   - 8128E2831E8A6A3600B40E75 /* Barrage */ = {
  1179 + 8178D41D1F02036200AA78A4 /* View */ = {
  1180 + isa = PBXGroup;
  1181 + children = (
  1182 + 8178D4581F02060B00AA78A4 /* ChatView */,
  1183 + 8178D4331F02045500AA78A4 /* Barrage */,
  1184 + 8178D4421F02045500AA78A4 /* LVCPlayer.h */,
  1185 + 8178D4431F02045500AA78A4 /* LVCPlayer.m */,
  1186 + 8178D4381F02045500AA78A4 /* LVCFirstHeaderReusableView.h */,
  1187 + 8178D4391F02045500AA78A4 /* LVCFirstHeaderReusableView.m */,
  1188 + 8178D43A1F02045500AA78A4 /* LVCHeaderRollCollectionViewCell.h */,
  1189 + 8178D43B1F02045500AA78A4 /* LVCHeaderRollCollectionViewCell.m */,
  1190 + 8178D43C1F02045500AA78A4 /* LVCLiveListCollectionViewCell.h */,
  1191 + 8178D43D1F02045500AA78A4 /* LVCLiveListCollectionViewCell.m */,
  1192 + 8178D43E1F02045500AA78A4 /* LVCMoreSortTableViewCell.h */,
  1193 + 8178D43F1F02045500AA78A4 /* LVCMoreSortTableViewCell.m */,
  1194 + 8178D4401F02045500AA78A4 /* LVCOtherHeaderReusableView.h */,
  1195 + 8178D4411F02045500AA78A4 /* LVCOtherHeaderReusableView.m */,
  1196 + 8178D4441F02045500AA78A4 /* LVCPlayerLoadingView.h */,
  1197 + 8178D4451F02045500AA78A4 /* LVCPlayerLoadingView.m */,
  1198 + 8178D4461F02045500AA78A4 /* LVCRequestFailedView.h */,
  1199 + 8178D4471F02045500AA78A4 /* LVCRequestFailedView.m */,
  1200 + 8178D4481F02045500AA78A4 /* LVCTelevisionView.h */,
  1201 + 8178D4491F02045500AA78A4 /* LVCTelevisionView.m */,
  1202 + );
  1203 + path = View;
  1204 + sourceTree = "<group>";
  1205 + };
  1206 + 8178D4331F02045500AA78A4 /* Barrage */ = {
1135 1207 isa = PBXGroup;
1136 1208 children = (
1137   - 8128E2841E8A6A3600B40E75 /* CNBarrageManager.h */,
1138   - 8128E2851E8A6A3600B40E75 /* CNBarrageManager.m */,
1139   - 8128E2861E8A6A3600B40E75 /* CNBarrageView.h */,
1140   - 8128E2871E8A6A3600B40E75 /* CNBarrageView.m */,
  1209 + 8178D4341F02045500AA78A4 /* CNBarrageManager.h */,
  1210 + 8178D4351F02045500AA78A4 /* CNBarrageManager.m */,
  1211 + 8178D4361F02045500AA78A4 /* CNBarrageView.h */,
  1212 + 8178D4371F02045500AA78A4 /* CNBarrageView.m */,
1141 1213 );
1142 1214 path = Barrage;
1143 1215 sourceTree = "<group>";
1144 1216 };
1145   - 812E504E1E7699B9004F5FCD /* CNLiveSDK */ = {
  1217 + 8178D4581F02060B00AA78A4 /* ChatView */ = {
1146 1218 isa = PBXGroup;
1147 1219 children = (
1148   - 8178D4161F01FA2900AA78A4 /* CNLivePlayerSDK.framework */,
1149   - D2994BA41E8F48DE00E8D2CC /* CNLiveChatManager.framework */,
1150   - D2994BA51E8F48DE00E8D2CC /* CNLiveMsgTools.framework */,
1151   - D25BF87C1E7B8C78007FB138 /* KSYGPUResource.bundle */,
  1220 + 8178D4591F02060B00AA78A4 /* LVCChatView.h */,
  1221 + 8178D45A1F02060B00AA78A4 /* LVCChatView.m */,
  1222 + 8178D45B1F02060B00AA78A4 /* LVCChatViewTableViewCell.h */,
  1223 + 8178D45C1F02060B00AA78A4 /* LVCChatViewTableViewCell.m */,
  1224 + 8178D45D1F02060B00AA78A4 /* LVCInputView.h */,
  1225 + 8178D45E1F02060B00AA78A4 /* LVCInputView.m */,
  1226 + 8178D45F1F02060B00AA78A4 /* LVCMessage.h */,
  1227 + 8178D4601F02060B00AA78A4 /* LVCMessage.m */,
1152 1228 );
1153   - path = CNLiveSDK;
  1229 + path = ChatView;
1154 1230 sourceTree = "<group>";
1155 1231 };
1156 1232 81A482FC1E88B0130097A80A /* Model */ = {
1157 1233 isa = PBXGroup;
1158 1234 children = (
1159   - 81A4830C1E88B8300097A80A /* LVCChannelsModel.h */,
1160   - 81A4830D1E88B8300097A80A /* LVCChannelsModel.m */,
1161   - 81A4830F1E88B8630097A80A /* LVCChannelDetailsModel.h */,
1162   - 81A483101E88B8630097A80A /* LVCChannelDetailsModel.m */,
1163   - 81A4831E1E88F4BF0097A80A /* LVCProgramModel.h */,
1164   - 81A4831F1E88F4BF0097A80A /* LVCProgramModel.m */,
1165   - 81A482FF1E88B0130097A80A /* LVCChatRoomModel.h */,
1166   - 81A483001E88B0130097A80A /* LVCChatRoomModel.m */,
1167   - D2A089EF1E8A41120071412C /* LVCUGCLiveListModel.h */,
1168   - D2A089F01E8A41120071412C /* LVCUGCLiveListModel.m */,
1169   - D2A089E91E8A09CB0071412C /* LVCUGCLivePlayerModel.h */,
1170   - D2A089EA1E8A09CB0071412C /* LVCUGCLivePlayerModel.m */,
  1235 + D2EBC8551F01FF9200F198FB /* LVCCommentModel.h */,
  1236 + D2EBC8561F01FF9200F198FB /* LVCCommentModel.m */,
1171 1237 );
1172 1238 path = Model;
1173 1239 sourceTree = "<group>";
... ... @@ -1550,6 +1616,8 @@
1550 1616 children = (
1551 1617 4B45CE421EB86A590079AFB7 /* mySections */,
1552 1618 D2888DA71E6EC014003A77C8 /* homeSections */,
  1619 + D2EBC85E1F020D3D00F198FB /* UGCSections */,
  1620 + 8178D41A1F02030500AA78A4 /* PGCSections */,
1553 1621 D2888D951E6EBAA7003A77C8 /* LiveSections */,
1554 1622 D2575C431E76846900E3A8FC /* InteractionSections */,
1555 1623 D2029C751E6EADE10027CD92 /* ZXSections(例子) */,
... ... @@ -1877,8 +1945,8 @@
1877 1945 D233EE741EEE26C700674ED5 /* Controller */ = {
1878 1946 isa = PBXGroup;
1879 1947 children = (
1880   - D233EE701EEA88EF00674ED5 /* LVCHomePageViewController.h */,
1881   - D233EE711EEA88EF00674ED5 /* LVCHomePageViewController.m */,
  1948 + D2EBC8621F02105C00F198FB /* LVCHomePageViewController.h */,
  1949 + D2EBC8631F02105C00F198FB /* LVCHomePageViewController.m */,
1882 1950 );
1883 1951 name = Controller;
1884 1952 sourceTree = "<group>";
... ... @@ -2105,22 +2173,8 @@
2105 2173 D2888DA81E6EC014003A77C8 /* Controller */ = {
2106 2174 isa = PBXGroup;
2107 2175 children = (
2108   - D2888DB21E6EC154003A77C8 /* HomeViewController.h */,
2109   - D2888DB31E6EC154003A77C8 /* HomeViewController.m */,
2110   - 810B64E11E779AFE00133E15 /* LVCLivePlayerController.h */,
2111   - 810B64E21E779AFE00133E15 /* LVCLivePlayerController.m */,
2112   - 810B65081E77B39D00133E15 /* LVCFullScreenPlayerController.h */,
2113   - 810B65091E77B39D00133E15 /* LVCFullScreenPlayerController.m */,
2114   - D25BF87E1E7BD266007FB138 /* LVCUGCLivePlayerController.h */,
2115   - D25BF87F1E7BD266007FB138 /* LVCUGCLivePlayerController.m */,
2116   - 81A483151E88BED00097A80A /* LVCTVLiveViewController.h */,
2117   - 81A483161E88BED00097A80A /* LVCTVLiveViewController.m */,
2118   - 81A483181E88E19C0097A80A /* LVCMoreProgramViewController.h */,
2119   - 81A483191E88E19C0097A80A /* LVCMoreProgramViewController.m */,
2120   - D2A089EC1E8A336A0071412C /* LiveListService.h */,
2121   - D2A089ED1E8A336A0071412C /* LiveListService.m */,
2122   - D2F048681EE54E860011E39C /* LVCLiveActivityInfoService.h */,
2123   - D2F048691EE54E860011E39C /* LVCLiveActivityInfoService.m */,
  2176 + D2EBC8861F0225D900F198FB /* LVCVodPlayerListController.h */,
  2177 + D2EBC8871F0225D900F198FB /* LVCVodPlayerListController.m */,
2124 2178 );
2125 2179 path = Controller;
2126 2180 sourceTree = "<group>";
... ... @@ -2128,34 +2182,10 @@
2128 2182 D2888DAA1E6EC014003A77C8 /* View */ = {
2129 2183 isa = PBXGroup;
2130 2184 children = (
2131   - 8128E2831E8A6A3600B40E75 /* Barrage */,
2132   - 811BB67B1E80F858005C6291 /* ChatView */,
2133   - 810B64DE1E779AE900133E15 /* LVCPlayer.h */,
2134   - 810B64DF1E779AE900133E15 /* LVCPlayer.m */,
2135   - 81DFC4221F01132D0029BCB3 /* LVCTelevisionView.h */,
2136   - 81DFC4231F01132D0029BCB3 /* LVCTelevisionView.m */,
2137   - 81A482F61E88AFA20097A80A /* LVCFirstHeaderReusableView.h */,
2138   - 81A482F71E88AFA20097A80A /* LVCFirstHeaderReusableView.m */,
2139   - 81A483091E88B7EE0097A80A /* LVCOtherHeaderReusableView.h */,
2140   - 81A4830A1E88B7EE0097A80A /* LVCOtherHeaderReusableView.m */,
2141   - 81A483121E88BA420097A80A /* LVCLiveListCollectionViewCell.h */,
2142   - 81A483131E88BA420097A80A /* LVCLiveListCollectionViewCell.m */,
2143   - 81A483031E88B32C0097A80A /* LVCHeaderRollCollectionViewCell.h */,
2144   - 81A483041E88B32C0097A80A /* LVCHeaderRollCollectionViewCell.m */,
2145   - 8112D42F1E7927A5002E00F6 /* LVCPlayerLoadingView.h */,
2146   - 8112D4301E7927A5002E00F6 /* LVCPlayerLoadingView.m */,
2147   - 81CE9E191E8CF567000F8F6B /* LVCRequestFailedView.h */,
2148   - 81CE9E1A1E8CF567000F8F6B /* LVCRequestFailedView.m */,
2149   - D28F5FFD1E8BC7EF00914142 /* LVCUGCLiveListView.h */,
2150   - D28F5FFE1E8BC7EF00914142 /* LVCUGCLiveListView.m */,
2151   - D2A089E61E89FA720071412C /* LVCUGCLivePlayerCell.h */,
2152   - D2A089E71E89FA720071412C /* LVCUGCLivePlayerCell.m */,
2153   - D25BF8811E7F775F007FB138 /* LVCUGCPlayerLoadingView.h */,
2154   - D25BF8821E7F775F007FB138 /* LVCUGCPlayerLoadingView.m */,
2155   - D25BF8911E7FBAEA007FB138 /* LVCUGCBackgroundView.h */,
2156   - D25BF8921E7FBAEA007FB138 /* LVCUGCBackgroundView.m */,
2157   - 81A4831B1E88E1EB0097A80A /* LVCMoreSortTableViewCell.h */,
2158   - 81A4831C1E88E1EB0097A80A /* LVCMoreSortTableViewCell.m */,
  2185 + D219E86C1F01002400650F38 /* LVCVodPlayerListView.h */,
  2186 + D219E86D1F01002400650F38 /* LVCVodPlayerListView.m */,
  2187 + D2EBC8581F02011400F198FB /* LVCVodPlayerTableViewCell.h */,
  2188 + D2EBC8591F02011400F198FB /* LVCVodPlayerTableViewCell.m */,
2159 2189 );
2160 2190 path = View;
2161 2191 sourceTree = "<group>";
... ... @@ -2175,6 +2205,59 @@
2175 2205 path = ChatBarrageManager;
2176 2206 sourceTree = "<group>";
2177 2207 };
  2208 + D2EBC85E1F020D3D00F198FB /* UGCSections */ = {
  2209 + isa = PBXGroup;
  2210 + children = (
  2211 + D2EBC85F1F020F3C00F198FB /* Controller */,
  2212 + D2EBC8601F020F3C00F198FB /* Model */,
  2213 + D2EBC8611F020F3C00F198FB /* View */,
  2214 + );
  2215 + path = UGCSections;
  2216 + sourceTree = "<group>";
  2217 + };
  2218 + D2EBC85F1F020F3C00F198FB /* Controller */ = {
  2219 + isa = PBXGroup;
  2220 + children = (
  2221 + D2EBC8651F02108000F198FB /* LiveListService.h */,
  2222 + D2EBC8661F02108000F198FB /* LiveListService.m */,
  2223 + D2EBC8671F02108000F198FB /* LVCLiveActivityInfoService.h */,
  2224 + D2EBC8681F02108000F198FB /* LVCLiveActivityInfoService.m */,
  2225 + D2EBC8691F02108000F198FB /* LVCTVLiveViewController.h */,
  2226 + D2EBC86A1F02108000F198FB /* LVCTVLiveViewController.m */,
  2227 + D2EBC86B1F02108000F198FB /* LVCUGCLiveListController.h */,
  2228 + D2EBC86C1F02108000F198FB /* LVCUGCLiveListController.m */,
  2229 + D2EBC86D1F02108000F198FB /* LVCUGCLiveListView.h */,
  2230 + D2EBC86E1F02108000F198FB /* LVCUGCLiveListView.m */,
  2231 + D2EBC86F1F02108000F198FB /* LVCUGCLivePlayerController.h */,
  2232 + D2EBC8701F02108000F198FB /* LVCUGCLivePlayerController.m */,
  2233 + );
  2234 + path = Controller;
  2235 + sourceTree = "<group>";
  2236 + };
  2237 + D2EBC8601F020F3C00F198FB /* Model */ = {
  2238 + isa = PBXGroup;
  2239 + children = (
  2240 + D2EBC8771F02108F00F198FB /* LVCUGCLiveListModel.h */,
  2241 + D2EBC8781F02108F00F198FB /* LVCUGCLiveListModel.m */,
  2242 + D2EBC8791F02108F00F198FB /* LVCUGCLivePlayerModel.h */,
  2243 + D2EBC87A1F02108F00F198FB /* LVCUGCLivePlayerModel.m */,
  2244 + );
  2245 + path = Model;
  2246 + sourceTree = "<group>";
  2247 + };
  2248 + D2EBC8611F020F3C00F198FB /* View */ = {
  2249 + isa = PBXGroup;
  2250 + children = (
  2251 + D2EBC87D1F02109C00F198FB /* LVCUGCBackgroundView.h */,
  2252 + D2EBC87E1F02109C00F198FB /* LVCUGCBackgroundView.m */,
  2253 + D2EBC87F1F02109C00F198FB /* LVCUGCLivePlayerCell.h */,
  2254 + D2EBC8801F02109C00F198FB /* LVCUGCLivePlayerCell.m */,
  2255 + D2EBC8811F02109C00F198FB /* LVCUGCPlayerLoadingView.h */,
  2256 + D2EBC8821F02109C00F198FB /* LVCUGCPlayerLoadingView.m */,
  2257 + );
  2258 + path = View;
  2259 + sourceTree = "<group>";
  2260 + };
2178 2261 /* End PBXGroup section */
2179 2262  
2180 2263 /* Begin PBXNativeTarget section */
... ... @@ -2327,20 +2410,18 @@
2327 2410 4B45CE8A1EB86A590079AFB7 /* LVCPersonCommonCell.m in Sources */,
2328 2411 D2029CC01E6EADE10027CD92 /* UIImage+GIF.m in Sources */,
2329 2412 4B45CE851EB86A590079AFB7 /* LVCClearCachesCell.m in Sources */,
2330   - D25BF8831E7F775F007FB138 /* LVCUGCPlayerLoadingView.m in Sources */,
2331   - 81A4831A1E88E19C0097A80A /* LVCMoreProgramViewController.m in Sources */,
2332 2413 4B45CE9B1EB86A760079AFB7 /* ZXUIKit.m in Sources */,
2333 2414 D214CB4F1EF7BD890014EEBA /* V8HorizontalPickerView.m in Sources */,
2334 2415 D2029BCF1E6EADD70027CD92 /* ZXTabBarController.m in Sources */,
2335 2416 D2029CB81E6EADE10027CD92 /* SDImageCache.m in Sources */,
2336 2417 D2029CBB1E6EADE10027CD92 /* SDWebImageDownloader.m in Sources */,
2337 2418 D2029CA71E6EADE10027CD92 /* MJRefreshAutoGifFooter.m in Sources */,
2338   - D28F5FFF1E8BC7EF00914142 /* LVCUGCLiveListView.m in Sources */,
2339 2419 D2029CC11E6EADE10027CD92 /* UIImage+MultiFormat.m in Sources */,
2340 2420 D245715F1E83B09900AA85D6 /* userInfoModel.m in Sources */,
  2421 + 8178D4241F02043500AA78A4 /* LVCFullScreenPlayerController.m in Sources */,
2341 2422 D2029C861E6EADE10027CD92 /* Tools.m in Sources */,
2342 2423 4B42A6C41EC00CC800DA09D7 /* UIAlertView+Blocks.m in Sources */,
2343   - D25BF8931E7FBAEA007FB138 /* LVCUGCBackgroundView.m in Sources */,
  2424 + 8178D44E1F02045500AA78A4 /* LVCLiveListCollectionViewCell.m in Sources */,
2344 2425 D214CB521EF7CB310014EEBA /* LVCChannelPagingView.m in Sources */,
2345 2426 4B45CE861EB86A590079AFB7 /* LVCLoginShowView.m in Sources */,
2346 2427 D2029CA01E6EADE10027CD92 /* NSObject+MJProperty.m in Sources */,
... ... @@ -2348,33 +2429,32 @@
2348 2429 D2029CB51E6EADE10027CD92 /* SDiOSVersion.m in Sources */,
2349 2430 4B45CE981EB86A760079AFB7 /* UILabel+createLabel.m in Sources */,
2350 2431 D2029C9C1E6EADE10027CD92 /* MJPropertyType.m in Sources */,
2351   - 81A4830E1E88B8300097A80A /* LVCChannelsModel.m in Sources */,
2352 2432 D22831091E77D8D500627701 /* GiftModel.m in Sources */,
  2433 + D2EBC85A1F02011400F198FB /* LVCVodPlayerTableViewCell.m in Sources */,
2353 2434 D23BBDBE1EF8ED4A002FE0B8 /* LVCChannelDetailModel.m in Sources */,
2354 2435 D2029CCD1E6EADE10027CD92 /* SearchModel.m in Sources */,
2355 2436 4BD8560F1EBACEF80082061D /* CNLiveWebView.m in Sources */,
2356 2437 810B65051E779B1F00133E15 /* NSLayoutConstraint+MASDebugAdditions.m in Sources */,
2357 2438 D2029CCB1E6EADE10027CD92 /* SVRadialGradientLayer.m in Sources */,
2358   - 8130911E1E84C0F0005F0BFF /* LVCMessage.m in Sources */,
2359   - 81DFC4241F01132D0029BCB3 /* LVCTelevisionView.m in Sources */,
  2439 + 8178D4541F02045500AA78A4 /* LVCTelevisionView.m in Sources */,
2360 2440 D23696841E7FC6A900E4BF71 /* chatListCell.m in Sources */,
2361 2441 4B45CE7B1EB86A590079AFB7 /* MinePersonalDataController.m in Sources */,
2362 2442 D2029CAF1E6EADE10027CD92 /* MJRefreshStateHeader.m in Sources */,
2363 2443 4BD856091EBACD530082061D /* UIRefreshControl+AFNetworking.m in Sources */,
2364 2444 81F1C8401E8BC5CC0085C2B8 /* NSArray+Safety.m in Sources */,
2365   - D2A089EE1E8A336A0071412C /* LiveListService.m in Sources */,
2366   - D2A089E81E89FA720071412C /* LVCUGCLivePlayerCell.m in Sources */,
2367   - 81A483111E88B8630097A80A /* LVCChannelDetailsModel.m in Sources */,
2368 2445 D2029D011E6EAE2E0027CD92 /* UIColor+HexString.m in Sources */,
2369 2446 4B45CE7D1EB86A590079AFB7 /* ModifyInfomationController.m in Sources */,
2370 2447 D23BBDBB1EF8E8B2002FE0B8 /* LVCBannerAndMarqueeModel.m in Sources */,
2371 2448 D2029CA41E6EADE10027CD92 /* MJRefreshComponent.m in Sources */,
  2449 + 8178D42F1F02044300AA78A4 /* LVCChannelDetailsModel.m in Sources */,
2372 2450 D2575C7A1E76A4F300E3A8FC /* NHCarViews.m in Sources */,
  2451 + 8178D44A1F02045500AA78A4 /* CNBarrageManager.m in Sources */,
2373 2452 D209AD711EC583D100D82E3B /* MineAccountController.m in Sources */,
2374 2453 D2029CBC1E6EADE10027CD92 /* SDWebImageDownloaderOperation.m in Sources */,
2375 2454 D2029CA51E6EADE10027CD92 /* MJRefreshFooter.m in Sources */,
2376 2455 D22830FC1E77C2D900627701 /* BottomToolView.m in Sources */,
2377 2456 4BD856021EBACD530082061D /* AFURLSessionManager.m in Sources */,
  2457 + D2EBC87B1F02108F00F198FB /* LVCUGCLiveListModel.m in Sources */,
2378 2458 4BD855FD1EBACD530082061D /* AFNetworkReachabilityManager.m in Sources */,
2379 2459 810B65061E779B1F00133E15 /* View+MASAdditions.m in Sources */,
2380 2460 D2029D161E6EB00D0027CD92 /* AppDelegate.m in Sources */,
... ... @@ -2382,10 +2462,10 @@
2382 2462 4BD8561D1EBAD6490082061D /* ZXConst.m in Sources */,
2383 2463 D2029CB71E6EADE10027CD92 /* NSData+ImageContentType.m in Sources */,
2384 2464 D23DC1551ECC41C100103B0E /* LVCVerifyViewController.m in Sources */,
  2465 + D2EBC8641F02105C00F198FB /* LVCHomePageViewController.m in Sources */,
2385 2466 D29E81ED1E88DC5B008C9906 /* PriChatCell.m in Sources */,
2386 2467 D2029CD01E6EADE10027CD92 /* SearchPresenter.m in Sources */,
2387 2468 D2029CBE1E6EADE10027CD92 /* SDWebImagePrefetcher.m in Sources */,
2388   - 8128E2891E8A6A3600B40E75 /* CNBarrageView.m in Sources */,
2389 2469 D2A803081E80BD6F009D6F1C /* TopToolView.m in Sources */,
2390 2470 D2B7B2571E8261EF00ED084E /* ChatBarrOperation.m in Sources */,
2391 2471 D209AD6B1EC580F100D82E3B /* LVCWebViewController.m in Sources */,
... ... @@ -2397,12 +2477,12 @@
2397 2477 D2029BCB1E6EADD70027CD92 /* BaseTableViewCell.m in Sources */,
2398 2478 81F1C8381E8BBDDA0085C2B8 /* MHPagingScrollView.m in Sources */,
2399 2479 D2029CAA1E6EADE10027CD92 /* MJRefreshBackGifFooter.m in Sources */,
  2480 + 8178D4531F02045500AA78A4 /* LVCRequestFailedView.m in Sources */,
2400 2481 4BD855FB1EBACD530082061D /* AFHTTPRequestOperationManager.m in Sources */,
2401 2482 D217A24B1E7B76C7003B44CB /* PresentViewCell.m in Sources */,
2402 2483 D2029C9B1E6EADE10027CD92 /* MJPropertyKey.m in Sources */,
2403 2484 4B45CE821EB86A590079AFB7 /* LVCMineCommonModel.m in Sources */,
2404 2485 D2029CBF1E6EADE10027CD92 /* UIButton+WebCache.m in Sources */,
2405   - 810B64E31E779AFE00133E15 /* LVCLivePlayerController.m in Sources */,
2406 2486 D2575C7E1E76A4F300E3A8FC /* NHPlaneViews.m in Sources */,
2407 2487 4B45CE761EB86A590079AFB7 /* BeingAnchorController.m in Sources */,
2408 2488 D2029CC51E6EADE10027CD92 /* UIView+WebCacheOperation.m in Sources */,
... ... @@ -2411,29 +2491,31 @@
2411 2491 810B65031E779B1F00133E15 /* MASViewConstraint.m in Sources */,
2412 2492 D2029BCE1E6EADD70027CD92 /* ZXNavigationController.m in Sources */,
2413 2493 D23BBDC71EF8FBD1002FE0B8 /* LVCSectionHeaderCollectionReusableView.m in Sources */,
2414   - D2F0486A1EE54E860011E39C /* LVCLiveActivityInfoService.m in Sources */,
2415 2494 D2029CA21E6EADE10027CD92 /* MJRefreshAutoFooter.m in Sources */,
2416 2495 D2029CC71E6EADE10027CD92 /* SVIndefiniteAnimatedView.m in Sources */,
2417 2496 D2029CA31E6EADE10027CD92 /* MJRefreshBackFooter.m in Sources */,
2418 2497 4B45CE7E1EB86A590079AFB7 /* LoginViewController.m in Sources */,
2419 2498 D255300C1E793F8200DF38A5 /* NHFighterView+animDelegagte.m in Sources */,
2420   - 81A4831D1E88E1EB0097A80A /* LVCMoreSortTableViewCell.m in Sources */,
2421 2499 4BD856181EBAD35C0082061D /* NSDictionary+Safety.m in Sources */,
2422 2500 4BD856011EBACD530082061D /* AFURLResponseSerialization.m in Sources */,
2423 2501 D2575C4A1E7685DE00E3A8FC /* UIView+Bubbling.m in Sources */,
  2502 + 8178D4301F02044300AA78A4 /* LVCChannelsModel.m in Sources */,
  2503 + D2EBC8571F01FF9200F198FB /* LVCCommentModel.m in Sources */,
2424 2504 D23BBDB81EF8D15D002FE0B8 /* LVCMainHeaderCollectionReusableView.m in Sources */,
2425 2505 D2029CA61E6EADE10027CD92 /* MJRefreshHeader.m in Sources */,
2426 2506 D2029CC41E6EADE10027CD92 /* UIImageView+WebCache.m in Sources */,
2427 2507 4B45CE801EB86A590079AFB7 /* idAndPwdView.m in Sources */,
  2508 + 8178D4521F02045500AA78A4 /* LVCPlayerLoadingView.m in Sources */,
2428 2509 D23BBDC41EF8FB99002FE0B8 /* LVCMainHorizontalCollectionViewCell.m in Sources */,
2429   - D233EE721EEA88EF00674ED5 /* LVCHomePageViewController.m in Sources */,
  2510 + 8178D4251F02043500AA78A4 /* LVCLivePlayerController.m in Sources */,
2430 2511 D236967E1E7F9E4100E4BF71 /* GiftPayButton.m in Sources */,
2431 2512 4BD8560A1EBACD530082061D /* UIWebView+AFNetworking.m in Sources */,
2432 2513 D219E86B1EFD04A700650F38 /* LVCBigHorizontalCollectionViewCell.m in Sources */,
  2514 + D2EBC8881F0225D900F198FB /* LVCVodPlayerListController.m in Sources */,
2433 2515 4B45CE831EB86A590079AFB7 /* LVCMineModel.m in Sources */,
2434 2516 4B45CE791EB86A590079AFB7 /* MineAboutUsController.m in Sources */,
2435 2517 81A483081E88B6140097A80A /* UIView+ViewController.m in Sources */,
2436   - D2A089EB1E8A09CB0071412C /* LVCUGCLivePlayerModel.m in Sources */,
  2518 + D2EBC8721F02108000F198FB /* LVCLiveActivityInfoService.m in Sources */,
2437 2519 D2029CC81E6EADE10027CD92 /* SVProgressAnimatedView.m in Sources */,
2438 2520 4B45CE891EB86A590079AFB7 /* LVCPersonalImageCell.m in Sources */,
2439 2521 D2029C961E6EADE10027CD92 /* MBProgressHUD.m in Sources */,
... ... @@ -2441,50 +2523,53 @@
2441 2523 810B65071E779B1F00133E15 /* ViewController+MASAdditions.m in Sources */,
2442 2524 D2029C9A1E6EADE10027CD92 /* MJProperty.m in Sources */,
2443 2525 4BD856031EBACD530082061D /* AFNetworkActivityIndicatorManager.m in Sources */,
  2526 + 8178D44D1F02045500AA78A4 /* LVCHeaderRollCollectionViewCell.m in Sources */,
2444 2527 4BD855CD1EBAC4B70082061D /* CNLiveKeychainWrapper.m in Sources */,
2445 2528 D2029CB91E6EADE10027CD92 /* SDWebImageCompat.m in Sources */,
2446 2529 D2029CB61E6EADE10027CD92 /* MKAnnotationView+WebCache.m in Sources */,
2447 2530 4BD856121EBAD2640082061D /* ProgramModel.m in Sources */,
2448 2531 D2B2ED801E88FC5200F7538A /* LVCUGCLiveEndView.m in Sources */,
2449 2532 810B64FE1E779B1F00133E15 /* MASCompositeConstraint.m in Sources */,
2450   - 8128E2881E8A6A3600B40E75 /* CNBarrageManager.m in Sources */,
2451 2533 D2029C981E6EADE10027CD92 /* MJExtensionConst.m in Sources */,
  2534 + 8178D4571F0204D600AA78A4 /* LVCTelevisioController.m in Sources */,
2452 2535 D2575C671E76A25400E3A8FC /* LVCInteractionController.m in Sources */,
2453 2536 D2029CAE1E6EADE10027CD92 /* MJRefreshNormalHeader.m in Sources */,
2454 2537 D23696921E7FC83800E4BF71 /* chatMsgModel.m in Sources */,
2455 2538 4BD856071EBACD530082061D /* UIImageView+AFNetworking.m in Sources */,
2456 2539 D2029CC61E6EADE10027CD92 /* SSKeychain.m in Sources */,
2457 2540 4B45CE871EB86A590079AFB7 /* LVCMineCommonCell.m in Sources */,
  2541 + D2EBC87C1F02108F00F198FB /* LVCUGCLivePlayerModel.m in Sources */,
  2542 + 8178D4621F02060B00AA78A4 /* LVCChatViewTableViewCell.m in Sources */,
2458 2543 811BB68E1E8116C8005C6291 /* NSString+StringSize.m in Sources */,
2459 2544 4BD856051EBACD530082061D /* UIAlertView+AFNetworking.m in Sources */,
2460 2545 D224B1971E826ED800CC61D0 /* ChatBarrageAnimAction.m in Sources */,
2461 2546 D2029C9E1E6EADE10027CD92 /* NSObject+MJCoding.m in Sources */,
2462   - 81A483021E88B0130097A80A /* LVCChatRoomModel.m in Sources */,
2463 2547 D2029C991E6EADE10027CD92 /* MJFoundation.m in Sources */,
  2548 + 8178D4641F02060B00AA78A4 /* LVCMessage.m in Sources */,
2464 2549 4B45CE8B1EB86A590079AFB7 /* LVCTextField.m in Sources */,
2465 2550 D2575C461E76857100E3A8FC /* LVCAnimationManager.m in Sources */,
2466   - D2A089F11E8A41120071412C /* LVCUGCLiveListModel.m in Sources */,
  2551 + 8178D4321F02044300AA78A4 /* LVCProgramModel.m in Sources */,
2467 2552 D2CBC13B1ECC157A00E00279 /* LVCVerifyLiveAuthService.m in Sources */,
2468 2553 D2029D041E6EAE2E0027CD92 /* UILabel+ContentSize.m in Sources */,
2469 2554 4B45CE7C1EB86A590079AFB7 /* MineSettingViewController.m in Sources */,
2470 2555 4BD855D11EBAC7220082061D /* DESUtility.m in Sources */,
2471 2556 D25530031E79115100DF38A5 /* AnimQueueManager.m in Sources */,
2472   - 81A482F81E88AFA20097A80A /* LVCFirstHeaderReusableView.m in Sources */,
2473 2557 D2029B861E6EAAA50027CD92 /* main.m in Sources */,
2474 2558 4B45CEA71EB86B9F0079AFB7 /* NSObject+UserModel.m in Sources */,
2475 2559 4BD856061EBACD530082061D /* UIButton+AFNetworking.m in Sources */,
2476 2560 D2029C9F1E6EADE10027CD92 /* NSObject+MJKeyValue.m in Sources */,
2477 2561 D209AD6E1EC583B700D82E3B /* MineMessageController.m in Sources */,
2478 2562 D25BF8A01E80C4BD007FB138 /* UIImage+LVCVagueImage.m in Sources */,
  2563 + 8178D44C1F02045500AA78A4 /* LVCFirstHeaderReusableView.m in Sources */,
2479 2564 D2888DB11E6EC05F003A77C8 /* TempViewController.m in Sources */,
2480 2565 810B65021E779B1F00133E15 /* MASViewAttribute.m in Sources */,
2481 2566 D2B7B2511E8247D400ED084E /* ChatBarrageManager.m in Sources */,
2482 2567 D2029CAC1E6EADE10027CD92 /* MJRefreshBackStateFooter.m in Sources */,
2483 2568 D2029CB11E6EADE10027CD92 /* MJRefreshConst.m in Sources */,
2484 2569 D2029CAD1E6EADE10027CD92 /* MJRefreshGifHeader.m in Sources */,
2485   - 81A483141E88BA420097A80A /* LVCLiveListCollectionViewCell.m in Sources */,
2486 2570 D2029CB31E6EADE10027CD92 /* UIScrollView+MJRefresh.m in Sources */,
2487 2571 4BD856151EBAD31A0082061D /* NSString+UrlEncode.m in Sources */,
  2572 + 8178D4631F02060B00AA78A4 /* LVCInputView.m in Sources */,
2488 2573 4B45CE7F1EB86A590079AFB7 /* RegisterCommonController.m in Sources */,
2489 2574 4BD855FA1EBACD530082061D /* AFHTTPRequestOperation.m in Sources */,
2490 2575 D2029D051E6EAE2E0027CD92 /* UILabel+labelFitSize.m in Sources */,
... ... @@ -2493,56 +2578,61 @@
2493 2578 D29D88481E88C53300543A03 /* LVCUGCLivePrepareView.m in Sources */,
2494 2579 D2029D091E6EAE2E0027CD92 /* Foundation+Log.m in Sources */,
2495 2580 4B45CEAB1EB86BFA0079AFB7 /* NSString+ZXExtension.m in Sources */,
2496   - 81A483201E88F4BF0097A80A /* LVCProgramModel.m in Sources */,
2497 2581 D2029BCA1E6EADD70027CD92 /* BaseModel.m in Sources */,
2498 2582 D25BF87B1E7B8A82007FB138 /* SliderView.m in Sources */,
2499 2583 810B65041E779B1F00133E15 /* NSArray+MASAdditions.m in Sources */,
2500   - 81A4830B1E88B7EE0097A80A /* LVCOtherHeaderReusableView.m in Sources */,
2501   - D25BF8801E7BD266007FB138 /* LVCUGCLivePlayerController.m in Sources */,
  2584 + 8178D4501F02045500AA78A4 /* LVCOtherHeaderReusableView.m in Sources */,
2502 2585 D2029D031E6EAE2E0027CD92 /* UIImage+ZXExtension.m in Sources */,
2503 2586 4BD855FC1EBACD530082061D /* AFHTTPSessionManager.m in Sources */,
2504 2587 4B45CE841EB86A590079AFB7 /* ModifyCommonView.m in Sources */,
  2588 + D219E86E1F01002400650F38 /* LVCVodPlayerListView.m in Sources */,
2505 2589 4BD856081EBACD530082061D /* UIProgressView+AFNetworking.m in Sources */,
2506 2590 D24571581E8393EB00AA85D6 /* UIImageView+ZXExtension.m in Sources */,
2507 2591 D2029D0A1E6EAE2E0027CD92 /* ZXServerUrl.m in Sources */,
2508 2592 D2029CCA1E6EADE10027CD92 /* SVProgressHUD.m in Sources */,
2509   - 81A483051E88B32C0097A80A /* LVCHeaderRollCollectionViewCell.m in Sources */,
2510 2593 D2029CA81E6EADE10027CD92 /* MJRefreshAutoNormalFooter.m in Sources */,
  2594 + D2EBC8841F02109C00F198FB /* LVCUGCLivePlayerCell.m in Sources */,
2511 2595 4B45CE991EB86A760079AFB7 /* UITextField+createTextField.m in Sources */,
2512 2596 4B45CEA81EB86B9F0079AFB7 /* UserTools.m in Sources */,
2513 2597 D217A24A1E7B76C7003B44CB /* PresentView.m in Sources */,
2514 2598 D22830F11E778C0F00627701 /* LiveBaseView.m in Sources */,
  2599 + 8178D44B1F02045500AA78A4 /* CNBarrageView.m in Sources */,
  2600 + 8178D4311F02044300AA78A4 /* LVCChatRoomModel.m in Sources */,
2515 2601 4B45CEAE1EB873630079AFB7 /* UserInformationModel.m in Sources */,
  2602 + D2EBC8741F02108000F198FB /* LVCUGCLiveListController.m in Sources */,
2516 2603 D2029CBA1E6EADE10027CD92 /* SDWebImageDecoder.m in Sources */,
2517   - 8112D4311E7927A5002E00F6 /* LVCPlayerLoadingView.m in Sources */,
2518 2604 4B45CE9A1EB86A760079AFB7 /* ZXLabel.m in Sources */,
2519 2605 D2029D081E6EAE2E0027CD92 /* ZXDeviceInfo.m in Sources */,
2520 2606 D24571631E83C40B00AA85D6 /* PrivateView.m in Sources */,
2521 2607 D2029CC21E6EADE10027CD92 /* UIImage+WebP.m in Sources */,
  2608 + D2EBC8831F02109C00F198FB /* LVCUGCBackgroundView.m in Sources */,
2522 2609 4BD856001EBACD530082061D /* AFURLRequestSerialization.m in Sources */,
2523 2610 D2029BCD1E6EADD70027CD92 /* BaseViewController.m in Sources */,
2524   - 810B64E01E779AE900133E15 /* LVCPlayer.m in Sources */,
2525 2611 4B45CE811EB86A590079AFB7 /* RegistBasicInformationView.m in Sources */,
  2612 + D2EBC8851F02109C00F198FB /* LVCUGCPlayerLoadingView.m in Sources */,
  2613 + D2EBC8711F02108000F198FB /* LiveListService.m in Sources */,
2526 2614 810B64FF1E779B1F00133E15 /* MASConstraint.m in Sources */,
  2615 + 8178D4611F02060B00AA78A4 /* LVCChatView.m in Sources */,
2527 2616 D25BF87A1E7B8A82007FB138 /* FilterFunctionView.m in Sources */,
2528 2617 D207BEA11E84C1EC006A0CE8 /* AnimationBaseView.m in Sources */,
2529 2618 4B45CE971EB86A760079AFB7 /* UIButton+createButton.m in Sources */,
2530 2619 D2029D001E6EAE2E0027CD92 /* NSNumber+ScaleHeight.m in Sources */,
2531 2620 4BD856041EBACD530082061D /* UIActivityIndicatorView+AFNetworking.m in Sources */,
2532 2621 4B45CE781EB86A590079AFB7 /* LVCMineViewController.m in Sources */,
2533   - 81CE9E1B1E8CF567000F8F6B /* LVCRequestFailedView.m in Sources */,
2534 2622 D2888D9E1E6EBF1B003A77C8 /* LVCLiveViewController.m in Sources */,
2535   - 810B650A1E77B39D00133E15 /* LVCFullScreenPlayerController.m in Sources */,
2536 2623 D20C82BE1EEEA89700BB609F /* LVCHomePageListModel.m in Sources */,
2537 2624 4B42A6C71EC0171800DA09D7 /* PlayRecordCell.m in Sources */,
2538 2625 D217A24E1E7B77C7003B44CB /* ComboCell.m in Sources */,
2539 2626 D24CFC201EFA092300AA6ADB /* JBBannerView.m in Sources */,
  2627 + 8178D44F1F02045500AA78A4 /* LVCMoreSortTableViewCell.m in Sources */,
2540 2628 D2029CBD1E6EADE10027CD92 /* SDWebImageManager.m in Sources */,
2541   - 811BB6881E8107B4005C6291 /* LVCChatViewTableViewCell.m in Sources */,
2542   - 811BB6801E80F858005C6291 /* LVCChatView.m in Sources */,
2543 2629 D2029CB41E6EADE10027CD92 /* UIView+MJExtension.m in Sources */,
  2630 + D2EBC8751F02108000F198FB /* LVCUGCLiveListView.m in Sources */,
  2631 + D2EBC8731F02108000F198FB /* LVCTVLiveViewController.m in Sources */,
2544 2632 81FB5B3C1E7A6FFC00F98E1D /* SevenSwitch.m in Sources */,
  2633 + D2EBC8761F02108000F198FB /* LVCUGCLivePlayerController.m in Sources */,
2545 2634 D2029CA91E6EADE10027CD92 /* MJRefreshAutoStateFooter.m in Sources */,
  2635 + 8178D4511F02045500AA78A4 /* LVCPlayer.m in Sources */,
2546 2636 D2029D061E6EAE2E0027CD92 /* UIView+Extension.m in Sources */,
2547 2637 D25530001E7909AC00DF38A5 /* GiftAnimOperation.m in Sources */,
2548 2638 D2029C9D1E6EADE10027CD92 /* NSObject+MJClass.m in Sources */,
... ... @@ -2555,11 +2645,8 @@
2555 2645 D2888D941E6EB8B4003A77C8 /* LVCTabBar.m in Sources */,
2556 2646 4B45CE771EB86A590079AFB7 /* IDViewController.m in Sources */,
2557 2647 4BD855FF1EBACD530082061D /* AFURLConnectionOperation.m in Sources */,
2558   - D2888DB41E6EC154003A77C8 /* HomeViewController.m in Sources */,
2559 2648 D2B7B2541E824B2D00ED084E /* ChatBarrageView.m in Sources */,
2560 2649 D25530061E7911A800DF38A5 /* GiftAnimationAction.m in Sources */,
2561   - 81A483171E88BED00097A80A /* LVCTVLiveViewController.m in Sources */,
2562   - 81A1B9A91E8277410079FF5F /* LVCInputView.m in Sources */,
2563 2650 4B45CE881EB86A590079AFB7 /* LVCMineShowCell.m in Sources */,
2564 2651 D2029CD41E6EADE70027CD92 /* HttpService.m in Sources */,
2565 2652 );
... ...
LiveVideoCloud.xcodeproj/xcuserdata/cnlive.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
... ... @@ -2,54 +2,4 @@
2 2 <Bucket
3 3 type = "1"
4 4 version = "2.0">
5   - <Breakpoints>
6   - <BreakpointProxy
7   - BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
8   - <BreakpointContent
9   - shouldBeEnabled = "No"
10   - ignoreCount = "0"
11   - continueAfterRunningActions = "No"
12   - filePath = "LiveVideoCloud/Classes/Sections/HomePageSections/LVCChannelPagingView.m"
13   - timestampString = "520154004.406962"
14   - startingColumnNumber = "9223372036854775807"
15   - endingColumnNumber = "9223372036854775807"
16   - startingLineNumber = "86"
17   - endingLineNumber = "86"
18   - landmarkName = "-requestAppindex"
19   - landmarkType = "7">
20   - </BreakpointContent>
21   - </BreakpointProxy>
22   - <BreakpointProxy
23   - BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
24   - <BreakpointContent
25   - shouldBeEnabled = "Yes"
26   - ignoreCount = "0"
27   - continueAfterRunningActions = "No"
28   - filePath = "LiveVideoCloud/Classes/Sections/HomePageSections/JBBannerView.m"
29   - timestampString = "520155014.350986"
30   - startingColumnNumber = "9223372036854775807"
31   - endingColumnNumber = "9223372036854775807"
32   - startingLineNumber = "52"
33   - endingLineNumber = "52"
34   - landmarkName = "-setBannerArray:"
35   - landmarkType = "7">
36   - </BreakpointContent>
37   - </BreakpointProxy>
38   - <BreakpointProxy
39   - BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
40   - <BreakpointContent
41   - shouldBeEnabled = "Yes"
42   - ignoreCount = "0"
43   - continueAfterRunningActions = "No"
44   - filePath = "LiveVideoCloud/Classes/Sections/HomePageSections/LVCChannelPagingView.m"
45   - timestampString = "520155233.787947"
46   - startingColumnNumber = "9223372036854775807"
47   - endingColumnNumber = "9223372036854775807"
48   - startingLineNumber = "109"
49   - endingLineNumber = "109"
50   - landmarkName = "-requestAppindex"
51   - landmarkType = "7">
52   - </BreakpointContent>
53   - </BreakpointProxy>
54   - </Breakpoints>
55 5 </Bucket>
... ...
LiveVideoCloud/AppCustoms/Main/ZXTabBarController.m
... ... @@ -8,13 +8,12 @@
8 8  
9 9 #import "ZXTabBarController.h"
10 10 #import "ZXNavigationController.h"
11   -#import "HomeViewController.h"
12 11 #import "LVCLiveViewController.h"
13 12 #import "LVCMineViewController.h"
14 13 #import "LVCTabBar.h"
15 14 #import "LoginViewController.h"
16   -#import "LVCHomePageViewController.h"
17   -#import "LVCMineViewController.h"//
  15 +#import "LVCUGCLiveListController.h"
  16 +#import "LVCVodPlayerListController.h"
18 17  
19 18 @interface ZXTabBarController ()<LVCTabBarDelegate>
20 19  
... ... @@ -51,9 +50,9 @@
51 50  
52 51 - (void)createUI
53 52 {
54   - [self setupOneChildViewController:[[ZXNavigationController alloc]initWithRootViewController:[[HomeViewController alloc]init]] title:@"" image:@"home page" selectedImage:@"home page-click on"];
55   - [self setupOneChildViewController:[[ZXNavigationController alloc]initWithRootViewController:[[HomeViewController alloc]init]] title:@"" image:@"live_default" selectedImage:@"live_focused"];
56   - [self setupOneChildViewController:[[ZXNavigationController alloc]initWithRootViewController:[[UIViewController alloc]init]] title:@"" image:@"news_default" selectedImage:@"news_focused"];
  53 + [self setupOneChildViewController:[[ZXNavigationController alloc]initWithRootViewController:[[LVCVodPlayerListController alloc]init]] title:@"" image:@"home page" selectedImage:@"home page-click on"];
  54 + [self setupOneChildViewController:[[ZXNavigationController alloc]initWithRootViewController:[[UIViewController alloc]init]] title:@"" image:@"live_default" selectedImage:@"live_focused"];
  55 + [self setupOneChildViewController:[[ZXNavigationController alloc]initWithRootViewController:[[LVCUGCLiveListController alloc]init]] title:@"" image:@"news_default" selectedImage:@"news_focused"];
57 56 [self setupOneChildViewController:[[ZXNavigationController alloc]initWithRootViewController:[[LVCMineViewController alloc]init]] title:@"" image:@"my" selectedImage:@"my-click on"];
58 57 }
59 58  
... ...
LiveVideoCloud/Classes/Sections/LVCHomePageViewController.h renamed to LiveVideoCloud/Classes/Sections/HomePageSections/LVCHomePageViewController.h
LiveVideoCloud/Classes/Sections/LVCHomePageViewController.m renamed to LiveVideoCloud/Classes/Sections/HomePageSections/LVCHomePageViewController.m
LiveVideoCloud/Classes/Sections/homeSections/Controller/LVCFullScreenPlayerController.h renamed to LiveVideoCloud/Classes/Sections/PGCSections/Controller/LVCFullScreenPlayerController.h
LiveVideoCloud/Classes/Sections/homeSections/Controller/LVCFullScreenPlayerController.m renamed to LiveVideoCloud/Classes/Sections/PGCSections/Controller/LVCFullScreenPlayerController.m
LiveVideoCloud/Classes/Sections/homeSections/Controller/LVCLivePlayerController.h renamed to LiveVideoCloud/Classes/Sections/PGCSections/Controller/LVCLivePlayerController.h
LiveVideoCloud/Classes/Sections/homeSections/Controller/LVCLivePlayerController.m renamed to LiveVideoCloud/Classes/Sections/PGCSections/Controller/LVCLivePlayerController.m
LiveVideoCloud/Classes/Sections/PGCSections/Controller/LVCTelevisioController.h 0 → 100644
  1 +//
  2 +// LVCTelevisioController.h
  3 +// LiveVideoCloud
  4 +//
  5 +// Created by iOS on 2017/6/27.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +
  11 +@interface LVCTelevisioController : UIViewController
  12 +
  13 +@end
... ...
LiveVideoCloud/Classes/Sections/PGCSections/Controller/LVCTelevisioController.m 0 → 100644
  1 +//
  2 +// LVCTelevisioController.m
  3 +// LiveVideoCloud
  4 +//
  5 +// Created by iOS on 2017/6/27.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import "LVCTelevisioController.h"
  10 +#import "LVCLiveListCollectionViewCell.h"
  11 +#import "LVCFirstHeaderReusableView.h"
  12 +#import "LVCOtherHeaderReusableView.h"
  13 +#import "LVCChannelDetailsModel.h"
  14 +#import "LVCChannelsModel.h"
  15 +#import "LVCLivePlayerController.h"
  16 +
  17 +static NSString *cellId = @"LVCLiveListCollectionViewCell";
  18 +static NSString *firstHeaderId = @"LVCFirstHeaderReusableView";
  19 +static NSString *otherHeaderId = @"LVCOtherHeaderReusableView";
  20 +
  21 +@interface LVCTelevisioController ()
  22 +
  23 +@property (nonatomic, strong) UICollectionView *collectionView;
  24 +@property (nonatomic, strong) NSArray *bannerModelArray; //banner数据源
  25 +@property (nonatomic, strong) NSArray *marqueeModelArray;
  26 +@property (nonatomic, strong) NSArray *channelsModelArray;
  27 +
  28 +@end
  29 +
  30 +@implementation LVCTelevisioController
  31 +
  32 +- (void)viewDidLoad {
  33 + [super viewDidLoad];
  34 + // Do any additional setup after loading the view.
  35 + self.view.backgroundColor = [UIColor whiteColor];
  36 +
  37 + [self.view addSubview:self.collectionView];
  38 + [self loadData];
  39 +
  40 +}
  41 +
  42 +#pragma mark -
  43 +#pragma mark - UICollectionViewDataSource
  44 +- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {
  45 + if (self.channelsModelArray.count > 0) {
  46 + return self.channelsModelArray.count + 1;
  47 + }
  48 + return self.channelsModelArray.count;
  49 +}
  50 +
  51 +- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
  52 +
  53 + if (section == 0) {
  54 + return 0;
  55 + }
  56 + LVCChannelsModel *model = self.channelsModelArray[section - 1];
  57 +
  58 + NSArray *array = model.programs;
  59 +
  60 + return array.count;
  61 +}
  62 +
  63 +- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
  64 +
  65 + LVCLiveListCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:cellId forIndexPath:indexPath];
  66 + LVCChannelsModel *model = _channelsModelArray[indexPath.section - 1];
  67 +
  68 + LVCChannelDetailsModel *details = model.programs[indexPath.item];
  69 +
  70 + cell.details = details;
  71 +
  72 + return cell;
  73 +}
  74 +
  75 +- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath {
  76 +
  77 + if (kind == UICollectionElementKindSectionHeader) {
  78 +
  79 + if (indexPath.section == 0) {
  80 +
  81 + LVCFirstHeaderReusableView *firstHeaderView = [collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:firstHeaderId forIndexPath:indexPath];
  82 +
  83 + firstHeaderView.imageUrls = [self bannerImage];
  84 + firstHeaderView.modelArray = self.bannerModelArray;
  85 +
  86 + return firstHeaderView;
  87 + } else {
  88 +
  89 + LVCOtherHeaderReusableView *otherHeaderView = [collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:otherHeaderId forIndexPath:indexPath];
  90 +
  91 + LVCChannelsModel *model = _channelsModelArray[indexPath.section - 1];
  92 +
  93 + otherHeaderView.model = model;
  94 +
  95 + return otherHeaderView;
  96 + }
  97 + }
  98 + return nil;
  99 +}
  100 +
  101 +- (NSArray <NSURL *>*)bannerImage {
  102 +
  103 + NSMutableArray *arrayM = [NSMutableArray array];
  104 + for (LVCChannelDetailsModel *model in _bannerModelArray) {
  105 + NSString *imgStr = model.img;
  106 + NSURL *url = [NSURL URLWithString:imgStr];
  107 + [arrayM addObject:url];
  108 + }
  109 + return arrayM.copy;
  110 +}
  111 +
  112 +- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout referenceSizeForHeaderInSection:(NSInteger)section {
  113 +
  114 + if (section == 0) {
  115 + return CGSizeMake(SCREEN_WIDTH, SCREEN_WIDTH * 0.5);
  116 + }else {
  117 + return CGSizeMake(SCREEN_WIDTH, 47);
  118 + }
  119 +}
  120 +
  121 +#pragma mark -
  122 +#pragma mark - UICollectionViewDelegate
  123 +- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
  124 +
  125 + LVCChannelsModel *model = _channelsModelArray[indexPath.section - 1];
  126 + LVCChannelDetailsModel *details = model.programs[indexPath.item];
  127 +
  128 + LVCLivePlayerController *playVC = [[LVCLivePlayerController alloc] init];
  129 + playVC.model = details;
  130 + self.navigationController.navigationBar.hidden = YES;
  131 + [self.navigationController pushViewController:playVC animated:YES];
  132 + self.hidesBottomBarWhenPushed = NO;
  133 +}
  134 +
  135 +#pragma mark -
  136 +#pragma mark - 加载数据
  137 +- (void)loadData {
  138 +
  139 + NSString *path = [[NSBundle mainBundle] pathForResource:@"JsonFile" ofType:@"json"];
  140 + NSData *data=[NSData dataWithContentsOfFile:path];
  141 + NSError *error;
  142 + id responseObject=[NSJSONSerialization JSONObjectWithData:data
  143 + options:NSJSONReadingAllowFragments
  144 + error:&error];
  145 + // NSLog(@"%@",responseObject);
  146 +
  147 + if (responseObject[@"channels"] && [responseObject[@"channels"] isKindOfClass:[NSArray class]]) {
  148 +
  149 + NSMutableArray *arrayM = [[NSMutableArray alloc]init];
  150 + for (NSDictionary *dict in responseObject[@"channels"]) {
  151 + LVCChannelsModel *model = [LVCChannelsModel mj_objectWithKeyValues:dict];
  152 + [arrayM addObject:model];
  153 + }
  154 + self.channelsModelArray = arrayM;
  155 + }
  156 + if (responseObject[@"banner"] && [responseObject[@"banner"] isKindOfClass:[NSArray class]]) {
  157 +
  158 + NSMutableArray *arrayM = [NSMutableArray array];
  159 + for (NSDictionary *dict in responseObject[@"banner"]) {
  160 + LVCChannelDetailsModel *rollModel = [LVCChannelDetailsModel mj_objectWithKeyValues:dict];
  161 + [arrayM addObject:rollModel];
  162 + }
  163 + self.bannerModelArray = arrayM;
  164 + }
  165 + [self.collectionView reloadData];
  166 +
  167 +}
  168 +
  169 +#pragma mark -
  170 +#pragma mark - getter
  171 +- (UICollectionView *)collectionView {
  172 +
  173 + if (!_collectionView) {
  174 +
  175 + UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc]init];
  176 + layout.itemSize = CGSizeMake((SCREEN_WIDTH-30)/2, (SCREEN_WIDTH-30)/2*9/16+65);
  177 + layout.minimumLineSpacing = 0;
  178 + layout.minimumInteritemSpacing = 0;
  179 + layout.sectionInset = UIEdgeInsetsMake(6, 10, 0, 10);
  180 + _collectionView.showsHorizontalScrollIndicator = NO;
  181 +
  182 + _collectionView = [[UICollectionView alloc]initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT-64-49) collectionViewLayout:layout];
  183 + _collectionView.backgroundColor = [UIColor whiteColor];
  184 +
  185 + [_collectionView registerClass:[LVCLiveListCollectionViewCell class] forCellWithReuseIdentifier:cellId];
  186 + [_collectionView registerClass:[LVCFirstHeaderReusableView class] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:firstHeaderId];
  187 + [_collectionView registerClass:[LVCOtherHeaderReusableView class] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:otherHeaderId];
  188 + _collectionView.scrollsToTop = NO;
  189 + _collectionView.dataSource = self;
  190 + _collectionView.delegate = self;
  191 + }
  192 + return _collectionView;
  193 +}
  194 +
  195 +
  196 +- (void)didReceiveMemoryWarning {
  197 + [super didReceiveMemoryWarning];
  198 + // Dispose of any resources that can be recreated.
  199 +}
  200 +
  201 +/*
  202 +#pragma mark - Navigation
  203 +
  204 +// In a storyboard-based application, you will often want to do a little preparation before navigation
  205 +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
  206 + // Get the new view controller using [segue destinationViewController].
  207 + // Pass the selected object to the new view controller.
  208 +}
  209 +*/
  210 +
  211 +@end
... ...
LiveVideoCloud/Classes/Sections/homeSections/Model/LVCChannelDetailsModel.h renamed to LiveVideoCloud/Classes/Sections/PGCSections/Model/LVCChannelDetailsModel.h
LiveVideoCloud/Classes/Sections/homeSections/Model/LVCChannelDetailsModel.m renamed to LiveVideoCloud/Classes/Sections/PGCSections/Model/LVCChannelDetailsModel.m
LiveVideoCloud/Classes/Sections/homeSections/Model/LVCChannelsModel.h renamed to LiveVideoCloud/Classes/Sections/PGCSections/Model/LVCChannelsModel.h
LiveVideoCloud/Classes/Sections/homeSections/Model/LVCChannelsModel.m renamed to LiveVideoCloud/Classes/Sections/PGCSections/Model/LVCChannelsModel.m
LiveVideoCloud/Classes/Sections/homeSections/Model/LVCChatRoomModel.h renamed to LiveVideoCloud/Classes/Sections/PGCSections/Model/LVCChatRoomModel.h
LiveVideoCloud/Classes/Sections/homeSections/Model/LVCChatRoomModel.m renamed to LiveVideoCloud/Classes/Sections/PGCSections/Model/LVCChatRoomModel.m
LiveVideoCloud/Classes/Sections/homeSections/Model/LVCProgramModel.h renamed to LiveVideoCloud/Classes/Sections/PGCSections/Model/LVCProgramModel.h
LiveVideoCloud/Classes/Sections/homeSections/Model/LVCProgramModel.m renamed to LiveVideoCloud/Classes/Sections/PGCSections/Model/LVCProgramModel.m
LiveVideoCloud/Classes/Sections/homeSections/View/Barrage/CNBarrageManager.h renamed to LiveVideoCloud/Classes/Sections/PGCSections/View/Barrage/CNBarrageManager.h
LiveVideoCloud/Classes/Sections/homeSections/View/Barrage/CNBarrageManager.m renamed to LiveVideoCloud/Classes/Sections/PGCSections/View/Barrage/CNBarrageManager.m
LiveVideoCloud/Classes/Sections/homeSections/View/Barrage/CNBarrageView.h renamed to LiveVideoCloud/Classes/Sections/PGCSections/View/Barrage/CNBarrageView.h
LiveVideoCloud/Classes/Sections/homeSections/View/Barrage/CNBarrageView.m renamed to LiveVideoCloud/Classes/Sections/PGCSections/View/Barrage/CNBarrageView.m
LiveVideoCloud/Classes/Sections/homeSections/ChatView/LVCChatView.h renamed to LiveVideoCloud/Classes/Sections/PGCSections/View/ChatView/LVCChatView.h
LiveVideoCloud/Classes/Sections/homeSections/ChatView/LVCChatView.m renamed to LiveVideoCloud/Classes/Sections/PGCSections/View/ChatView/LVCChatView.m
LiveVideoCloud/Classes/Sections/homeSections/ChatView/LVCChatViewTableViewCell.h renamed to LiveVideoCloud/Classes/Sections/PGCSections/View/ChatView/LVCChatViewTableViewCell.h
LiveVideoCloud/Classes/Sections/homeSections/ChatView/LVCChatViewTableViewCell.m renamed to LiveVideoCloud/Classes/Sections/PGCSections/View/ChatView/LVCChatViewTableViewCell.m
LiveVideoCloud/Classes/Sections/homeSections/ChatView/LVCInputView.h renamed to LiveVideoCloud/Classes/Sections/PGCSections/View/ChatView/LVCInputView.h
LiveVideoCloud/Classes/Sections/homeSections/ChatView/LVCInputView.m renamed to LiveVideoCloud/Classes/Sections/PGCSections/View/ChatView/LVCInputView.m
LiveVideoCloud/Classes/Sections/homeSections/ChatView/LVCMessage.h renamed to LiveVideoCloud/Classes/Sections/PGCSections/View/ChatView/LVCMessage.h
LiveVideoCloud/Classes/Sections/homeSections/ChatView/LVCMessage.m renamed to LiveVideoCloud/Classes/Sections/PGCSections/View/ChatView/LVCMessage.m
LiveVideoCloud/Classes/Sections/homeSections/View/LVCFirstHeaderReusableView.h renamed to LiveVideoCloud/Classes/Sections/PGCSections/View/LVCFirstHeaderReusableView.h
LiveVideoCloud/Classes/Sections/homeSections/View/LVCFirstHeaderReusableView.m renamed to LiveVideoCloud/Classes/Sections/PGCSections/View/LVCFirstHeaderReusableView.m
LiveVideoCloud/Classes/Sections/homeSections/View/LVCHeaderRollCollectionViewCell.h renamed to LiveVideoCloud/Classes/Sections/PGCSections/View/LVCHeaderRollCollectionViewCell.h
LiveVideoCloud/Classes/Sections/homeSections/View/LVCHeaderRollCollectionViewCell.m renamed to LiveVideoCloud/Classes/Sections/PGCSections/View/LVCHeaderRollCollectionViewCell.m
LiveVideoCloud/Classes/Sections/homeSections/View/LVCLiveListCollectionViewCell.h renamed to LiveVideoCloud/Classes/Sections/PGCSections/View/LVCLiveListCollectionViewCell.h
LiveVideoCloud/Classes/Sections/homeSections/View/LVCLiveListCollectionViewCell.m renamed to LiveVideoCloud/Classes/Sections/PGCSections/View/LVCLiveListCollectionViewCell.m
LiveVideoCloud/Classes/Sections/homeSections/View/LVCMoreSortTableViewCell.h renamed to LiveVideoCloud/Classes/Sections/PGCSections/View/LVCMoreSortTableViewCell.h
LiveVideoCloud/Classes/Sections/homeSections/View/LVCMoreSortTableViewCell.m renamed to LiveVideoCloud/Classes/Sections/PGCSections/View/LVCMoreSortTableViewCell.m
LiveVideoCloud/Classes/Sections/homeSections/View/LVCOtherHeaderReusableView.h renamed to LiveVideoCloud/Classes/Sections/PGCSections/View/LVCOtherHeaderReusableView.h
LiveVideoCloud/Classes/Sections/homeSections/View/LVCOtherHeaderReusableView.m renamed to LiveVideoCloud/Classes/Sections/PGCSections/View/LVCOtherHeaderReusableView.m
LiveVideoCloud/Classes/Sections/homeSections/View/LVCPlayer.h renamed to LiveVideoCloud/Classes/Sections/PGCSections/View/LVCPlayer.h
LiveVideoCloud/Classes/Sections/homeSections/View/LVCPlayer.m renamed to LiveVideoCloud/Classes/Sections/PGCSections/View/LVCPlayer.m
LiveVideoCloud/Classes/Sections/homeSections/View/LVCPlayerLoadingView.h renamed to LiveVideoCloud/Classes/Sections/PGCSections/View/LVCPlayerLoadingView.h
LiveVideoCloud/Classes/Sections/homeSections/View/LVCPlayerLoadingView.m renamed to LiveVideoCloud/Classes/Sections/PGCSections/View/LVCPlayerLoadingView.m
LiveVideoCloud/Classes/Sections/homeSections/View/LVCRequestFailedView.h renamed to LiveVideoCloud/Classes/Sections/PGCSections/View/LVCRequestFailedView.h
LiveVideoCloud/Classes/Sections/homeSections/View/LVCRequestFailedView.m renamed to LiveVideoCloud/Classes/Sections/PGCSections/View/LVCRequestFailedView.m
LiveVideoCloud/Classes/Sections/homeSections/View/LVCTelevisionView.h renamed to LiveVideoCloud/Classes/Sections/PGCSections/View/LVCTelevisionView.h
LiveVideoCloud/Classes/Sections/homeSections/View/LVCTelevisionView.m renamed to LiveVideoCloud/Classes/Sections/PGCSections/View/LVCTelevisionView.m
LiveVideoCloud/Classes/Sections/homeSections/Controller/LVCLiveActivityInfoService.h renamed to LiveVideoCloud/Classes/Sections/UGCSections/Controller/LVCLiveActivityInfoService.h
LiveVideoCloud/Classes/Sections/homeSections/Controller/LVCLiveActivityInfoService.m renamed to LiveVideoCloud/Classes/Sections/UGCSections/Controller/LVCLiveActivityInfoService.m
LiveVideoCloud/Classes/Sections/homeSections/Controller/LVCTVLiveViewController.h renamed to LiveVideoCloud/Classes/Sections/UGCSections/Controller/LVCTVLiveViewController.h
LiveVideoCloud/Classes/Sections/homeSections/Controller/LVCTVLiveViewController.m renamed to LiveVideoCloud/Classes/Sections/UGCSections/Controller/LVCTVLiveViewController.m
LiveVideoCloud/Classes/Sections/homeSections/Controller/LVCMoreProgramViewController.h renamed to LiveVideoCloud/Classes/Sections/UGCSections/Controller/LVCUGCLiveListController.h
1 1 //
2   -// LVCMoreProgramViewController.h
  2 +// LVCUGCLiveListController.h
3 3 // LiveVideoCloud
4 4 //
5   -// Created by iOS on 17/3/27.
  5 +// Created by cnliveJunBo on 17/6/27.
6 6 // Copyright © 2017年 cnlive. All rights reserved.
7 7 //
8 8  
9 9 #import <UIKit/UIKit.h>
10 10  
11   -@interface LVCMoreProgramViewController : UIViewController
12   -
13   -@property (nonatomic, strong) NSString *cid;
  11 +@interface LVCUGCLiveListController : UIViewController
14 12  
15 13 @end
... ...
LiveVideoCloud/Classes/Sections/UGCSections/Controller/LVCUGCLiveListController.m 0 → 100644
  1 +//
  2 +// LVCUGCLiveListController.m
  3 +// LiveVideoCloud
  4 +//
  5 +// Created by cnliveJunBo on 17/6/27.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import "LVCUGCLiveListController.h"
  10 +#import "LVCUGCLiveListView.h"
  11 +
  12 +@interface LVCUGCLiveListController ()
  13 +
  14 +@end
  15 +
  16 +@implementation LVCUGCLiveListController
  17 +
  18 +- (void)viewDidLoad {
  19 + [super viewDidLoad];
  20 +
  21 + self.navigationItem.title = @"UGC直播";
  22 + self.view.backgroundColor = [UIColor whiteColor];
  23 +
  24 + LVCUGCLiveListView *liveListView = [[LVCUGCLiveListView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT - 50)];
  25 + liveListView.scrollToTop = YES;
  26 + [self.view addSubview:liveListView];
  27 +}
  28 +
  29 +- (void)didReceiveMemoryWarning {
  30 + [super didReceiveMemoryWarning];
  31 + // Dispose of any resources that can be recreated.
  32 +}
  33 +
  34 +@end
... ...
LiveVideoCloud/Classes/Sections/homeSections/Controller/LVCUGCLiveListView.h renamed to LiveVideoCloud/Classes/Sections/UGCSections/Controller/LVCUGCLiveListView.h
LiveVideoCloud/Classes/Sections/homeSections/Controller/LVCUGCLiveListView.m renamed to LiveVideoCloud/Classes/Sections/UGCSections/Controller/LVCUGCLiveListView.m
LiveVideoCloud/Classes/Sections/homeSections/Controller/LVCUGCLivePlayerController.h renamed to LiveVideoCloud/Classes/Sections/UGCSections/Controller/LVCUGCLivePlayerController.h
LiveVideoCloud/Classes/Sections/homeSections/Controller/LVCUGCLivePlayerController.m renamed to LiveVideoCloud/Classes/Sections/UGCSections/Controller/LVCUGCLivePlayerController.m
LiveVideoCloud/Classes/Sections/homeSections/Controller/LiveListService.h renamed to LiveVideoCloud/Classes/Sections/UGCSections/Controller/LiveListService.h
LiveVideoCloud/Classes/Sections/homeSections/Controller/LiveListService.m renamed to LiveVideoCloud/Classes/Sections/UGCSections/Controller/LiveListService.m
LiveVideoCloud/Classes/Sections/homeSections/Model/LVCUGCLiveListModel.h renamed to LiveVideoCloud/Classes/Sections/UGCSections/Model/LVCUGCLiveListModel.h
LiveVideoCloud/Classes/Sections/homeSections/Model/LVCUGCLiveListModel.m renamed to LiveVideoCloud/Classes/Sections/UGCSections/Model/LVCUGCLiveListModel.m
LiveVideoCloud/Classes/Sections/homeSections/Model/LVCUGCLivePlayerModel.h renamed to LiveVideoCloud/Classes/Sections/UGCSections/Model/LVCUGCLivePlayerModel.h
LiveVideoCloud/Classes/Sections/homeSections/Model/LVCUGCLivePlayerModel.m renamed to LiveVideoCloud/Classes/Sections/UGCSections/Model/LVCUGCLivePlayerModel.m
LiveVideoCloud/Classes/Sections/homeSections/View/LVCUGCBackgroundView.h renamed to LiveVideoCloud/Classes/Sections/UGCSections/View/LVCUGCBackgroundView.h
LiveVideoCloud/Classes/Sections/homeSections/View/LVCUGCBackgroundView.m renamed to LiveVideoCloud/Classes/Sections/UGCSections/View/LVCUGCBackgroundView.m
LiveVideoCloud/Classes/Sections/homeSections/View/LVCUGCLivePlayerCell.h renamed to LiveVideoCloud/Classes/Sections/UGCSections/View/LVCUGCLivePlayerCell.h
LiveVideoCloud/Classes/Sections/homeSections/View/LVCUGCLivePlayerCell.m renamed to LiveVideoCloud/Classes/Sections/UGCSections/View/LVCUGCLivePlayerCell.m
LiveVideoCloud/Classes/Sections/homeSections/View/LVCUGCPlayerLoadingView.h renamed to LiveVideoCloud/Classes/Sections/UGCSections/View/LVCUGCPlayerLoadingView.h
LiveVideoCloud/Classes/Sections/homeSections/View/LVCUGCPlayerLoadingView.m renamed to LiveVideoCloud/Classes/Sections/UGCSections/View/LVCUGCPlayerLoadingView.m
LiveVideoCloud/Classes/Sections/homeSections/Controller/HomeViewController.m deleted 100644 → 0
1   -//
2   -// HomeViewController.m
3   -// ZXBaseProject
4   -//
5   -// Created by 张旭 on 2017/1/10.
6   -// Copyright © 2017年 cnlive. All rights reserved.
7   -//
8   -
9   -#import "HomeViewController.h"
10   -#import "LVCLivePlayerController.h"
11   -#import "LVCLivePlayerController.h"
12   -#import "LVCUGCLivePlayerController.h"
13   -#import "LVCTVLiveViewController.h"
14   -#import "LVCTelevisionView.h"
15   -#import "LVCUGCLiveListView.h"
16   -
17   -@interface HomeViewController ()<V8HorizontalPickerViewDataSource, V8HorizontalPickerViewDelegate,MHPagingScrollViewDelegate,UIScrollViewDelegate>
18   -{
19   - NSArray *_titleArr;
20   - CGFloat _titleSpace;
21   -
22   -}
23   -
24   -@property (nonatomic, strong)V8HorizontalPickerView *titleView;
25   -@property (nonatomic, strong)MHPagingScrollView *pageView;
26   -
27   -@end
28   -
29   -@implementation HomeViewController
30   -
31   -- (void)viewDidLoad {
32   - [super viewDidLoad];
33   - self.view.backgroundColor = [UIColor whiteColor];
34   -
35   - _titleArr = @[@"直播",@"频道"];
36   - CGFloat width = 0;
37   - for (NSString *title in _titleArr) {
38   - CGSize size = [title sizeWithAttributes:@{NSFontAttributeName:self.titleView.elementFont}];
39   - width += size.width+5;
40   - }
41   - if (width < self.titleView.width) {
42   - _titleSpace = (self.titleView.width-width)/_titleArr.count;
43   - } else {
44   - _titleSpace = 0;
45   - }
46   -
47   - self.navigationItem.titleView = self.titleView;
48   -
49   - [_pageView reloadPages];
50   - [_titleView reloadData];
51   - [self.view addSubview:self.pageView];
52   -
53   -}
54   -
55   -#pragma mark - V8HorizontalPickerViewDataSource
56   -
57   -- (NSInteger)numberOfElementsInHorizontalPickerView:(V8HorizontalPickerView *)picker
58   -{
59   - return _titleArr.count;
60   -}
61   -
62   -#pragma mark - V8HorizontalPickerViewDelegate
63   -
64   -- (NSString *)horizontalPickerView:(V8HorizontalPickerView *)picker titleForElementAtIndex:(NSInteger)index
65   -{
66   - return _titleArr[index];
67   -}
68   -
69   -- (NSInteger)horizontalPickerView:(V8HorizontalPickerView *)picker widthForElementAtIndex:(NSInteger)index
70   -{
71   -
72   - if (_titleSpace != 0) {
73   -
74   - CGSize size = [_titleArr[index] sizeWithAttributes:@{NSFontAttributeName:self.titleView.elementFont}];
75   - return size.width +_titleSpace;
76   - } else {
77   -
78   - CGSize size = [_titleArr[index] sizeWithAttributes:@{NSFontAttributeName:self.titleView.elementFont}];
79   - return size.width + 15;
80   - }
81   -}
82   -
83   -- (void)horizontalPickerView:(V8HorizontalPickerView *)picker didSelectElementAtIndex:(NSInteger)index
84   -{
85   - if (self.pageView.indexOfSelectedPage != index) {
86   - [self.pageView selectPageAtIndex:index animated:YES];
87   - }
88   -}
89   -
90   -#pragma mark - UIScrollViewDelegate
91   -
92   -- (void)scrollViewDidScroll:(UIScrollView *)scrollView
93   -{
94   -
95   - if (self.titleView.currentSelectedIndex != self.pageView.indexOfSelectedPage) {
96   -
97   - [self.titleView scrollToElement:self.pageView.indexOfSelectedPage animated:YES];
98   -
99   - }
100   - [self.pageView scrollViewDidScroll];
101   -
102   -}
103   -
104   -#pragma mark - MHPagingScrollViewDelegate
105   -
106   -- (NSUInteger)numberOfPagesInPagingScrollView:(MHPagingScrollView *)pagingScrollView
107   -{
108   - return _titleArr.count;
109   -}
110   -
111   -- (UIView *)pagingScrollView:(MHPagingScrollView *)pagingScrollView pageForIndex:(NSUInteger)index
112   -{
113   - if ([_titleArr[index] isEqualToString:@"频道"]) {
114   -
115   - LVCTelevisionView *tvView = (LVCTelevisionView *)[pagingScrollView pageViewByIndex:index];
116   - if (!tvView) {
117   - tvView = [[LVCTelevisionView alloc] init];
118   - }
119   - return tvView;
120   - }else if ([_titleArr[index] isEqualToString:@"直播"]) {
121   -
122   - LVCUGCLiveListView *liveListView = (LVCUGCLiveListView *)[pagingScrollView pageViewByIndex:index];
123   - if (!liveListView) {
124   - liveListView = [[LVCUGCLiveListView alloc] initWithFrame:CGRectMake(0, 64, SCREEN_WIDTH, SCREEN_HEIGHT - 114)];
125   - } else {
126   - [liveListView isNeedToRefresh];
127   - }
128   - liveListView.scrollToTop = YES;
129   - return liveListView;
130   - }
131   - return nil;
132   -}
133   -
134   -- (V8HorizontalPickerView *)titleView
135   -{
136   - if (!_titleView) {
137   -
138   - _titleView = [[V8HorizontalPickerView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH-120, 44) home:YES];
139   - _titleView.textColor = [UIColor colorWithHexString:@"#7e7e7d"];
140   - _titleView.selectedTextColor = [UIColor blackColorZX];
141   - _titleView.delegate = self;
142   - _titleView.dataSource = self;
143   - _titleView.elementFont = [UIFont boldSystemFontOfSize:18];
144   - _titleView.scrollView.scrollsToTop = NO;
145   -
146   - }
147   - return _titleView;
148   -}
149   -
150   -- (MHPagingScrollView *)pageView
151   -{
152   - if (!_pageView) {
153   - _pageView = [[MHPagingScrollView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT-49)];
154   - _pageView.pagingDelegate = self;
155   - _pageView.delegate = self;
156   - _pageView.scrollsToTop = NO;
157   - }
158   - return _pageView;
159   -}
160   -
161   -- (void)didReceiveMemoryWarning {
162   - [super didReceiveMemoryWarning];
163   - // Dispose of any resources that can be recreated.
164   -}
165   -
166   -/*
167   -#pragma mark - Navigation
168   -
169   -// In a storyboard-based application, you will often want to do a little preparation before navigation
170   -- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
171   - // Get the new view controller using [segue destinationViewController].
172   - // Pass the selected object to the new view controller.
173   -}
174   -*/
175   -
176   -@end
LiveVideoCloud/Classes/Sections/homeSections/Controller/LVCMoreProgramViewController.m deleted 100644 → 0
1   -//
2   -// LVCMoreProgramViewController.m
3   -// LiveVideoCloud
4   -//
5   -// Created by iOS on 17/3/27.
6   -// Copyright © 2017年 cnlive. All rights reserved.
7   -//
8   -
9   -#import "LVCMoreProgramViewController.h"
10   -#import "LVCMoreSortTableViewCell.h"
11   -#import "LVCProgramModel.h"
12   -#import "LVCChannelsModel.h"
13   -#import "LVCLivePlayerController.h"
14   -
15   -@interface LVCMoreProgramViewController ()<UITableViewDelegate,UITableViewDataSource>
16   -{
17   - NSMutableArray *_data;
18   - int _page; //请求数据的页数
19   - int _next;
20   -}
21   -@property (nonatomic, strong)UITableView *tableView;
22   -@property (nonatomic, strong) UIView *bbView;
23   -
24   -@end
25   -
26   -@implementation LVCMoreProgramViewController
27   -
28   -- (void)viewDidLoad {
29   - [super viewDidLoad];
30   - self.view.backgroundColor = [UIColor backgroundColorZX];
31   - _data = [[NSMutableArray alloc] init];
32   - [self.view addSubview:self.tableView];
33   -}
34   -
35   -- (void)setCid:(NSString *)cid {
36   - _cid = cid;
37   - [self.tableView.header beginRefreshing];
38   -}
39   -
40   -- (void)request:(int)page refresh:(BOOL)refresh
41   -{
42   - NSDictionary *parameters = @{@"page": [NSString stringWithFormat:@"%d", page],
43   - @"pagesize": @"15",
44   - @"cid": self.cid ? self.cid : @"",
45   - @"type": @"live",
46   - @"version": @"5.3", @"appid": @"spzg", @"plat": @"a"};
47   - [[AFHTTPSessionManager manager] GET:@"http://app.jczb.cnlive.com/api/catprogramlist" parameters:parameters success:^(NSURLSessionDataTask *task, id responseObject) {
48   - if (refresh) {
49   - _page = 1;
50   - [_tableView.header endRefreshing];
51   - [_data removeAllObjects];
52   - } else {
53   - [_tableView.footer endRefreshing];
54   - }
55   -
56   - _next = [[responseObject objectForKey:@"next_cursor"] intValue];
57   - for (NSDictionary *dic in [responseObject objectForKey:@"programs"]) {
58   - LVCProgramModel *model = [LVCProgramModel mj_objectWithKeyValues:dic];
59   - [_data addObject:model];
60   - }
61   -
62   - [_tableView reloadData];
63   - } failure:^(NSURLSessionDataTask *task, NSError *error) {
64   - if (refresh) {
65   - [_tableView.header endRefreshing];
66   - } else {
67   - _page -= 1;
68   - [_tableView.footer endRefreshing];
69   - }
70   -
71   - NSLog(@"电视台更多节目列表获取失败");
72   -
73   - }];
74   -
75   -
76   -}
77   -
78   -- (void)refreshAction
79   -{
80   - [self request:1 refresh:YES];
81   -}
82   -
83   -- (void)loadMoreAction
84   -{
85   - _page += 1;
86   - if (_next == 0) {
87   - if (_page != 1) {
88   - [_tableView.footer endRefreshing];
89   - return ;
90   - }
91   - } else {
92   - [self request:_page refresh:NO];
93   - }
94   -}
95   -
96   -#pragma mark -
97   -#pragma mark - UITableView
98   -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
99   -{
100   - return _data.count;
101   -}
102   -
103   -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
104   -{
105   - static NSString *identify = @"liveMoreProgramCell";
106   - LVCMoreSortTableViewCell *cell = (LVCMoreSortTableViewCell *)[tableView dequeueReusableCellWithIdentifier:identify];
107   - if (cell == nil) {
108   - cell = [[LVCMoreSortTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identify];
109   - if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
110   - cell.separatorInset = UIEdgeInsetsZero;
111   - }
112   - if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
113   - cell.layoutMargins = UIEdgeInsetsZero;
114   - }
115   - }
116   - cell.model = [_data objectAtIndex:indexPath.row];
117   - return cell;
118   -}
119   -
120   -- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
121   -{
122   - if (SCREEN_WIDTH == 320.0) {
123   - return 80.0;
124   - } else if (SCREEN_WIDTH == 375.0) {
125   - return 93.0;
126   - } else if (SCREEN_WIDTH == 414.0) {
127   - return 103.0;
128   - }
129   -
130   - return 93.0;
131   -}
132   -
133   -- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
134   -{
135   - [tableView deselectRowAtIndexPath:indexPath animated:YES];
136   -
137   - LVCChannelDetailsModel *details = _data[indexPath.row];
138   - LVCLivePlayerController *playVC = [[LVCLivePlayerController alloc] init];
139   - playVC.model = details;
140   - self.navigationController.navigationBar.hidden = YES;
141   - self.hidesBottomBarWhenPushed = YES;
142   - [self.navigationController pushViewController:playVC animated:YES];
143   -}
144   -
145   -#pragma mark -
146   -#pragma mark - getter
147   -- (UITableView *)tableView
148   -{
149   - if (!_tableView) {
150   - _tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT) style:UITableViewStylePlain];
151   - _tableView.showsHorizontalScrollIndicator = NO;
152   - _tableView.showsVerticalScrollIndicator = NO;
153   - _tableView.delegate = self;
154   - _tableView.dataSource = self;
155   - _tableView.backgroundColor = [UIColor clearColor];
156   - _tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
157   - _tableView.header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(refreshAction)];
158   - _tableView.footer = [MJRefreshAutoNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(loadMoreAction)];
159   - if ([_tableView respondsToSelector:@selector(setSeparatorInset:)]) {
160   - [_tableView setSeparatorInset:UIEdgeInsetsMake(0,0,0,0)];
161   - }
162   -
163   - if ([_tableView respondsToSelector:@selector(setLayoutMargins:)]) {
164   - [_tableView setLayoutMargins:UIEdgeInsetsMake(0,0,0,0)];
165   - }
166   - _tableView.backgroundColor = [UIColor clearColor];
167   - }
168   - return _tableView;
169   -}
170   -
171   -
172   -
173   -- (void)didReceiveMemoryWarning {
174   - [super didReceiveMemoryWarning];
175   - // Dispose of any resources that can be recreated.
176   -}
177   -
178   -/*
179   -#pragma mark - Navigation
180   -
181   -// In a storyboard-based application, you will often want to do a little preparation before navigation
182   -- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
183   - // Get the new view controller using [segue destinationViewController].
184   - // Pass the selected object to the new view controller.
185   -}
186   -*/
187   -
188   -@end
LiveVideoCloud/Classes/Sections/homeSections/Controller/HomeViewController.h renamed to LiveVideoCloud/Classes/Sections/homeSections/Controller/LVCVodPlayerListController.h
1 1 //
2   -// HomeViewController.h
3   -// ZXBaseProject
  2 +// LVCVodPlayerListController.h
  3 +// LiveVideoCloud
4 4 //
5   -// Created by 张旭 on 2017/1/10.
  5 +// Created by cnliveJunBo on 17/6/27.
6 6 // Copyright © 2017年 cnlive. All rights reserved.
7 7 //
8 8  
9   -#import "BaseViewController.h"
  9 +#import <UIKit/UIKit.h>
10 10  
11   -@interface HomeViewController : BaseViewController
  11 +@interface LVCVodPlayerListController : UIViewController
12 12  
13 13 @end
... ...
LiveVideoCloud/Classes/Sections/homeSections/Controller/LVCVodPlayerListController.m 0 → 100644
  1 +//
  2 +// LVCVodPlayerListController.m
  3 +// LiveVideoCloud
  4 +//
  5 +// Created by cnliveJunBo on 17/6/27.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import "LVCVodPlayerListController.h"
  10 +
  11 +@interface LVCVodPlayerListController ()
  12 +
  13 +@end
  14 +
  15 +@implementation LVCVodPlayerListController
  16 +
  17 +- (void)viewDidLoad {
  18 + [super viewDidLoad];
  19 +
  20 + self.navigationItem.title = @"点播";
  21 + self.view.backgroundColor = [UIColor whiteColor];
  22 +}
  23 +
  24 +- (void)didReceiveMemoryWarning {
  25 + [super didReceiveMemoryWarning];
  26 + // Dispose of any resources that can be recreated.
  27 +}
  28 +
  29 +/*
  30 +#pragma mark - Navigation
  31 +
  32 +// In a storyboard-based application, you will often want to do a little preparation before navigation
  33 +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
  34 + // Get the new view controller using [segue destinationViewController].
  35 + // Pass the selected object to the new view controller.
  36 +}
  37 +*/
  38 +
  39 +@end
... ...
LiveVideoCloud/Classes/Sections/homeSections/Model/LVCCommentModel.h 0 → 100644
  1 +//
  2 +// LVCCommentModel.h
  3 +// LiveVideoCloud
  4 +//
  5 +// Created by cnliveJunBo on 17/6/27.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import "BaseModel.h"
  10 +
  11 +@interface LVCCommentModel : BaseModel
  12 +
  13 +@property (nonatomic, strong)NSString *content;
  14 +@property (nonatomic, strong)NSString *uid;
  15 +@property (nonatomic, strong)NSString *facepath;
  16 +@property (nonatomic, strong)NSString *nick;
  17 +
  18 +@end
... ...
LiveVideoCloud/Classes/Sections/homeSections/Model/LVCCommentModel.m 0 → 100644
  1 +//
  2 +// LVCCommentModel.m
  3 +// LiveVideoCloud
  4 +//
  5 +// Created by cnliveJunBo on 17/6/27.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import "LVCCommentModel.h"
  10 +
  11 +@implementation LVCCommentModel
  12 +
  13 +@end
... ...
LiveVideoCloud/Classes/Sections/homeSections/View/LVCVodPlayerListView.h 0 → 100644
  1 +//
  2 +// LVCVodPlayerListView.h
  3 +// LiveVideoCloud
  4 +//
  5 +// Created by cnliveJunBo on 17/6/26.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +
  11 +@interface LVCVodPlayerListView : UIView
  12 +
  13 +@end
... ...
LiveVideoCloud/Classes/Sections/homeSections/View/LVCVodPlayerListView.m 0 → 100644
  1 +//
  2 +// LVCVodPlayerListView.m
  3 +// LiveVideoCloud
  4 +//
  5 +// Created by cnliveJunBo on 17/6/26.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import "LVCVodPlayerListView.h"
  10 +#import "LVCVodPlayerTableViewCell.h"
  11 +
  12 +static NSString *vodCellId = @"vodCellId";
  13 +
  14 +@interface LVCVodPlayerListView()<UITableViewDelegate, UITableViewDataSource> {
  15 +
  16 + AFHTTPRequestOperation *_operation;
  17 + NSMutableArray *_programArrayM;
  18 +}
  19 +
  20 +@property (nonatomic, strong)UITableView *tableView;
  21 +
  22 +@end
  23 +
  24 +@implementation LVCVodPlayerListView
  25 +
  26 +- (instancetype)initWithFrame:(CGRect)frame
  27 +{
  28 + self = [super initWithFrame:frame];
  29 + if (self) {
  30 + self.backgroundColor = [UIColor whiteColor];
  31 + _programArrayM = [[NSMutableArray alloc] init];
  32 + [self requestVodPlayerList];
  33 + }
  34 + return self;
  35 +}
  36 +
  37 +- (void)requestVodPlayerList {
  38 +
  39 + NSString *uid;
  40 + if ([UserTools isLogin]) {
  41 + uid = [UserInformationModel manager].uid;
  42 + } else {
  43 + uid = [NSString stringWithFormat:@"%u", arc4random()%3];
  44 + }
  45 + NSString *tm = [NSString stringWithFormat:@"%u_%@", arc4random()%10, uid];
  46 +
  47 + NSDictionary *parameter = @{@"cid": @"82_news/",
  48 + @"page": [NSString stringWithFormat:@"%d", 1],
  49 + @"pagesize": @"15",
  50 + @"tm": tm};
  51 +
  52 + [[AFHTTPRequestOperationManager manager] GET:Newslist parameters:[self addParameters:parameter] success:^(AFHTTPRequestOperation *operation, id responseObject) {
  53 +
  54 + responseObject = [responseObject validatedDictionary];
  55 +
  56 + if (responseObject[@"programs"] && [responseObject[@"programs"] isKindOfClass:[NSArray class]]) {
  57 +
  58 + for (NSDictionary *dic in responseObject[@"programs"]) {
  59 + ProgramModel *programModel = [ProgramModel modelWithDic:dic];
  60 + [_programArrayM addObject:programModel];
  61 + if (dic[@"comments"] && [dic[@"comments"] isKindOfClass:[NSArray class]] && [dic[@"comments"] count] > 0) {
  62 + NSMutableArray *comments = [[NSMutableArray alloc] init];
  63 + for (NSDictionary *commentDic in dic[@"comments"]) {
  64 + LVCCommentModel *commentModel = [LVCCommentModel modelWithDic:commentDic];
  65 + [comments addObject:commentModel];
  66 + }
  67 + [_programArrayM addObject:comments];
  68 + }
  69 + }
  70 + }
  71 + [self.tableView reloadData];
  72 +
  73 + } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
  74 +
  75 + NSLog(@"点播列表请求失败!");
  76 + }];
  77 +}
  78 +
  79 +#pragma mark - UITableViewDelegate !!!!!!!!!!!!!!!!!!!!!!!!
  80 +
  81 +#pragma mark - UITableViewDataSource !!!!!!!!!!!!!!!!!!!!!!!!
  82 +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
  83 + return _programArrayM.count;
  84 +}
  85 +
  86 +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
  87 +
  88 + return nil;
  89 +}
  90 +
  91 +#pragma mark - GetMethod !!!!!!!!!!!!!!!!!!!!!!!!!!!!
  92 +- (UITableView *)tableView {
  93 +
  94 + if (!_tableView) {
  95 + _tableView = [[UITableView alloc] initWithFrame:self.bounds style:UITableViewStylePlain];
  96 + _tableView.dataSource = self;
  97 + _tableView.delegate = self;
  98 + _tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
  99 +
  100 + UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, -KScreenHeight, KScreenWidth, KScreenHeight)];
  101 + view.backgroundColor = [UIColor backgroundColor];
  102 + [_tableView addSubview:view];
  103 +
  104 + [_tableView registerClass:[LVCVodPlayerTableViewCell class] forCellReuseIdentifier:vodCellId];
  105 + }
  106 + return _tableView;
  107 +}
  108 +
  109 +#pragma mark ------------------------------ 分割线 ----------------------------------------------
  110 +- (NSDictionary *)addParameters:(NSDictionary *)dict {
  111 +
  112 + if (![dict isKindOfClass:[NSDictionary class]]) {
  113 + return dict;
  114 + }
  115 + if (!dict) {
  116 + return @{@"appid": JBAppId, @"plat": @"i", @"version": JBAppVersion};
  117 + } else {
  118 + NSMutableDictionary *dic = [[NSMutableDictionary alloc] initWithDictionary:dict];
  119 + [dic addEntriesFromDictionary:@{@"appid": JBAppId, @"plat": @"i", @"version": JBAppVersion}];
  120 + return [[NSDictionary alloc] initWithDictionary:dic];
  121 + }
  122 +}
  123 +
  124 +@end
... ...
LiveVideoCloud/Classes/Sections/homeSections/View/LVCVodPlayerTableViewCell.h 0 → 100644
  1 +//
  2 +// LVCVodPlayerTableViewCell.h
  3 +// LiveVideoCloud
  4 +//
  5 +// Created by cnliveJunBo on 17/6/27.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +
  11 +@interface LVCVodPlayerTableViewCell : UITableViewCell
  12 +
  13 +@end
... ...
LiveVideoCloud/Classes/Sections/homeSections/View/LVCVodPlayerTableViewCell.m 0 → 100644
  1 +//
  2 +// LVCVodPlayerTableViewCell.m
  3 +// LiveVideoCloud
  4 +//
  5 +// Created by cnliveJunBo on 17/6/27.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import "LVCVodPlayerTableViewCell.h"
  10 +
  11 +@implementation LVCVodPlayerTableViewCell
  12 +
  13 +- (void)awakeFromNib {
  14 + [super awakeFromNib];
  15 + // Initialization code
  16 +}
  17 +
  18 +- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
  19 + [super setSelected:selected animated:animated];
  20 +
  21 + // Configure the view for the selected state
  22 +}
  23 +
  24 +@end
... ...
LiveVideoCloud/PrefixHeader.pch
... ... @@ -35,6 +35,7 @@
35 35 #import "LVCBannerAndMarqueeModel.h"
36 36 #include "LVCChannelDetailModel.h"
37 37 #import "LVCBqWqXgModel.h"
  38 +#import "LVCCommentModel.h"
38 39  
39 40 #import <CNLiveUserSystemSDK/CNLiveUserSystemCenter.h>
40 41  
... ...
LiveVideoCloud/UtilKits/Common.h
... ... @@ -191,7 +191,8 @@ static NSString *const livingFocus = @&quot;http://app.jczb.cnlive.com/
191 191 static NSString *const createRoom = @"https://api.cnlive.com/open/api2/interacitve_chat/createRoom";
192 192  
193 193 //新闻信息
194   -static NSString *const Newslist = @"http://app.jczb.cnlive.com/api/newslist";
  194 +//static NSString *const Newslist = @"http://app.jczb.cnlive.com/api/newslist";
  195 +static NSString *const Newslist = @"http://intertv.cnlive.com/zgw_sp/api/newslist";
195 196  
196 197 //明星底页信息
197 198 static NSString *const StarAtTheBottomOfPage = @"http://app.jczb.cnlive.com/api/star?";
... ...