Commit a448c4cce4c184b8012422b212bb88114f068739
1 parent
a6032115
no message
Showing
12 changed files
with
135 additions
and
15 deletions
CNLiveVideoClassifyKit.podspec
| @@ -38,7 +38,7 @@ TODO: Add long description of the pod here. | @@ -38,7 +38,7 @@ TODO: Add long description of the pod here. | ||
| 38 | # } | 38 | # } |
| 39 | s.prefix_header_contents = '#import "CNLivevideoClassifyPCH.h"' | 39 | s.prefix_header_contents = '#import "CNLivevideoClassifyPCH.h"' |
| 40 | s.public_header_files = 'Pod/Classes/**/*.h' | 40 | s.public_header_files = 'Pod/Classes/**/*.h' |
| 41 | - # s.frameworks = 'UIKit', 'MapKit' | 41 | + s.frameworks = 'UIKit', 'MapKit' |
| 42 | s.dependency 'JXCategoryView' | 42 | s.dependency 'JXCategoryView' |
| 43 | s.dependency 'CNLiveTripartiteManagement/MJExtension' | 43 | s.dependency 'CNLiveTripartiteManagement/MJExtension' |
| 44 | s.dependency 'CNLiveBaseKit' | 44 | s.dependency 'CNLiveBaseKit' |
CNLiveVideoClassifyKit/Classes/Controller/CNCategoryBaseViewController.m
| @@ -21,7 +21,6 @@ | @@ -21,7 +21,6 @@ | ||
| 21 | [self.view addSubview:self.listContainerView]; | 21 | [self.view addSubview:self.listContainerView]; |
| 22 | self.view.backgroundColor = [UIColor whiteColor]; | 22 | self.view.backgroundColor = [UIColor whiteColor]; |
| 23 | self.navigationHidden = YES; | 23 | self.navigationHidden = YES; |
| 24 | - | ||
| 25 | // Do any additional setup after loading the view. | 24 | // Do any additional setup after loading the view. |
| 26 | } | 25 | } |
| 27 | 26 |
CNLiveVideoClassifyKit/Classes/Header/CNLivevideoClassifyPCH.h
| @@ -18,6 +18,7 @@ | @@ -18,6 +18,7 @@ | ||
| 18 | #import <CNLiveCommonCategory/CNLiveCommonCategory.h> | 18 | #import <CNLiveCommonCategory/CNLiveCommonCategory.h> |
| 19 | #import <CNLiveCommonCategory/UIColor+CNLiveExtension.h> | 19 | #import <CNLiveCommonCategory/UIColor+CNLiveExtension.h> |
| 20 | #import <CNLiveBeeHive/BHConfig.h> | 20 | #import <CNLiveBeeHive/BHConfig.h> |
| 21 | +#import <CNLiveBeeHive/CNLiveBeeHive.h> | ||
| 21 | #import <MJExtension/MJExtension.h> | 22 | #import <MJExtension/MJExtension.h> |
| 22 | #import "CNLiveCommonDefines.h" | 23 | #import "CNLiveCommonDefines.h" |
| 23 | #import <QMUIKit/QMUIKit.h> | 24 | #import <QMUIKit/QMUIKit.h> |
CNLiveVideoClassifyKit/Classes/Manager/CNLiveClassifyJumpBridge.h
0 → 100644
CNLiveVideoClassifyKit/Classes/Manager/CNLiveClassifyJumpBridge.m
0 → 100644
CNLiveVideoClassifyKit/Classes/Manager/CNLiveListManager.m
| @@ -9,6 +9,7 @@ | @@ -9,6 +9,7 @@ | ||
| 9 | #import "CNCategoryGetChannelModel.h" | 9 | #import "CNCategoryGetChannelModel.h" |
| 10 | #import <CNLiveCWebViewModule/CNLiveCWebViewModule.h> | 10 | #import <CNLiveCWebViewModule/CNLiveCWebViewModule.h> |
| 11 | #import <CNLiveCWebViewModule/CNLiveSubWebViewController.h> | 11 | #import <CNLiveCWebViewModule/CNLiveSubWebViewController.h> |
| 12 | +#import "CNLiveVideoClassifyProtocol.h" | ||
| 12 | 13 | ||
| 13 | @interface CNLiveListManager() | 14 | @interface CNLiveListManager() |
| 14 | { | 15 | { |
| @@ -57,18 +58,8 @@ | @@ -57,18 +58,8 @@ | ||
| 57 | */ | 58 | */ |
| 58 | - (UIView *)listView { | 59 | - (UIView *)listView { |
| 59 | if ([_model.pageType isEqualToString:@"4"] || [_model.pageType isEqualToString:@"5"]){ | 60 | if ([_model.pageType isEqualToString:@"4"] || [_model.pageType isEqualToString:@"5"]){ |
| 60 | - Class class = NSClassFromString(@"CNAmuseChinaViewController"); | ||
| 61 | - QMUICommonViewController *vc = [class new]; | ||
| 62 | - SEL black = NSSelectorFromString(@"setIsBlack"); | ||
| 63 | -// SEL bgColor = NSSelectorFromString(@"setBgColor"); | ||
| 64 | -// SEL title = NSSelectorFromString(@"setTitle"); | ||
| 65 | -// SEL backgroundImg = NSSelectorFromString(@"setBackgroundImg"); | ||
| 66 | -// SEL channelId = NSSelectorFromString(@"setChannelId"); | ||
| 67 | -// SEL channelName = NSSelectorFromString(@"setChannelName"); | ||
| 68 | -// SEL pageId = NSSelectorFromString(@"setPageId"); | ||
| 69 | -// SEL delegate = NSSelectorFromString(@"setDelegate"); | ||
| 70 | - [vc performSelector:black withObject:_model.statusBarColor]; | ||
| 71 | - return vc.view; | 61 | + Class class = NSClassFromString(@"CNLiveClassifyKitImpl"); |
| 62 | +// [[BeeHive shareInstance] registerService:cnlivevid service:<#(__unsafe_unretained Class)#>]; | ||
| 72 | } | 63 | } |
| 73 | NSDictionary * paramDic= @{ | 64 | NSDictionary * paramDic= @{ |
| 74 | @"title": _model.showName, | 65 | @"title": _model.showName, |
CNLiveVideoClassifyKit/Classes/Manager/CNLiveVideoClassifyProtocol.h
| @@ -7,9 +7,10 @@ | @@ -7,9 +7,10 @@ | ||
| 7 | 7 | ||
| 8 | #import <Foundation/Foundation.h> | 8 | #import <Foundation/Foundation.h> |
| 9 | 9 | ||
| 10 | -@protocol CNLiveVideoClassifyProtocol <NSObject> | ||
| 11 | 10 | ||
| 11 | +@protocol CNLiveVideoClassifyProtocol <NSObject> | ||
| 12 | 12 | ||
| 13 | +-(UIView *)listViewShowPageType:(NSUInteger)pageType param:(NSDictionary *)param; | ||
| 13 | 14 | ||
| 14 | @end | 15 | @end |
| 15 | 16 |
Example/CNLiveVideoClassifyKit.xcodeproj/project.pbxproj
| @@ -10,6 +10,8 @@ | @@ -10,6 +10,8 @@ | ||
| 10 | 083CB9C326D4ED2000E21EBC /* CNliveCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 0816338E26BE298900B076D6 /* CNliveCollectionViewCell.m */; }; | 10 | 083CB9C326D4ED2000E21EBC /* CNliveCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 0816338E26BE298900B076D6 /* CNliveCollectionViewCell.m */; }; |
| 11 | 08DAFBDE26E8A2660099999A /* CNTools.m in Sources */ = {isa = PBXBuildFile; fileRef = 08DAFBDC26E8A2660099999A /* CNTools.m */; }; | 11 | 08DAFBDE26E8A2660099999A /* CNTools.m in Sources */ = {isa = PBXBuildFile; fileRef = 08DAFBDC26E8A2660099999A /* CNTools.m */; }; |
| 12 | 08DAFBE326E9B63F0099999A /* CNLiveWebViewModuleImpl.m in Sources */ = {isa = PBXBuildFile; fileRef = 08DAFBE226E9B63F0099999A /* CNLiveWebViewModuleImpl.m */; }; | 12 | 08DAFBE326E9B63F0099999A /* CNLiveWebViewModuleImpl.m in Sources */ = {isa = PBXBuildFile; fileRef = 08DAFBE226E9B63F0099999A /* CNLiveWebViewModuleImpl.m */; }; |
| 13 | + 08DAFBEA26E9E99C0099999A /* CNLiveClassifyKitImpl.m in Sources */ = {isa = PBXBuildFile; fileRef = 08DAFBE926E9E99C0099999A /* CNLiveClassifyKitImpl.m */; }; | ||
| 14 | + 08DAFBED26E9EA7E0099999A /* CNLIVEDemoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 08DAFBEC26E9EA7E0099999A /* CNLIVEDemoViewController.m */; }; | ||
| 13 | 14963F4E510A1E5865D15ED8 /* Pods_CNLiveVideoClassifyKit_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7743536FE5FB6796BFAA55B5 /* Pods_CNLiveVideoClassifyKit_Tests.framework */; }; | 15 | 14963F4E510A1E5865D15ED8 /* Pods_CNLiveVideoClassifyKit_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7743536FE5FB6796BFAA55B5 /* Pods_CNLiveVideoClassifyKit_Tests.framework */; }; |
| 14 | 6003F58E195388D20070C39A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58D195388D20070C39A /* Foundation.framework */; }; | 16 | 6003F58E195388D20070C39A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58D195388D20070C39A /* Foundation.framework */; }; |
| 15 | 6003F590195388D20070C39A /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58F195388D20070C39A /* CoreGraphics.framework */; }; | 17 | 6003F590195388D20070C39A /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58F195388D20070C39A /* CoreGraphics.framework */; }; |
| @@ -46,6 +48,10 @@ | @@ -46,6 +48,10 @@ | ||
| 46 | 08DAFBDD26E8A2660099999A /* CNTools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNTools.h; sourceTree = "<group>"; }; | 48 | 08DAFBDD26E8A2660099999A /* CNTools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNTools.h; sourceTree = "<group>"; }; |
| 47 | 08DAFBE126E9B63F0099999A /* CNLiveWebViewModuleImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNLiveWebViewModuleImpl.h; sourceTree = "<group>"; }; | 49 | 08DAFBE126E9B63F0099999A /* CNLiveWebViewModuleImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNLiveWebViewModuleImpl.h; sourceTree = "<group>"; }; |
| 48 | 08DAFBE226E9B63F0099999A /* CNLiveWebViewModuleImpl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNLiveWebViewModuleImpl.m; sourceTree = "<group>"; }; | 50 | 08DAFBE226E9B63F0099999A /* CNLiveWebViewModuleImpl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNLiveWebViewModuleImpl.m; sourceTree = "<group>"; }; |
| 51 | + 08DAFBE826E9E99C0099999A /* CNLiveClassifyKitImpl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CNLiveClassifyKitImpl.h; sourceTree = "<group>"; }; | ||
| 52 | + 08DAFBE926E9E99C0099999A /* CNLiveClassifyKitImpl.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CNLiveClassifyKitImpl.m; sourceTree = "<group>"; }; | ||
| 53 | + 08DAFBEB26E9EA7E0099999A /* CNLIVEDemoViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CNLIVEDemoViewController.h; sourceTree = "<group>"; }; | ||
| 54 | + 08DAFBEC26E9EA7E0099999A /* CNLIVEDemoViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CNLIVEDemoViewController.m; sourceTree = "<group>"; }; | ||
| 49 | 24BF123CDE580DC9CCCE1718 /* Pods-CNLiveVideoClassifyKit_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CNLiveVideoClassifyKit_Example.release.xcconfig"; path = "Target Support Files/Pods-CNLiveVideoClassifyKit_Example/Pods-CNLiveVideoClassifyKit_Example.release.xcconfig"; sourceTree = "<group>"; }; | 55 | 24BF123CDE580DC9CCCE1718 /* Pods-CNLiveVideoClassifyKit_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CNLiveVideoClassifyKit_Example.release.xcconfig"; path = "Target Support Files/Pods-CNLiveVideoClassifyKit_Example/Pods-CNLiveVideoClassifyKit_Example.release.xcconfig"; sourceTree = "<group>"; }; |
| 50 | 3A8AB8DB19B4EF9ACF33573D /* Pods-CNLiveVideoClassifyKit_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CNLiveVideoClassifyKit_Tests.release.xcconfig"; path = "Target Support Files/Pods-CNLiveVideoClassifyKit_Tests/Pods-CNLiveVideoClassifyKit_Tests.release.xcconfig"; sourceTree = "<group>"; }; | 56 | 3A8AB8DB19B4EF9ACF33573D /* Pods-CNLiveVideoClassifyKit_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CNLiveVideoClassifyKit_Tests.release.xcconfig"; path = "Target Support Files/Pods-CNLiveVideoClassifyKit_Tests/Pods-CNLiveVideoClassifyKit_Tests.release.xcconfig"; sourceTree = "<group>"; }; |
| 51 | 5793570C0C400C4B3B4942CE /* Pods-CNLiveVideoClassifyKit_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CNLiveVideoClassifyKit_Example.debug.xcconfig"; path = "Target Support Files/Pods-CNLiveVideoClassifyKit_Example/Pods-CNLiveVideoClassifyKit_Example.debug.xcconfig"; sourceTree = "<group>"; }; | 57 | 5793570C0C400C4B3B4942CE /* Pods-CNLiveVideoClassifyKit_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CNLiveVideoClassifyKit_Example.debug.xcconfig"; path = "Target Support Files/Pods-CNLiveVideoClassifyKit_Example/Pods-CNLiveVideoClassifyKit_Example.debug.xcconfig"; sourceTree = "<group>"; }; |
| @@ -146,12 +152,16 @@ | @@ -146,12 +152,16 @@ | ||
| 146 | 873B8AEA1B1F5CCA007FD442 /* Main.storyboard */, | 152 | 873B8AEA1B1F5CCA007FD442 /* Main.storyboard */, |
| 147 | 6003F5A5195388D20070C39A /* CNLIVEViewController.h */, | 153 | 6003F5A5195388D20070C39A /* CNLIVEViewController.h */, |
| 148 | 6003F5A6195388D20070C39A /* CNLIVEViewController.m */, | 154 | 6003F5A6195388D20070C39A /* CNLIVEViewController.m */, |
| 155 | + 08DAFBEB26E9EA7E0099999A /* CNLIVEDemoViewController.h */, | ||
| 156 | + 08DAFBEC26E9EA7E0099999A /* CNLIVEDemoViewController.m */, | ||
| 149 | 0816338D26BE298900B076D6 /* CNliveCollectionViewCell.h */, | 157 | 0816338D26BE298900B076D6 /* CNliveCollectionViewCell.h */, |
| 150 | 0816338E26BE298900B076D6 /* CNliveCollectionViewCell.m */, | 158 | 0816338E26BE298900B076D6 /* CNliveCollectionViewCell.m */, |
| 151 | 08DAFBDD26E8A2660099999A /* CNTools.h */, | 159 | 08DAFBDD26E8A2660099999A /* CNTools.h */, |
| 152 | 08DAFBDC26E8A2660099999A /* CNTools.m */, | 160 | 08DAFBDC26E8A2660099999A /* CNTools.m */, |
| 153 | 08DAFBE126E9B63F0099999A /* CNLiveWebViewModuleImpl.h */, | 161 | 08DAFBE126E9B63F0099999A /* CNLiveWebViewModuleImpl.h */, |
| 154 | 08DAFBE226E9B63F0099999A /* CNLiveWebViewModuleImpl.m */, | 162 | 08DAFBE226E9B63F0099999A /* CNLiveWebViewModuleImpl.m */, |
| 163 | + 08DAFBE826E9E99C0099999A /* CNLiveClassifyKitImpl.h */, | ||
| 164 | + 08DAFBE926E9E99C0099999A /* CNLiveClassifyKitImpl.m */, | ||
| 155 | 71719F9D1E33DC2100824A3D /* LaunchScreen.storyboard */, | 165 | 71719F9D1E33DC2100824A3D /* LaunchScreen.storyboard */, |
| 156 | 6003F5A8195388D20070C39A /* Images.xcassets */, | 166 | 6003F5A8195388D20070C39A /* Images.xcassets */, |
| 157 | 6003F594195388D20070C39A /* Supporting Files */, | 167 | 6003F594195388D20070C39A /* Supporting Files */, |
| @@ -429,7 +439,9 @@ | @@ -429,7 +439,9 @@ | ||
| 429 | isa = PBXSourcesBuildPhase; | 439 | isa = PBXSourcesBuildPhase; |
| 430 | buildActionMask = 2147483647; | 440 | buildActionMask = 2147483647; |
| 431 | files = ( | 441 | files = ( |
| 442 | + 08DAFBEA26E9E99C0099999A /* CNLiveClassifyKitImpl.m in Sources */, | ||
| 432 | 083CB9C326D4ED2000E21EBC /* CNliveCollectionViewCell.m in Sources */, | 443 | 083CB9C326D4ED2000E21EBC /* CNliveCollectionViewCell.m in Sources */, |
| 444 | + 08DAFBED26E9EA7E0099999A /* CNLIVEDemoViewController.m in Sources */, | ||
| 433 | 6003F59E195388D20070C39A /* CNLIVEAppDelegate.m in Sources */, | 445 | 6003F59E195388D20070C39A /* CNLIVEAppDelegate.m in Sources */, |
| 434 | 6003F5A7195388D20070C39A /* CNLIVEViewController.m in Sources */, | 446 | 6003F5A7195388D20070C39A /* CNLIVEViewController.m in Sources */, |
| 435 | 6003F59A195388D20070C39A /* main.m in Sources */, | 447 | 6003F59A195388D20070C39A /* main.m in Sources */, |
Example/CNLiveVideoClassifyKit/CNLIVEDemoViewController.h
0 → 100644
| 1 | +// | ||
| 2 | +// CNLIVEDemoViewController.h | ||
| 3 | +// CNLiveVideoClassifyKit_Example | ||
| 4 | +// | ||
| 5 | +// Created by CNLive on 2021/9/9. | ||
| 6 | +// Copyright © 2021 杨苓玉. All rights reserved. | ||
| 7 | +// | ||
| 8 | + | ||
| 9 | +#import <UIKit/UIKit.h> | ||
| 10 | + | ||
| 11 | +NS_ASSUME_NONNULL_BEGIN | ||
| 12 | + | ||
| 13 | +@interface CNLIVEDemoViewController : UIViewController | ||
| 14 | + | ||
| 15 | +@end | ||
| 16 | + | ||
| 17 | +NS_ASSUME_NONNULL_END |
Example/CNLiveVideoClassifyKit/CNLIVEDemoViewController.m
0 → 100644
| 1 | +// | ||
| 2 | +// CNLIVEDemoViewController.m | ||
| 3 | +// CNLiveVideoClassifyKit_Example | ||
| 4 | +// | ||
| 5 | +// Created by CNLive on 2021/9/9. | ||
| 6 | +// Copyright © 2021 杨苓玉. All rights reserved. | ||
| 7 | +// | ||
| 8 | + | ||
| 9 | +#import "CNLIVEDemoViewController.h" | ||
| 10 | + | ||
| 11 | +@interface CNLIVEDemoViewController () | ||
| 12 | + | ||
| 13 | +@end | ||
| 14 | + | ||
| 15 | +@implementation CNLIVEDemoViewController | ||
| 16 | + | ||
| 17 | +- (void)viewDidLoad { | ||
| 18 | + [super viewDidLoad]; | ||
| 19 | + self.view.backgroundColor = [UIColor greenColor]; | ||
| 20 | + // Do any additional setup after loading the view. | ||
| 21 | +} | ||
| 22 | + | ||
| 23 | +/* | ||
| 24 | +#pragma mark - Navigation | ||
| 25 | + | ||
| 26 | +// In a storyboard-based application, you will often want to do a little preparation before navigation | ||
| 27 | +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { | ||
| 28 | + // Get the new view controller using [segue destinationViewController]. | ||
| 29 | + // Pass the selected object to the new view controller. | ||
| 30 | +} | ||
| 31 | +*/ | ||
| 32 | + | ||
| 33 | +@end |
Example/CNLiveVideoClassifyKit/CNLiveClassifyKitImpl.h
0 → 100644
| 1 | +// | ||
| 2 | +// CNLiveClassifyKitImpl.h | ||
| 3 | +// CNLiveVideoClassifyKit_Example | ||
| 4 | +// | ||
| 5 | +// Created by CNLive on 2021/9/9. | ||
| 6 | +// Copyright © 2021 杨苓玉. All rights reserved. | ||
| 7 | +// | ||
| 8 | + | ||
| 9 | +#import <Foundation/Foundation.h> | ||
| 10 | +#import <CNLiveVideoClassifyKit/CNLiveVideoClassifyProtocol.h> | ||
| 11 | + | ||
| 12 | +NS_ASSUME_NONNULL_BEGIN | ||
| 13 | + | ||
| 14 | +@interface CNLiveClassifyKitImpl : NSObject<CNLiveVideoClassifyProtocol> | ||
| 15 | + | ||
| 16 | +@end | ||
| 17 | + | ||
| 18 | +NS_ASSUME_NONNULL_END |
Example/CNLiveVideoClassifyKit/CNLiveClassifyKitImpl.m
0 → 100644
| 1 | +// | ||
| 2 | +// CNLiveClassifyKitImpl.m | ||
| 3 | +// CNLiveVideoClassifyKit_Example | ||
| 4 | +// | ||
| 5 | +// Created by CNLive on 2021/9/9. | ||
| 6 | +// Copyright © 2021 杨苓玉. All rights reserved. | ||
| 7 | +// | ||
| 8 | + | ||
| 9 | +#import "CNLiveClassifyKitImpl.h" | ||
| 10 | +#import "CNLIVEDemoViewController.h" | ||
| 11 | + | ||
| 12 | +@implementation CNLiveClassifyKitImpl | ||
| 13 | + | ||
| 14 | +-(UIView *)listViewShowPageType:(NSUInteger)pageType param:(NSDictionary *)param | ||
| 15 | +{ | ||
| 16 | + CNLIVEDemoViewController *demo = [CNLIVEDemoViewController new]; | ||
| 17 | + return demo.view; | ||
| 18 | +} | ||
| 19 | +@end |