Commit 507b96f6b94727c3efca90335ebee62360c0db23

Authored by 张旭
2 parents c0dcdcad 4aa2d729

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

LiveVideoCloud.xcodeproj/project.pbxproj
@@ -254,12 +254,13 @@ @@ -254,12 +254,13 @@
254 D2EBC8961F0241BC00F198FB /* CNLiveMsgTools.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D2EBC88F1F0241AD00F198FB /* CNLiveMsgTools.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 254 D2EBC8961F0241BC00F198FB /* CNLiveMsgTools.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D2EBC88F1F0241AD00F198FB /* CNLiveMsgTools.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
255 D2EBC8991F025D4700F198FB /* LVCVodPlayerFullController.m in Sources */ = {isa = PBXBuildFile; fileRef = D2EBC8981F025D4700F198FB /* LVCVodPlayerFullController.m */; }; 255 D2EBC8991F025D4700F198FB /* LVCVodPlayerFullController.m in Sources */ = {isa = PBXBuildFile; fileRef = D2EBC8981F025D4700F198FB /* LVCVodPlayerFullController.m */; };
256 D2EBC89B1F03421C00F198FB /* CNLiveChatManager.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D2EBC89A1F03421C00F198FB /* CNLiveChatManager.framework */; }; 256 D2EBC89B1F03421C00F198FB /* CNLiveChatManager.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D2EBC89A1F03421C00F198FB /* CNLiveChatManager.framework */; };
257 - D2EBC89C1F03428700F198FB /* CNLiveChatManager.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D2EBC89A1F03421C00F198FB /* CNLiveChatManager.framework */; };  
258 - D2EBC89D1F03428700F198FB /* CNLiveChatManager.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D2EBC89A1F03421C00F198FB /* CNLiveChatManager.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };  
259 D2EBC8A01F034C5500F198FB /* LVCCommentView.m in Sources */ = {isa = PBXBuildFile; fileRef = D2EBC89F1F034C5500F198FB /* LVCCommentView.m */; }; 257 D2EBC8A01F034C5500F198FB /* LVCCommentView.m in Sources */ = {isa = PBXBuildFile; fileRef = D2EBC89F1F034C5500F198FB /* LVCCommentView.m */; };
260 D2EBC8A21F034F3C00F198FB /* CNLivePlayerSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D2EBC8A11F034F3C00F198FB /* CNLivePlayerSDK.framework */; }; 258 D2EBC8A21F034F3C00F198FB /* CNLivePlayerSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D2EBC8A11F034F3C00F198FB /* CNLivePlayerSDK.framework */; };
261 D2EBC8A31F034F4000F198FB /* CNLivePlayerSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D2EBC8A11F034F3C00F198FB /* CNLivePlayerSDK.framework */; }; 259 D2EBC8A31F034F4000F198FB /* CNLivePlayerSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D2EBC8A11F034F3C00F198FB /* CNLivePlayerSDK.framework */; };
262 D2EBC8A41F034F4000F198FB /* CNLivePlayerSDK.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D2EBC8A11F034F3C00F198FB /* CNLivePlayerSDK.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 260 D2EBC8A41F034F4000F198FB /* CNLivePlayerSDK.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D2EBC8A11F034F3C00F198FB /* CNLivePlayerSDK.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
  261 + D2EBC8A61F03926E00F198FB /* CNLiveChatManager.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D2EBC8A51F03926E00F198FB /* CNLiveChatManager.framework */; };
  262 + D2EBC8A71F03927200F198FB /* CNLiveChatManager.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D2EBC8A51F03926E00F198FB /* CNLiveChatManager.framework */; };
  263 + D2EBC8A81F03927200F198FB /* CNLiveChatManager.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D2EBC8A51F03926E00F198FB /* CNLiveChatManager.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
263 /* End PBXBuildFile section */ 264 /* End PBXBuildFile section */
264 265
265 /* Begin PBXContainerItemProxy section */ 266 /* Begin PBXContainerItemProxy section */
@@ -288,7 +289,7 @@ @@ -288,7 +289,7 @@
288 files = ( 289 files = (
289 D2EBC8A41F034F4000F198FB /* CNLivePlayerSDK.framework in Embed Frameworks */, 290 D2EBC8A41F034F4000F198FB /* CNLivePlayerSDK.framework in Embed Frameworks */,
290 D2EBC8961F0241BC00F198FB /* CNLiveMsgTools.framework in Embed Frameworks */, 291 D2EBC8961F0241BC00F198FB /* CNLiveMsgTools.framework in Embed Frameworks */,
291 - D2EBC89D1F03428700F198FB /* CNLiveChatManager.framework in Embed Frameworks */, 292 + D2EBC8A81F03927200F198FB /* CNLiveChatManager.framework in Embed Frameworks */,
292 ); 293 );
293 name = "Embed Frameworks"; 294 name = "Embed Frameworks";
294 runOnlyForDeploymentPostprocessing = 0; 295 runOnlyForDeploymentPostprocessing = 0;
@@ -801,10 +802,11 @@ @@ -801,10 +802,11 @@
801 D2EBC88F1F0241AD00F198FB /* CNLiveMsgTools.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CNLiveMsgTools.framework; sourceTree = "<group>"; }; 802 D2EBC88F1F0241AD00F198FB /* CNLiveMsgTools.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CNLiveMsgTools.framework; sourceTree = "<group>"; };
802 D2EBC8971F025D4700F198FB /* LVCVodPlayerFullController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCVodPlayerFullController.h; sourceTree = "<group>"; }; 803 D2EBC8971F025D4700F198FB /* LVCVodPlayerFullController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCVodPlayerFullController.h; sourceTree = "<group>"; };
803 D2EBC8981F025D4700F198FB /* LVCVodPlayerFullController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCVodPlayerFullController.m; sourceTree = "<group>"; }; 804 D2EBC8981F025D4700F198FB /* LVCVodPlayerFullController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCVodPlayerFullController.m; sourceTree = "<group>"; };
804 - D2EBC89A1F03421C00F198FB /* CNLiveChatManager.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CNLiveChatManager.framework; sourceTree = "<group>"; }; 805 + D2EBC89A1F03421C00F198FB /* CNLiveChatManager.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CNLiveChatManager.framework; path = /Users/cnlive/Desktop/Group/LiveVideoCloud/LiveVideoCloud/Classes/CNLiveSDK/CNLiveChatManager.framework; sourceTree = "<absolute>"; };
805 D2EBC89E1F034C5500F198FB /* LVCCommentView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCCommentView.h; sourceTree = "<group>"; }; 806 D2EBC89E1F034C5500F198FB /* LVCCommentView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCCommentView.h; sourceTree = "<group>"; };
806 D2EBC89F1F034C5500F198FB /* LVCCommentView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCCommentView.m; sourceTree = "<group>"; }; 807 D2EBC89F1F034C5500F198FB /* LVCCommentView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCCommentView.m; sourceTree = "<group>"; };
807 D2EBC8A11F034F3C00F198FB /* CNLivePlayerSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CNLivePlayerSDK.framework; sourceTree = "<group>"; }; 808 D2EBC8A11F034F3C00F198FB /* CNLivePlayerSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CNLivePlayerSDK.framework; sourceTree = "<group>"; };
  809 + D2EBC8A51F03926E00F198FB /* CNLiveChatManager.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CNLiveChatManager.framework; sourceTree = "<group>"; };
808 /* End PBXFileReference section */ 810 /* End PBXFileReference section */
809 811
810 /* Begin PBXFrameworksBuildPhase section */ 812 /* Begin PBXFrameworksBuildPhase section */
@@ -814,13 +816,14 @@ @@ -814,13 +816,14 @@
814 files = ( 816 files = (
815 D2393D281F02572100D3EE17 /* CoreTelephony.framework in Frameworks */, 817 D2393D281F02572100D3EE17 /* CoreTelephony.framework in Frameworks */,
816 D2393D261F0256FE00D3EE17 /* libstdc++.tbd in Frameworks */, 818 D2393D261F0256FE00D3EE17 /* libstdc++.tbd in Frameworks */,
  819 + D2EBC8A61F03926E00F198FB /* CNLiveChatManager.framework in Frameworks */,
  820 + D2EBC8A71F03927200F198FB /* CNLiveChatManager.framework in Frameworks */,
817 D2393D2C1F02682000D3EE17 /* CNLiveUserSystemSDK.framework in Frameworks */, 821 D2393D2C1F02682000D3EE17 /* CNLiveUserSystemSDK.framework in Frameworks */,
818 D2393D241F0256E900D3EE17 /* libz.tbd in Frameworks */, 822 D2393D241F0256E900D3EE17 /* libz.tbd in Frameworks */,
819 D2393D221F0256DC00D3EE17 /* libc++.tbd in Frameworks */, 823 D2393D221F0256DC00D3EE17 /* libc++.tbd in Frameworks */,
820 D2393D201F0256AA00D3EE17 /* libsqlite3.tbd in Frameworks */, 824 D2393D201F0256AA00D3EE17 /* libsqlite3.tbd in Frameworks */,
821 D2EBC89B1F03421C00F198FB /* CNLiveChatManager.framework in Frameworks */, 825 D2EBC89B1F03421C00F198FB /* CNLiveChatManager.framework in Frameworks */,
822 D25BF8A31E80C4FC007FB138 /* Accelerate.framework in Frameworks */, 826 D25BF8A31E80C4FC007FB138 /* Accelerate.framework in Frameworks */,
823 - D2EBC89C1F03428700F198FB /* CNLiveChatManager.framework in Frameworks */,  
824 D2EBC8A31F034F4000F198FB /* CNLivePlayerSDK.framework in Frameworks */, 827 D2EBC8A31F034F4000F198FB /* CNLivePlayerSDK.framework in Frameworks */,
825 D2393D0E1F0250A100D3EE17 /* libWeChatSDK.a in Frameworks */, 828 D2393D0E1F0250A100D3EE17 /* libWeChatSDK.a in Frameworks */,
826 D2393D1D1F0250A700D3EE17 /* libWeiboSDK.a in Frameworks */, 829 D2393D1D1F0250A700D3EE17 /* libWeiboSDK.a in Frameworks */,
@@ -1086,8 +1089,8 @@ @@ -1086,8 +1089,8 @@
1086 812E504E1E7699B9004F5FCD /* CNLiveSDK */ = { 1089 812E504E1E7699B9004F5FCD /* CNLiveSDK */ = {
1087 isa = PBXGroup; 1090 isa = PBXGroup;
1088 children = ( 1091 children = (
  1092 + D2EBC8A51F03926E00F198FB /* CNLiveChatManager.framework */,
1089 D2EBC8A11F034F3C00F198FB /* CNLivePlayerSDK.framework */, 1093 D2EBC8A11F034F3C00F198FB /* CNLivePlayerSDK.framework */,
1090 - D2EBC89A1F03421C00F198FB /* CNLiveChatManager.framework */,  
1091 D2EBC88F1F0241AD00F198FB /* CNLiveMsgTools.framework */, 1094 D2EBC88F1F0241AD00F198FB /* CNLiveMsgTools.framework */,
1092 D2393D2B1F02682000D3EE17 /* CNLiveUserSystemSDK.framework */, 1095 D2393D2B1F02682000D3EE17 /* CNLiveUserSystemSDK.framework */,
1093 D25BF87C1E7B8C78007FB138 /* KSYGPUResource.bundle */, 1096 D25BF87C1E7B8C78007FB138 /* KSYGPUResource.bundle */,
LiveVideoCloud/Classes/CNLiveSDK/CNLiveChatManager.framework/CNLiveChatManager
No preview for this file type
LiveVideoCloud/Classes/CNLiveSDK/CNLiveChatManager.framework/Headers/CNLiveChatManager.h
@@ -107,7 +107,7 @@ @@ -107,7 +107,7 @@
107 107
108 108
109 /** 109 /**
110 - 初始化SDK方法 110 + 初始化SDK方法(同上,区别:可以选择测试环境/上线环境)
111 111
112 @param appKey 从视讯云平台获取到的appKey 112 @param appKey 从视讯云平台获取到的appKey
113 @param appId 从视讯云平台获取到的appId 113 @param appId 从视讯云平台获取到的appId
LiveVideoCloud/Classes/Sections/homeSections/Controller/LVCVodPlayerListController.m
@@ -45,20 +45,14 @@ static NSString *vodCellId = @&quot;vodCellId&quot;; @@ -45,20 +45,14 @@ static NSString *vodCellId = @&quot;vodCellId&quot;;
45 45
46 _failedView.hidden = YES; 46 _failedView.hidden = YES;
47 47
48 - NSString *uid;  
49 - if ([UserTools isLogin]) {  
50 - uid = [UserInformationModel manager].uid;  
51 - } else {  
52 - uid = [NSString stringWithFormat:@"%u", arc4random()%3];  
53 - }  
54 - NSString *tm = [NSString stringWithFormat:@"%u_%@", arc4random()%10, uid];  
55 -  
56 - NSDictionary *parameter = @{@"cid": @"82_news/",  
57 - @"page": [NSString stringWithFormat:@"%d", 1],  
58 - @"pagesize": @"15",  
59 - @"tm": tm};  
60 -  
61 - [[AFHTTPRequestOperationManager manager] GET:Newslist parameters:[self addParameters:parameter] success:^(AFHTTPRequestOperation *operation, id responseObject) { 48 + NSInteger time = [[NSDate date] timeIntervalSince1970];
  49 + NSString *timeString = [NSString stringWithFormat:@"%ld", (long)time];
  50 + NSDictionary *parameter = @{
  51 + @"appId" : UserAppId,
  52 + @"timestamp": timeString
  53 + };
  54 +
  55 + [[AFHTTPRequestOperationManager manager] POST:@"http://test.open.cnlive.com/openapi/api2/vod_epg/getVodListInfo4App" parameters:[parameter addParameters] success:^(AFHTTPRequestOperation *operation, id responseObject) {
62 56
63 responseObject = [responseObject validatedDictionary]; 57 responseObject = [responseObject validatedDictionary];
64 58
@@ -189,21 +183,6 @@ static NSString *vodCellId = @&quot;vodCellId&quot;; @@ -189,21 +183,6 @@ static NSString *vodCellId = @&quot;vodCellId&quot;;
189 self.tableView.scrollsToTop = scrollToTop; 183 self.tableView.scrollsToTop = scrollToTop;
190 } 184 }
191 185
192 -#pragma mark ------------------------------ 分割线 ----------------------------------------------  
193 -- (NSDictionary *)addParameters:(NSDictionary *)dict {  
194 -  
195 - if (![dict isKindOfClass:[NSDictionary class]]) {  
196 - return dict;  
197 - }  
198 - if (!dict) {  
199 - return @{@"appid": JBAppId, @"plat": @"i", @"version": JBAppVersion};  
200 - } else {  
201 - NSMutableDictionary *dic = [[NSMutableDictionary alloc] initWithDictionary:dict];  
202 - [dic addEntriesFromDictionary:@{@"appid": JBAppId, @"plat": @"i", @"version": JBAppVersion}];  
203 - return [[NSDictionary alloc] initWithDictionary:dic];  
204 - }  
205 -}  
206 -  
207 - (void)didReceiveMemoryWarning { 186 - (void)didReceiveMemoryWarning {
208 [super didReceiveMemoryWarning]; 187 [super didReceiveMemoryWarning];
209 // Dispose of any resources that can be recreated. 188 // Dispose of any resources that can be recreated.
LiveVideoCloud/Classes/Sections/homeSections/View/LVCCommentView.m
@@ -8,7 +8,7 @@ @@ -8,7 +8,7 @@
8 8
9 #import "LVCCommentView.h" 9 #import "LVCCommentView.h"
10 10
11 -@interface LVCCommentView() { 11 +@interface LVCCommentView()<UITableViewDelegate, UITableViewDataSource> {
12 12
13 CGSize _contentSize; 13 CGSize _contentSize;
14 } 14 }
@@ -17,6 +17,8 @@ @@ -17,6 +17,8 @@
17 17
18 @property (nonatomic, strong) UILabel *contentLabel; 18 @property (nonatomic, strong) UILabel *contentLabel;
19 19
  20 +@property (nonatomic, strong) UITableView *tableview;
  21 +
20 @end 22 @end
21 23
22 @implementation LVCCommentView 24 @implementation LVCCommentView
@@ -34,15 +36,44 @@ @@ -34,15 +36,44 @@
34 - (void)setModel:(ProgramModel *)model { 36 - (void)setModel:(ProgramModel *)model {
35 37
36 _titleLabel.text = model.title; 38 _titleLabel.text = model.title;
  39 + _contentLabel.text = model.desc;
  40 +}
  41 +
  42 +#pragma mark - UITableViewDelegate !!!!!!!!!!!!!!!!!!!!!
  43 +
  44 +#pragma mark - UITableViewDataSource !!!!!!!!!!!!!!!!!!!!!!!!
  45 +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
  46 + return 2;
  47 +}
  48 +
  49 +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
  50 +
  51 + return 2;
  52 +}
  53 +
  54 +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
  55 +
  56 + return nil;
37 } 57 }
38 58
39 #pragma mark - GetMethod !!!!!!!!!!!!!!!!!!!!!! 59 #pragma mark - GetMethod !!!!!!!!!!!!!!!!!!!!!!
  60 +- (UITableView *)tableview {
  61 +
  62 + if (!_tableview) {
  63 + _tableview = [[UITableView alloc] initWithFrame:self.bounds style:UITableViewStylePlain];
  64 + _tableview.delegate = self;
  65 + _tableview.dataSource = self;
  66 + _tableview.separatorStyle = UITableViewCellSeparatorStyleNone;
  67 + }
  68 + return _tableview;
  69 +}
  70 +
40 - (UILabel *)titleLabel { 71 - (UILabel *)titleLabel {
41 72
42 if (!_titleLabel) { 73 if (!_titleLabel) {
43 _titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, KScreenWidth-20, 40)]; 74 _titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, KScreenWidth-20, 40)];
44 [_contentLabel setFont:[UIFont systemFontOfSize:22]]; 75 [_contentLabel setFont:[UIFont systemFontOfSize:22]];
45 - _titleLabel.text = @"将就开始疯狂涉及到法定分"; 76 + _titleLabel.text = @"标题";
46 } 77 }
47 return _titleLabel; 78 return _titleLabel;
48 } 79 }
@@ -53,7 +84,7 @@ @@ -53,7 +84,7 @@
53 _contentLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 60, KScreenWidth-20, 100)]; 84 _contentLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 60, KScreenWidth-20, 100)];
54 [_contentLabel setFont:[UIFont systemFontOfSize:14]]; 85 [_contentLabel setFont:[UIFont systemFontOfSize:14]];
55 _contentLabel.textColor = [UIColor grayColor]; 86 _contentLabel.textColor = [UIColor grayColor];
56 - _contentLabel.text = @"就当是妇女节阿斯顿和播放控件安徽的播放控件和巴萨的海景房吧圣诞节还发什么你打副本氨基酸等回复看见爱上对方阿斯顿发布密集恐惧恨不得能否"; 87 + _contentLabel.text = @"描述";
57 _contentLabel.numberOfLines = 0; 88 _contentLabel.numberOfLines = 0;
58 [_contentLabel sizeToFit]; 89 [_contentLabel sizeToFit];
59 _contentSize = _contentLabel.bounds.size; 90 _contentSize = _contentLabel.bounds.size;
LiveVideoCloud/PrefixHeader.pch
@@ -79,8 +79,8 @@ @@ -79,8 +79,8 @@
79 #define UserAppKey @"4c8658abc5d66f270f9bf5dcd1ef11e3597fab4c4e0af9"//@"13c6f0ad6f459cd479834b0b39cff99c6cf20c970815bb"// 79 #define UserAppKey @"4c8658abc5d66f270f9bf5dcd1ef11e3597fab4c4e0af9"//@"13c6f0ad6f459cd479834b0b39cff99c6cf20c970815bb"//
80 #define UserAppSceret @"c2faeb120f0ea2e2d47020d4b03cb8a93bed2585897a94"//@"14c887b76ec2ecdf7083fb4c62808f13f6ab77a0f9dfec"// 80 #define UserAppSceret @"c2faeb120f0ea2e2d47020d4b03cb8a93bed2585897a94"//@"14c887b76ec2ecdf7083fb4c62808f13f6ab77a0f9dfec"//
81 81
82 -#define JBAppId @"hdtv"  
83 -#define JBAppVersion [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"] ///debug用 "CFBundleVersion" 82 +//#define JBAppId @"hdtv"
  83 +//#define JBAppVersion [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"] ///debug用 "CFBundleVersion"
84 84
85 //#define UserAppId @"60_itax25eq82" 85 //#define UserAppId @"60_itax25eq82"
86 //#define UserAppKey @"55a25a7f7e1124937fba06c82999d9a7c18379e2d24784" 86 //#define UserAppKey @"55a25a7f7e1124937fba06c82999d9a7c18379e2d24784"