Commit b2cd6dbc21d41fd1837bfad797b72b962b63d0a0

Authored by 朱林
1 parent 5100dc5b

重新提交

Showing 33 changed files with 4828 additions and 0 deletions

Too many changes to show.

To preserve performance only 33 of 990 files are displayed.

LiveVideoCloud/CNLiveUserSystemSDK.framework/CNLiveUserSystemSDK 0 → 100644
No preview for this file type
LiveVideoCloud/CNLiveUserSystemSDK.framework/Headers/CNLiveUserSystemCenter.h 0 → 100644
  1 +//
  2 +// CNLiveUserSystemCenter.h
  3 +// CNLiveUserSystemDemo
  4 +//
  5 +// Created by iOS on 16/9/12.
  6 +// Copyright © 2016年 zhulin. All rights reserved.
  7 +//
  8 +
  9 +#import <Foundation/Foundation.h>
  10 +#import "CNLiveUserSystemTypeDef.h"
  11 +#import <UIKit/UIKit.h>
  12 +
  13 +@interface CNLiveUserSystemCenter : NSObject
  14 +
  15 +/**
  16 + @abstract 初始化
  17 + @param appId 注册成功获得应用ID
  18 + @param appKey 注册成功获得应用key
  19 + @param appSecret 注册成功获得应用secret
  20 + @warning 必传参数
  21 + 必须在 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions; 方法中调用
  22 + */
  23 ++ (void)setAppId:(NSString *)appId appKey:(NSString *)appKey appSecret:(NSString *)appSecret;
  24 +
  25 +
  26 +/**
  27 + @abstract 注册
  28 + @param userName 邮箱或手机
  29 + @param password 密码
  30 + @param verificationCode 手机验证码(手机号注册时必填)
  31 + @param invitationCode 邀请码(非必填)
  32 + @param frmId 渠道ID(非必填)
  33 + @param success 成功回调
  34 + @param failure 失败回调
  35 + */
  36 ++ (void)registerWithUserName:(NSString *)userName password:(NSString *)password verificationCode:(NSString *)verificationCode invitationCode:(NSString *)invitationCode frmId:(NSString *)frmId success:(void (^)(id result))success failure:(void (^)(NSDictionary *errorDic))failure;
  37 +
  38 +
  39 +/**
  40 + @abstract 第三方登录
  41 + @param plat 第三方平台编号(如plat: 1:sina weibo 2:qq 3:weixin 4:renren 注:如qq登录,plat=@"2")
  42 + @param thirdPartyId 第三方用户ID
  43 + @param nickName 用户昵称
  44 + @param gender 性别,m:男、f:女、n:未知(非必填)
  45 + @param location 用户所在地(非必填)
  46 + @param faceUrl 头像,约100*100(非必填)
  47 + @param frmId 渠道ID(非必填)
  48 + @param success 成功回调
  49 + @param failure 失败回调
  50 + */
  51 ++ (void)thirdPartyLoginWithThirdPartyPlatType:(NSString *)plat thirdPartyId:(NSString *)thirdPartyId nickName:(NSString *)nickName gender:(NSString *)gender location:(NSString *)location faceUrl:(NSString *)faceUrl frmId:(NSString *)frmId success:(void (^)(id result))success failure:(void (^)(NSDictionary *errorDic))failure;
  52 +
  53 +
  54 +/**
  55 + @abstract 快捷登录
  56 + @param userName 手机号
  57 + @param verificationCode 验证码
  58 + @param frmId 渠道ID(非必填)
  59 + @param success 成功回调
  60 + @param failure 失败回调
  61 + */
  62 ++ (void)shortcutLoginWithUserName:(NSString *)userName verificationCode:(NSString *)verificationCode frmId:(NSString *)frmId success:(void (^)(id result))success failure:(void (^)(NSDictionary *errorDic))failure;
  63 +
  64 +
  65 +/**
  66 + @abstract 登录
  67 + @param userName 手机号或邮箱
  68 + @param password 密码
  69 + @param frmId 渠道ID(非必填)
  70 + @param success 成功回调
  71 + @param failure 失败回调
  72 + */
  73 ++ (void)loginWithUserName:(NSString *)userName password:(NSString *)password frmId:(NSString *)frmId success:(void (^)(id result))success failure:(void (^)(NSDictionary *errorDic))failure;
  74 +
  75 +
  76 +/**
  77 + @abstract 发送验证码
  78 + @param mobile 手机号
  79 + @param type 发送验证码类型(详见VerificationCodeType)
  80 + @param success 成功回调
  81 + @param failure 失败回调
  82 + */
  83 ++ (void)verificationCodeType:(VerificationCodeType)type mobile:(NSString *)mobile success:(void (^)(id result))success failure:(void (^)(NSDictionary *errorDic))failure;
  84 +
  85 +
  86 +/**
  87 + @abstract 更新用户附加信息
  88 + @param uid 用户ID
  89 + @param extInfo 扩展信息(格式由对方自己组织,平台只负责存储和原样读取,NSString类型)
  90 + @param success 成功回调
  91 + @param failure 失败回调
  92 + */
  93 ++ (void)updateOtherInfoWithUid:(NSString *)uid extInfo:(NSString *)extInfo success:(void (^)(id result))success failure:(void (^)(NSDictionary *errorDic))failure;
  94 +
  95 +
  96 +/**
  97 + @abstract 修改用户单项信息
  98 + @param type 修改类型(nickName-昵称,gender-性别,email-邮箱, location-联系方式(地址))
  99 + @param uid 用户ID
  100 + @param info 对应的信息(注gender对应f/m/n)
  101 + @param success 成功回调
  102 + @param failure 失败回调
  103 + */
  104 ++ (void)modifyUserInfoType:(UserInfoType)type uid:(NSString *)uid modifyInfo:(NSString *)info success:(void (^)(id result))success failure:(void (^)(NSDictionary *errorDic))failure;
  105 +
  106 +
  107 +/**
  108 + @abstract 更新手机号
  109 + @param uid 用户ID
  110 + @param mobile 手机号
  111 + @param verificationCode 验证码
  112 + @param success 成功回调
  113 + @param failure 失败回调
  114 + */
  115 ++ (void)updateMobileWithUid:(NSString *)uid mobile:(NSString *)mobile verificationCode:(NSString *)verificationCode success:(void (^)(id result))success failure:(void (^)(NSDictionary *errorDic))failure;
  116 +
  117 +
  118 +/**
  119 + @abstract 绑定第三方账号
  120 + @param uid 用户ID
  121 + @param plat 第三方平台编号(如platform: 1:sina weibo 2:qq 3:weixin 4:renren 注:如绑定qq,thirdPartyPlat = @"2")
  122 + @param thirdPartyId 第三方用户ID
  123 + @param success 成功回调
  124 + @param failure 失败回调
  125 + */
  126 ++ (void)bindingThirdPartyWithUid:(NSString *)uid thirdPartyPlatType:(NSString *)plat thirdPartyId:(NSString *)thirdPartyId success:(void (^)(id result))success failure:(void (^)(NSDictionary *errorDic))failure;
  127 +
  128 +
  129 +/**
  130 + @abstract 修改密码(通过手机号修改)
  131 + @param mobile 手机号
  132 + @param verificationCode 验证码
  133 + @param newPassword 新密码
  134 + @param success 成功回调
  135 + @param failure 失败回调
  136 + */
  137 ++ (void)changePasswordWithMobile:(NSString *)mobile verificationCode:(NSString *)verificationCode newPassword:(NSString *)newPassword success:(void (^)(id result))success failure:(void (^)(NSDictionary *errorDic))failure;
  138 +
  139 +
  140 +/**
  141 + @abstract 上传头像
  142 + @param uid 用户ID
  143 + @param icon 头像
  144 + @param success 成功回调
  145 + @param failure 失败回调
  146 + */
  147 ++ (void)uploadIconWithUid:(NSString *)uid icon:(UIImage *)icon success:(void (^)(id result))success failure:(void (^)(NSDictionary *errorDic))failure;
  148 +
  149 +
  150 +/**
  151 + @abstract 查询用户信息
  152 + @param uid 用户ID
  153 + @param srcUid 被查询用户ID
  154 + @param success 成功回调
  155 + @param failure 失败回调
  156 + */
  157 ++ (void)queryUserInfoWithUid:(NSString *)uid srcUid:(NSString *)srcUid success:(void (^)(id result))success failure:(void (^)(NSDictionary *errorDic))failure;
  158 +
  159 +
  160 +/**
  161 + @abstract 用户反馈
  162 + @param contentId 举报内容ID
  163 + @param message 举报内容(app自己组织-不能带特殊字符&号等)
  164 + @param success 成功回调
  165 + @param failure 失败回调
  166 + */
  167 ++ (void)feedbackWithContentId:(NSString *)contentId message:(NSString *)message success:(void (^)(id result))success failure:(void (^)(NSDictionary *errorDic))failure;
  168 +
  169 +
  170 +/**
  171 + * 获取SDK版本号
  172 + */
  173 ++ (NSString *)getVersion;
  174 +
  175 +@end
LiveVideoCloud/CNLiveUserSystemSDK.framework/Headers/CNLiveUserSystemTypeDef.h 0 → 100644
  1 +//
  2 +// CNLiveUserSystemTypeDef.h
  3 +// CNLiveUserSystemDemo
  4 +//
  5 +// Created by iOS on 16/9/12.
  6 +// Copyright © 2016年 zhulin. All rights reserved.
  7 +//
  8 +
  9 +#ifndef CNLiveUserSystemTypeDef_h
  10 +#define CNLiveUserSystemTypeDef_h
  11 +
  12 +//获取验证码
  13 +typedef NS_ENUM(NSUInteger, VerificationCodeType) {
  14 + VerificationCodeTypeShortcutLogin = 0, //快捷登录
  15 + VerificationCodeTypeRegister, //注册或修改手机号
  16 + VerificationCodeTypeRetrievePassword //找回或修改密码
  17 +};
  18 +
  19 +//修改单项用户信息类型
  20 +typedef NS_ENUM(NSUInteger, UserInfoType) {
  21 + UserInfoTypeNickName = 0, //昵称
  22 + UserInfoTypeGender, //性别(f/m/n)
  23 + UserInfoTypeEmail, //邮箱
  24 + UserInfoTypeLocation, //联系方式(地址)
  25 +};
  26 +
  27 +#endif /* CNLiveUserSystemTypeDef_h */
LiveVideoCloud/CNLiveUserSystemSDK.framework/Info.plist 0 → 100644
No preview for this file type
LiveVideoCloud/LiveVideoCloud.xcodeproj/project.pbxproj 0 → 100644
  1 +// !$*UTF8*$!
  2 +{
  3 + archiveVersion = 1;
  4 + classes = {
  5 + };
  6 + objectVersion = 46;
  7 + objects = {
  8 +
  9 +/* Begin PBXBuildFile section */
  10 + 4B42A6C41EC00CC800DA09D7 /* UIAlertView+Blocks.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B42A6C31EC00CC800DA09D7 /* UIAlertView+Blocks.m */; };
  11 + 4B42A6C71EC0171800DA09D7 /* PlayRecordCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B42A6C61EC0171800DA09D7 /* PlayRecordCell.m */; };
  12 + 4B45CE761EB86A590079AFB7 /* BeingAnchorController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CE451EB86A590079AFB7 /* BeingAnchorController.m */; };
  13 + 4B45CE771EB86A590079AFB7 /* IDViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CE471EB86A590079AFB7 /* IDViewController.m */; };
  14 + 4B45CE781EB86A590079AFB7 /* LVCMineViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CE491EB86A590079AFB7 /* LVCMineViewController.m */; };
  15 + 4B45CE791EB86A590079AFB7 /* MineAboutUsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CE4B1EB86A590079AFB7 /* MineAboutUsController.m */; };
  16 + 4B45CE7A1EB86A590079AFB7 /* MineLiveController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CE4D1EB86A590079AFB7 /* MineLiveController.m */; };
  17 + 4B45CE7B1EB86A590079AFB7 /* MinePersonalDataController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CE4F1EB86A590079AFB7 /* MinePersonalDataController.m */; };
  18 + 4B45CE7C1EB86A590079AFB7 /* MineSettingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CE511EB86A590079AFB7 /* MineSettingViewController.m */; };
  19 + 4B45CE7D1EB86A590079AFB7 /* ModifyInfomationController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CE531EB86A590079AFB7 /* ModifyInfomationController.m */; };
  20 + 4B45CE7E1EB86A590079AFB7 /* LoginViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CE581EB86A590079AFB7 /* LoginViewController.m */; };
  21 + 4B45CE7F1EB86A590079AFB7 /* RegisterCommonController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CE5A1EB86A590079AFB7 /* RegisterCommonController.m */; };
  22 + 4B45CE801EB86A590079AFB7 /* idAndPwdView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CE5D1EB86A590079AFB7 /* idAndPwdView.m */; };
  23 + 4B45CE811EB86A590079AFB7 /* RegistBasicInformationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CE5F1EB86A590079AFB7 /* RegistBasicInformationView.m */; };
  24 + 4B45CE821EB86A590079AFB7 /* LVCMineCommonModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CE621EB86A590079AFB7 /* LVCMineCommonModel.m */; };
  25 + 4B45CE831EB86A590079AFB7 /* LVCMineModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CE641EB86A590079AFB7 /* LVCMineModel.m */; };
  26 + 4B45CE841EB86A590079AFB7 /* ModifyCommonView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CE671EB86A590079AFB7 /* ModifyCommonView.m */; };
  27 + 4B45CE851EB86A590079AFB7 /* LVCClearCachesCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CE691EB86A590079AFB7 /* LVCClearCachesCell.m */; };
  28 + 4B45CE861EB86A590079AFB7 /* LVCLoginShowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CE6B1EB86A590079AFB7 /* LVCLoginShowView.m */; };
  29 + 4B45CE871EB86A590079AFB7 /* LVCMineCommonCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CE6D1EB86A590079AFB7 /* LVCMineCommonCell.m */; };
  30 + 4B45CE881EB86A590079AFB7 /* LVCMineShowCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CE6F1EB86A590079AFB7 /* LVCMineShowCell.m */; };
  31 + 4B45CE891EB86A590079AFB7 /* LVCPersonalImageCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CE711EB86A590079AFB7 /* LVCPersonalImageCell.m */; };
  32 + 4B45CE8A1EB86A590079AFB7 /* LVCPersonCommonCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CE731EB86A590079AFB7 /* LVCPersonCommonCell.m */; };
  33 + 4B45CE8B1EB86A590079AFB7 /* LVCTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CE751EB86A590079AFB7 /* LVCTextField.m */; };
  34 + 4B45CE971EB86A760079AFB7 /* UIButton+createButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CE8E1EB86A760079AFB7 /* UIButton+createButton.m */; };
  35 + 4B45CE981EB86A760079AFB7 /* UILabel+createLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CE901EB86A760079AFB7 /* UILabel+createLabel.m */; };
  36 + 4B45CE991EB86A760079AFB7 /* UITextField+createTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CE921EB86A760079AFB7 /* UITextField+createTextField.m */; };
  37 + 4B45CE9A1EB86A760079AFB7 /* ZXLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CE941EB86A760079AFB7 /* ZXLabel.m */; };
  38 + 4B45CE9B1EB86A760079AFB7 /* ZXUIKit.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CE961EB86A760079AFB7 /* ZXUIKit.m */; };
  39 + 4B45CEA51EB86B9F0079AFB7 /* CNLiveThirdLoginManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CE9E1EB86B9E0079AFB7 /* CNLiveThirdLoginManager.m */; };
  40 + 4B45CEA61EB86B9F0079AFB7 /* NSNumber+ScaleHeight.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CEA01EB86B9E0079AFB7 /* NSNumber+ScaleHeight.m */; };
  41 + 4B45CEA71EB86B9F0079AFB7 /* NSObject+UserModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CEA21EB86B9F0079AFB7 /* NSObject+UserModel.m */; };
  42 + 4B45CEA81EB86B9F0079AFB7 /* UserTools.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CEA41EB86B9F0079AFB7 /* UserTools.m */; };
  43 + 4B45CEAB1EB86BFA0079AFB7 /* NSString+ZXExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CEAA1EB86BFA0079AFB7 /* NSString+ZXExtension.m */; };
  44 + 4B45CEAE1EB873630079AFB7 /* UserInformationModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B45CEAD1EB873630079AFB7 /* UserInformationModel.m */; };
  45 + 4BD855CD1EBAC4B70082061D /* CNLiveKeychainWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD855CC1EBAC4B70082061D /* CNLiveKeychainWrapper.m */; };
  46 + 4BD855D11EBAC7220082061D /* DESUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD855D01EBAC7220082061D /* DESUtility.m */; };
  47 + 4BD855D31EBAC8B20082061D /* CNLiveUserSystemSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4BD855D21EBAC8B20082061D /* CNLiveUserSystemSDK.framework */; };
  48 + 4BD855FA1EBACD530082061D /* AFHTTPRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD855D61EBACD530082061D /* AFHTTPRequestOperation.m */; };
  49 + 4BD855FB1EBACD530082061D /* AFHTTPRequestOperationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD855D81EBACD530082061D /* AFHTTPRequestOperationManager.m */; };
  50 + 4BD855FC1EBACD530082061D /* AFHTTPSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD855DA1EBACD530082061D /* AFHTTPSessionManager.m */; };
  51 + 4BD855FD1EBACD530082061D /* AFNetworkReachabilityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD855DD1EBACD530082061D /* AFNetworkReachabilityManager.m */; };
  52 + 4BD855FE1EBACD530082061D /* AFSecurityPolicy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD855DF1EBACD530082061D /* AFSecurityPolicy.m */; };
  53 + 4BD855FF1EBACD530082061D /* AFURLConnectionOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD855E11EBACD530082061D /* AFURLConnectionOperation.m */; };
  54 + 4BD856001EBACD530082061D /* AFURLRequestSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD855E31EBACD530082061D /* AFURLRequestSerialization.m */; };
  55 + 4BD856011EBACD530082061D /* AFURLResponseSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD855E51EBACD530082061D /* AFURLResponseSerialization.m */; };
  56 + 4BD856021EBACD530082061D /* AFURLSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD855E71EBACD530082061D /* AFURLSessionManager.m */; };
  57 + 4BD856031EBACD530082061D /* AFNetworkActivityIndicatorManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD855EA1EBACD530082061D /* AFNetworkActivityIndicatorManager.m */; };
  58 + 4BD856041EBACD530082061D /* UIActivityIndicatorView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD855EC1EBACD530082061D /* UIActivityIndicatorView+AFNetworking.m */; };
  59 + 4BD856051EBACD530082061D /* UIAlertView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD855EE1EBACD530082061D /* UIAlertView+AFNetworking.m */; };
  60 + 4BD856061EBACD530082061D /* UIButton+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD855F01EBACD530082061D /* UIButton+AFNetworking.m */; };
  61 + 4BD856071EBACD530082061D /* UIImageView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD855F21EBACD530082061D /* UIImageView+AFNetworking.m */; };
  62 + 4BD856081EBACD530082061D /* UIProgressView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD855F51EBACD530082061D /* UIProgressView+AFNetworking.m */; };
  63 + 4BD856091EBACD530082061D /* UIRefreshControl+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD855F71EBACD530082061D /* UIRefreshControl+AFNetworking.m */; };
  64 + 4BD8560A1EBACD530082061D /* UIWebView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD855F91EBACD530082061D /* UIWebView+AFNetworking.m */; };
  65 + 4BD8560F1EBACEF80082061D /* CNLiveWebView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD8560C1EBACEF80082061D /* CNLiveWebView.m */; };
  66 + 4BD856121EBAD2640082061D /* ProgramModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD856111EBAD2640082061D /* ProgramModel.m */; };
  67 + 4BD856151EBAD31A0082061D /* NSString+UrlEncode.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD856141EBAD31A0082061D /* NSString+UrlEncode.m */; };
  68 + 4BD856181EBAD35C0082061D /* NSDictionary+Safety.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD856171EBAD35C0082061D /* NSDictionary+Safety.m */; };
  69 + 4BD856191EBAD4E30082061D /* CNLiveUserSystemSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4BD855D21EBAC8B20082061D /* CNLiveUserSystemSDK.framework */; };
  70 + 4BD8561A1EBAD4E30082061D /* CNLiveUserSystemSDK.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 4BD855D21EBAC8B20082061D /* CNLiveUserSystemSDK.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
  71 + 4BD8561D1EBAD6490082061D /* ZXConst.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD8561C1EBAD6490082061D /* ZXConst.m */; };
  72 + 810B64E01E779AE900133E15 /* LVCPlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 810B64DF1E779AE900133E15 /* LVCPlayer.m */; };
  73 + 810B64E31E779AFE00133E15 /* LVCLivePlayerController.m in Sources */ = {isa = PBXBuildFile; fileRef = 810B64E21E779AFE00133E15 /* LVCLivePlayerController.m */; };
  74 + 810B64FE1E779B1F00133E15 /* MASCompositeConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 810B64E61E779B1F00133E15 /* MASCompositeConstraint.m */; };
  75 + 810B64FF1E779B1F00133E15 /* MASConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 810B64E91E779B1F00133E15 /* MASConstraint.m */; };
  76 + 810B65001E779B1F00133E15 /* MASConstraintMaker.m in Sources */ = {isa = PBXBuildFile; fileRef = 810B64EB1E779B1F00133E15 /* MASConstraintMaker.m */; };
  77 + 810B65011E779B1F00133E15 /* MASLayoutConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 810B64ED1E779B1F00133E15 /* MASLayoutConstraint.m */; };
  78 + 810B65021E779B1F00133E15 /* MASViewAttribute.m in Sources */ = {isa = PBXBuildFile; fileRef = 810B64F11E779B1F00133E15 /* MASViewAttribute.m */; };
  79 + 810B65031E779B1F00133E15 /* MASViewConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 810B64F31E779B1F00133E15 /* MASViewConstraint.m */; };
  80 + 810B65041E779B1F00133E15 /* NSArray+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 810B64F51E779B1F00133E15 /* NSArray+MASAdditions.m */; };
  81 + 810B65051E779B1F00133E15 /* NSLayoutConstraint+MASDebugAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 810B64F81E779B1F00133E15 /* NSLayoutConstraint+MASDebugAdditions.m */; };
  82 + 810B65061E779B1F00133E15 /* View+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 810B64FA1E779B1F00133E15 /* View+MASAdditions.m */; };
  83 + 810B65071E779B1F00133E15 /* ViewController+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 810B64FD1E779B1F00133E15 /* ViewController+MASAdditions.m */; };
  84 + 810B650A1E77B39D00133E15 /* LVCFullScreenPlayerController.m in Sources */ = {isa = PBXBuildFile; fileRef = 810B65091E77B39D00133E15 /* LVCFullScreenPlayerController.m */; };
  85 + 8112D4311E7927A5002E00F6 /* LVCPlayerLoadingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8112D4301E7927A5002E00F6 /* LVCPlayerLoadingView.m */; };
  86 + 811BB6801E80F858005C6291 /* LVCChatView.m in Sources */ = {isa = PBXBuildFile; fileRef = 811BB67D1E80F858005C6291 /* LVCChatView.m */; };
  87 + 811BB6831E8106A2005C6291 /* CNLivePlayerSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 811BB6821E8106A2005C6291 /* CNLivePlayerSDK.framework */; };
  88 + 811BB6851E8106AF005C6291 /* CNLivePlayerSDK.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 811BB6821E8106A2005C6291 /* CNLivePlayerSDK.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
  89 + 811BB6881E8107B4005C6291 /* LVCChatViewTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 811BB6871E8107B4005C6291 /* LVCChatViewTableViewCell.m */; };
  90 + 811BB68E1E8116C8005C6291 /* NSString+StringSize.m in Sources */ = {isa = PBXBuildFile; fileRef = 811BB68D1E8116C8005C6291 /* NSString+StringSize.m */; };
  91 + 8128E2881E8A6A3600B40E75 /* CNBarrageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 8128E2851E8A6A3600B40E75 /* CNBarrageManager.m */; };
  92 + 8128E2891E8A6A3600B40E75 /* CNBarrageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8128E2871E8A6A3600B40E75 /* CNBarrageView.m */; };
  93 + 8130911E1E84C0F0005F0BFF /* LVCMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 8130911D1E84C0F0005F0BFF /* LVCMessage.m */; };
  94 + 81A1B9A91E8277410079FF5F /* LVCInputView.m in Sources */ = {isa = PBXBuildFile; fileRef = 81A1B9A81E8277410079FF5F /* LVCInputView.m */; };
  95 + 81A482F51E88ACC80097A80A /* LVCTelevisionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 81A482F41E88ACC80097A80A /* LVCTelevisionView.m */; };
  96 + 81A482F81E88AFA20097A80A /* LVCFirstHeaderReusableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 81A482F71E88AFA20097A80A /* LVCFirstHeaderReusableView.m */; };
  97 + 81A483021E88B0130097A80A /* LVCChatRoomModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 81A483001E88B0130097A80A /* LVCChatRoomModel.m */; };
  98 + 81A483051E88B32C0097A80A /* LVCHeaderRollCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 81A483041E88B32C0097A80A /* LVCHeaderRollCollectionViewCell.m */; };
  99 + 81A483081E88B6140097A80A /* UIView+ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 81A483071E88B6140097A80A /* UIView+ViewController.m */; };
  100 + 81A4830B1E88B7EE0097A80A /* LVCOtherHeaderReusableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 81A4830A1E88B7EE0097A80A /* LVCOtherHeaderReusableView.m */; };
  101 + 81A4830E1E88B8300097A80A /* LVCChannelsModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 81A4830D1E88B8300097A80A /* LVCChannelsModel.m */; };
  102 + 81A483111E88B8630097A80A /* LVCChannelDetailsModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 81A483101E88B8630097A80A /* LVCChannelDetailsModel.m */; };
  103 + 81A483141E88BA420097A80A /* LVCLiveListCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 81A483131E88BA420097A80A /* LVCLiveListCollectionViewCell.m */; };
  104 + 81A483171E88BED00097A80A /* LVCTVLiveViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 81A483161E88BED00097A80A /* LVCTVLiveViewController.m */; };
  105 + 81A4831A1E88E19C0097A80A /* LVCMoreProgramViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 81A483191E88E19C0097A80A /* LVCMoreProgramViewController.m */; };
  106 + 81A4831D1E88E1EB0097A80A /* LVCMoreSortTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 81A4831C1E88E1EB0097A80A /* LVCMoreSortTableViewCell.m */; };
  107 + 81A483201E88F4BF0097A80A /* LVCProgramModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 81A4831F1E88F4BF0097A80A /* LVCProgramModel.m */; };
  108 + 81CE9E1B1E8CF567000F8F6B /* LVCRequestFailedView.m in Sources */ = {isa = PBXBuildFile; fileRef = 81CE9E1A1E8CF567000F8F6B /* LVCRequestFailedView.m */; };
  109 + 81F1C8381E8BBDDA0085C2B8 /* MHPagingScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 81F1C8371E8BBDDA0085C2B8 /* MHPagingScrollView.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
  110 + 81F1C83D1E8BBDE40085C2B8 /* V8HorizontalPickerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 81F1C83B1E8BBDE40085C2B8 /* V8HorizontalPickerView.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
  111 + 81F1C8401E8BC5CC0085C2B8 /* NSArray+Safety.m in Sources */ = {isa = PBXBuildFile; fileRef = 81F1C83F1E8BC5CC0085C2B8 /* NSArray+Safety.m */; };
  112 + 81FB5B3C1E7A6FFC00F98E1D /* SevenSwitch.m in Sources */ = {isa = PBXBuildFile; fileRef = 81FB5B3B1E7A6FFC00F98E1D /* SevenSwitch.m */; };
  113 + D2029B861E6EAAA50027CD92 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029B851E6EAAA50027CD92 /* main.m */; };
  114 + D2029B911E6EAAA50027CD92 /* animation.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D2029B901E6EAAA50027CD92 /* animation.xcassets */; };
  115 + D2029B941E6EAAA50027CD92 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D2029B921E6EAAA50027CD92 /* LaunchScreen.storyboard */; };
  116 + D2029B9F1E6EAAA50027CD92 /* LiveVideoCloudTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029B9E1E6EAAA50027CD92 /* LiveVideoCloudTests.m */; };
  117 + D2029BAA1E6EAAA50027CD92 /* LiveVideoCloudUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029BA91E6EAAA50027CD92 /* LiveVideoCloudUITests.m */; };
  118 + D2029BCA1E6EADD70027CD92 /* BaseModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029BBE1E6EADD70027CD92 /* BaseModel.m */; };
  119 + D2029BCB1E6EADD70027CD92 /* BaseTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029BC01E6EADD70027CD92 /* BaseTableViewCell.m */; };
  120 + D2029BCC1E6EADD70027CD92 /* BaseView.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029BC21E6EADD70027CD92 /* BaseView.m */; };
  121 + D2029BCD1E6EADD70027CD92 /* BaseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029BC41E6EADD70027CD92 /* BaseViewController.m */; };
  122 + D2029BCE1E6EADD70027CD92 /* ZXNavigationController.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029BC71E6EADD70027CD92 /* ZXNavigationController.m */; };
  123 + D2029BCF1E6EADD70027CD92 /* ZXTabBarController.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029BC91E6EADD70027CD92 /* ZXTabBarController.m */; };
  124 + D2029C861E6EADE10027CD92 /* Tools.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029BD31E6EADE10027CD92 /* Tools.m */; };
  125 + D2029C961E6EADE10027CD92 /* MBProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029BFA1E6EADE10027CD92 /* MBProgressHUD.m */; };
  126 + D2029C971E6EADE10027CD92 /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = D2029BFC1E6EADE10027CD92 /* Info.plist */; };
  127 + D2029C981E6EADE10027CD92 /* MJExtensionConst.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029BFF1E6EADE10027CD92 /* MJExtensionConst.m */; };
  128 + D2029C991E6EADE10027CD92 /* MJFoundation.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C011E6EADE10027CD92 /* MJFoundation.m */; };
  129 + D2029C9A1E6EADE10027CD92 /* MJProperty.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C031E6EADE10027CD92 /* MJProperty.m */; };
  130 + D2029C9B1E6EADE10027CD92 /* MJPropertyKey.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C051E6EADE10027CD92 /* MJPropertyKey.m */; };
  131 + D2029C9C1E6EADE10027CD92 /* MJPropertyType.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C071E6EADE10027CD92 /* MJPropertyType.m */; };
  132 + D2029C9D1E6EADE10027CD92 /* NSObject+MJClass.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C091E6EADE10027CD92 /* NSObject+MJClass.m */; };
  133 + D2029C9E1E6EADE10027CD92 /* NSObject+MJCoding.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C0B1E6EADE10027CD92 /* NSObject+MJCoding.m */; };
  134 + D2029C9F1E6EADE10027CD92 /* NSObject+MJKeyValue.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C0D1E6EADE10027CD92 /* NSObject+MJKeyValue.m */; };
  135 + D2029CA01E6EADE10027CD92 /* NSObject+MJProperty.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C0F1E6EADE10027CD92 /* NSObject+MJProperty.m */; };
  136 + D2029CA11E6EADE10027CD92 /* NSString+MJExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C111E6EADE10027CD92 /* NSString+MJExtension.m */; };
  137 + D2029CA21E6EADE10027CD92 /* MJRefreshAutoFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C151E6EADE10027CD92 /* MJRefreshAutoFooter.m */; };
  138 + D2029CA31E6EADE10027CD92 /* MJRefreshBackFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C171E6EADE10027CD92 /* MJRefreshBackFooter.m */; };
  139 + D2029CA41E6EADE10027CD92 /* MJRefreshComponent.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C191E6EADE10027CD92 /* MJRefreshComponent.m */; };
  140 + D2029CA51E6EADE10027CD92 /* MJRefreshFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C1B1E6EADE10027CD92 /* MJRefreshFooter.m */; };
  141 + D2029CA61E6EADE10027CD92 /* MJRefreshHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C1D1E6EADE10027CD92 /* MJRefreshHeader.m */; };
  142 + D2029CA71E6EADE10027CD92 /* MJRefreshAutoGifFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C221E6EADE10027CD92 /* MJRefreshAutoGifFooter.m */; };
  143 + D2029CA81E6EADE10027CD92 /* MJRefreshAutoNormalFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C241E6EADE10027CD92 /* MJRefreshAutoNormalFooter.m */; };
  144 + D2029CA91E6EADE10027CD92 /* MJRefreshAutoStateFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C261E6EADE10027CD92 /* MJRefreshAutoStateFooter.m */; };
  145 + D2029CAA1E6EADE10027CD92 /* MJRefreshBackGifFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C291E6EADE10027CD92 /* MJRefreshBackGifFooter.m */; };
  146 + D2029CAB1E6EADE10027CD92 /* MJRefreshBackNormalFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C2B1E6EADE10027CD92 /* MJRefreshBackNormalFooter.m */; };
  147 + D2029CAC1E6EADE10027CD92 /* MJRefreshBackStateFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C2D1E6EADE10027CD92 /* MJRefreshBackStateFooter.m */; };
  148 + D2029CAD1E6EADE10027CD92 /* MJRefreshGifHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C301E6EADE10027CD92 /* MJRefreshGifHeader.m */; };
  149 + D2029CAE1E6EADE10027CD92 /* MJRefreshNormalHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C321E6EADE10027CD92 /* MJRefreshNormalHeader.m */; };
  150 + D2029CAF1E6EADE10027CD92 /* MJRefreshStateHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C341E6EADE10027CD92 /* MJRefreshStateHeader.m */; };
  151 + D2029CB01E6EADE10027CD92 /* MJRefresh.bundle in Resources */ = {isa = PBXBuildFile; fileRef = D2029C351E6EADE10027CD92 /* MJRefresh.bundle */; };
  152 + D2029CB11E6EADE10027CD92 /* MJRefreshConst.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C381E6EADE10027CD92 /* MJRefreshConst.m */; };
  153 + D2029CB21E6EADE10027CD92 /* UIScrollView+MJExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C3A1E6EADE10027CD92 /* UIScrollView+MJExtension.m */; };
  154 + D2029CB31E6EADE10027CD92 /* UIScrollView+MJRefresh.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C3C1E6EADE10027CD92 /* UIScrollView+MJRefresh.m */; };
  155 + D2029CB41E6EADE10027CD92 /* UIView+MJExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C3E1E6EADE10027CD92 /* UIView+MJExtension.m */; };
  156 + D2029CB51E6EADE10027CD92 /* SDiOSVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C421E6EADE10027CD92 /* SDiOSVersion.m */; };
  157 + D2029CB61E6EADE10027CD92 /* MKAnnotationView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C461E6EADE10027CD92 /* MKAnnotationView+WebCache.m */; };
  158 + D2029CB71E6EADE10027CD92 /* NSData+ImageContentType.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C481E6EADE10027CD92 /* NSData+ImageContentType.m */; };
  159 + D2029CB81E6EADE10027CD92 /* SDImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C4A1E6EADE10027CD92 /* SDImageCache.m */; };
  160 + D2029CB91E6EADE10027CD92 /* SDWebImageCompat.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C4C1E6EADE10027CD92 /* SDWebImageCompat.m */; };
  161 + D2029CBA1E6EADE10027CD92 /* SDWebImageDecoder.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C4E1E6EADE10027CD92 /* SDWebImageDecoder.m */; };
  162 + D2029CBB1E6EADE10027CD92 /* SDWebImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C501E6EADE10027CD92 /* SDWebImageDownloader.m */; };
  163 + D2029CBC1E6EADE10027CD92 /* SDWebImageDownloaderOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C521E6EADE10027CD92 /* SDWebImageDownloaderOperation.m */; };
  164 + D2029CBD1E6EADE10027CD92 /* SDWebImageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C541E6EADE10027CD92 /* SDWebImageManager.m */; };
  165 + D2029CBE1E6EADE10027CD92 /* SDWebImagePrefetcher.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C571E6EADE10027CD92 /* SDWebImagePrefetcher.m */; };
  166 + D2029CBF1E6EADE10027CD92 /* UIButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C591E6EADE10027CD92 /* UIButton+WebCache.m */; };
  167 + D2029CC01E6EADE10027CD92 /* UIImage+GIF.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C5B1E6EADE10027CD92 /* UIImage+GIF.m */; };
  168 + D2029CC11E6EADE10027CD92 /* UIImage+MultiFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C5D1E6EADE10027CD92 /* UIImage+MultiFormat.m */; };
  169 + D2029CC21E6EADE10027CD92 /* UIImage+WebP.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C5F1E6EADE10027CD92 /* UIImage+WebP.m */; };
  170 + D2029CC31E6EADE10027CD92 /* UIImageView+HighlightedWebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C611E6EADE10027CD92 /* UIImageView+HighlightedWebCache.m */; };
  171 + D2029CC41E6EADE10027CD92 /* UIImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C631E6EADE10027CD92 /* UIImageView+WebCache.m */; };
  172 + D2029CC51E6EADE10027CD92 /* UIView+WebCacheOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C651E6EADE10027CD92 /* UIView+WebCacheOperation.m */; };
  173 + D2029CC61E6EADE10027CD92 /* SSKeychain.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C681E6EADE10027CD92 /* SSKeychain.m */; };
  174 + D2029CC71E6EADE10027CD92 /* SVIndefiniteAnimatedView.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C6B1E6EADE10027CD92 /* SVIndefiniteAnimatedView.m */; };
  175 + D2029CC81E6EADE10027CD92 /* SVProgressAnimatedView.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C6D1E6EADE10027CD92 /* SVProgressAnimatedView.m */; };
  176 + D2029CC91E6EADE10027CD92 /* SVProgressHUD.bundle in Resources */ = {isa = PBXBuildFile; fileRef = D2029C6F1E6EADE10027CD92 /* SVProgressHUD.bundle */; };
  177 + D2029CCA1E6EADE10027CD92 /* SVProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C711E6EADE10027CD92 /* SVProgressHUD.m */; };
  178 + D2029CCB1E6EADE10027CD92 /* SVRadialGradientLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C731E6EADE10027CD92 /* SVRadialGradientLayer.m */; };
  179 + D2029CCD1E6EADE10027CD92 /* SearchModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C7C1E6EADE10027CD92 /* SearchModel.m */; };
  180 + D2029CCE1E6EADE10027CD92 /* SearchRecomListModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C7E1E6EADE10027CD92 /* SearchRecomListModel.m */; };
  181 + D2029CCF1E6EADE10027CD92 /* SearchHttp.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C821E6EADE10027CD92 /* SearchHttp.m */; };
  182 + D2029CD01E6EADE10027CD92 /* SearchPresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029C841E6EADE10027CD92 /* SearchPresenter.m */; };
  183 + D2029CD41E6EADE70027CD92 /* HttpService.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029CD31E6EADE70027CD92 /* HttpService.m */; };
  184 + D2029D001E6EAE2E0027CD92 /* NSNumber+ScaleHeight.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029CDF1E6EAE2E0027CD92 /* NSNumber+ScaleHeight.m */; };
  185 + D2029D011E6EAE2E0027CD92 /* UIColor+HexString.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029CE11E6EAE2E0027CD92 /* UIColor+HexString.m */; };
  186 + D2029D021E6EAE2E0027CD92 /* UIImage+ScaleImageSize.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029CE31E6EAE2E0027CD92 /* UIImage+ScaleImageSize.m */; };
  187 + D2029D031E6EAE2E0027CD92 /* UIImage+ZXExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029CE51E6EAE2E0027CD92 /* UIImage+ZXExtension.m */; };
  188 + D2029D041E6EAE2E0027CD92 /* UILabel+ContentSize.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029CE71E6EAE2E0027CD92 /* UILabel+ContentSize.m */; };
  189 + D2029D051E6EAE2E0027CD92 /* UILabel+labelFitSize.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029CE91E6EAE2E0027CD92 /* UILabel+labelFitSize.m */; };
  190 + D2029D061E6EAE2E0027CD92 /* UIView+Extension.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029CEB1E6EAE2E0027CD92 /* UIView+Extension.m */; };
  191 + D2029D081E6EAE2E0027CD92 /* ZXDeviceInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029CF11E6EAE2E0027CD92 /* ZXDeviceInfo.m */; };
  192 + D2029D091E6EAE2E0027CD92 /* Foundation+Log.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029CF21E6EAE2E0027CD92 /* Foundation+Log.m */; };
  193 + D2029D0A1E6EAE2E0027CD92 /* ZXServerUrl.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029CFE1E6EAE2E0027CD92 /* ZXServerUrl.m */; };
  194 + D2029D161E6EB00D0027CD92 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = D2029D151E6EB00D0027CD92 /* AppDelegate.m */; };
  195 + D207BEA11E84C1EC006A0CE8 /* AnimationBaseView.m in Sources */ = {isa = PBXBuildFile; fileRef = D207BEA01E84C1EC006A0CE8 /* AnimationBaseView.m */; };
  196 + D209AD6B1EC580F100D82E3B /* LVCWebViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D209AD6A1EC580F100D82E3B /* LVCWebViewController.m */; };
  197 + D209AD6E1EC583B700D82E3B /* MineMessageController.m in Sources */ = {isa = PBXBuildFile; fileRef = D209AD6D1EC583B700D82E3B /* MineMessageController.m */; };
  198 + D209AD711EC583D100D82E3B /* MineAccountController.m in Sources */ = {isa = PBXBuildFile; fileRef = D209AD701EC583D100D82E3B /* MineAccountController.m */; };
  199 + D217A24A1E7B76C7003B44CB /* PresentView.m in Sources */ = {isa = PBXBuildFile; fileRef = D217A2471E7B76C7003B44CB /* PresentView.m */; };
  200 + D217A24B1E7B76C7003B44CB /* PresentViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D217A2491E7B76C7003B44CB /* PresentViewCell.m */; };
  201 + D217A24E1E7B77C7003B44CB /* ComboCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D217A24D1E7B77C7003B44CB /* ComboCell.m */; };
  202 + D224B1971E826ED800CC61D0 /* ChatBarrageAnimAction.m in Sources */ = {isa = PBXBuildFile; fileRef = D224B1961E826ED800CC61D0 /* ChatBarrageAnimAction.m */; };
  203 + D22830F11E778C0F00627701 /* LiveBaseView.m in Sources */ = {isa = PBXBuildFile; fileRef = D22830F01E778C0F00627701 /* LiveBaseView.m */; };
  204 + D22830FC1E77C2D900627701 /* BottomToolView.m in Sources */ = {isa = PBXBuildFile; fileRef = D22830FB1E77C2D900627701 /* BottomToolView.m */; };
  205 + D22830FF1E77C69E00627701 /* GiftListView.m in Sources */ = {isa = PBXBuildFile; fileRef = D22830FE1E77C69E00627701 /* GiftListView.m */; };
  206 + D22831091E77D8D500627701 /* GiftModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D22831081E77D8D500627701 /* GiftModel.m */; };
  207 + D236967E1E7F9E4100E4BF71 /* GiftPayButton.m in Sources */ = {isa = PBXBuildFile; fileRef = D236967D1E7F9E4100E4BF71 /* GiftPayButton.m */; };
  208 + D23696841E7FC6A900E4BF71 /* chatListCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D23696831E7FC6A900E4BF71 /* chatListCell.m */; };
  209 + D23696921E7FC83800E4BF71 /* chatMsgModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D23696911E7FC83800E4BF71 /* chatMsgModel.m */; };
  210 + D24571581E8393EB00AA85D6 /* UIImageView+ZXExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = D24571571E8393EB00AA85D6 /* UIImageView+ZXExtension.m */; };
  211 + D245715C1E83A62B00AA85D6 /* BounceView.m in Sources */ = {isa = PBXBuildFile; fileRef = D245715B1E83A62B00AA85D6 /* BounceView.m */; };
  212 + D245715F1E83B09900AA85D6 /* userInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D245715E1E83B09900AA85D6 /* userInfoModel.m */; };
  213 + D24571631E83C40B00AA85D6 /* PrivateView.m in Sources */ = {isa = PBXBuildFile; fileRef = D24571621E83C40B00AA85D6 /* PrivateView.m */; };
  214 + D25530001E7909AC00DF38A5 /* GiftAnimOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = D2552FFF1E7909AC00DF38A5 /* GiftAnimOperation.m */; };
  215 + D25530031E79115100DF38A5 /* AnimQueueManager.m in Sources */ = {isa = PBXBuildFile; fileRef = D25530021E79115100DF38A5 /* AnimQueueManager.m */; };
  216 + D25530061E7911A800DF38A5 /* GiftAnimationAction.m in Sources */ = {isa = PBXBuildFile; fileRef = D25530051E7911A800DF38A5 /* GiftAnimationAction.m */; };
  217 + D255300C1E793F8200DF38A5 /* NHFighterView+animDelegagte.m in Sources */ = {isa = PBXBuildFile; fileRef = D255300B1E793F8200DF38A5 /* NHFighterView+animDelegagte.m */; };
  218 + D2575C461E76857100E3A8FC /* LVCAnimationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = D2575C451E76857100E3A8FC /* LVCAnimationManager.m */; };
  219 + D2575C4A1E7685DE00E3A8FC /* UIView+Bubbling.m in Sources */ = {isa = PBXBuildFile; fileRef = D2575C481E7685DE00E3A8FC /* UIView+Bubbling.m */; };
  220 + D2575C671E76A25400E3A8FC /* LVCInteractionController.m in Sources */ = {isa = PBXBuildFile; fileRef = D2575C661E76A25400E3A8FC /* LVCInteractionController.m */; };
  221 + D2575C7A1E76A4F300E3A8FC /* NHCarViews.m in Sources */ = {isa = PBXBuildFile; fileRef = D2575C6F1E76A4F300E3A8FC /* NHCarViews.m */; };
  222 + D2575C7B1E76A4F300E3A8FC /* NHCarViews.xib in Resources */ = {isa = PBXBuildFile; fileRef = D2575C701E76A4F300E3A8FC /* NHCarViews.xib */; };
  223 + D2575C7C1E76A4F300E3A8FC /* NHFighterView.nib in Resources */ = {isa = PBXBuildFile; fileRef = D2575C721E76A4F300E3A8FC /* NHFighterView.nib */; };
  224 + D2575C7D1E76A4F300E3A8FC /* NHGiftAnimtionSDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D2575C731E76A4F300E3A8FC /* NHGiftAnimtionSDK.a */; };
  225 + D2575C7E1E76A4F300E3A8FC /* NHPlaneViews.m in Sources */ = {isa = PBXBuildFile; fileRef = D2575C771E76A4F300E3A8FC /* NHPlaneViews.m */; };
  226 + D2575C7F1E76A4F300E3A8FC /* NHPlaneViews.xib in Resources */ = {isa = PBXBuildFile; fileRef = D2575C781E76A4F300E3A8FC /* NHPlaneViews.xib */; };
  227 + D2575C801E76A4F300E3A8FC /* resource.bundle in Resources */ = {isa = PBXBuildFile; fileRef = D2575C791E76A4F300E3A8FC /* resource.bundle */; };
  228 + D25BF87A1E7B8A82007FB138 /* FilterFunctionView.m in Sources */ = {isa = PBXBuildFile; fileRef = D25BF8771E7B8A82007FB138 /* FilterFunctionView.m */; };
  229 + D25BF87B1E7B8A82007FB138 /* SliderView.m in Sources */ = {isa = PBXBuildFile; fileRef = D25BF8791E7B8A82007FB138 /* SliderView.m */; };
  230 + D25BF87D1E7B8C78007FB138 /* KSYGPUResource.bundle in Resources */ = {isa = PBXBuildFile; fileRef = D25BF87C1E7B8C78007FB138 /* KSYGPUResource.bundle */; };
  231 + D25BF8801E7BD266007FB138 /* LVCUGCLivePlayerController.m in Sources */ = {isa = PBXBuildFile; fileRef = D25BF87F1E7BD266007FB138 /* LVCUGCLivePlayerController.m */; };
  232 + D25BF8831E7F775F007FB138 /* LVCUGCPlayerLoadingView.m in Sources */ = {isa = PBXBuildFile; fileRef = D25BF8821E7F775F007FB138 /* LVCUGCPlayerLoadingView.m */; };
  233 + D25BF8901E7F7F8F007FB138 /* UGCLoading.jpeg in Resources */ = {isa = PBXBuildFile; fileRef = D25BF88F1E7F7F8F007FB138 /* UGCLoading.jpeg */; };
  234 + D25BF8931E7FBAEA007FB138 /* LVCUGCBackgroundView.m in Sources */ = {isa = PBXBuildFile; fileRef = D25BF8921E7FBAEA007FB138 /* LVCUGCBackgroundView.m */; };
  235 + D25BF8A01E80C4BD007FB138 /* UIImage+LVCVagueImage.m in Sources */ = {isa = PBXBuildFile; fileRef = D25BF89F1E80C4BD007FB138 /* UIImage+LVCVagueImage.m */; };
  236 + D25BF8A31E80C4FC007FB138 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D25BF8A21E80C4FC007FB138 /* Accelerate.framework */; };
  237 + D25BF8A51E80EC76007FB138 /* 头像.jpg in Resources */ = {isa = PBXBuildFile; fileRef = D25BF8A41E80EC76007FB138 /* 头像.jpg */; };
  238 + D2888D941E6EB8B4003A77C8 /* LVCTabBar.m in Sources */ = {isa = PBXBuildFile; fileRef = D2888D931E6EB8B4003A77C8 /* LVCTabBar.m */; };
  239 + D2888D9E1E6EBF1B003A77C8 /* LVCLiveViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D2888D9B1E6EBF1B003A77C8 /* LVCLiveViewController.m */; };
  240 + D2888DB11E6EC05F003A77C8 /* TempViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D2888DB01E6EC05F003A77C8 /* TempViewController.m */; };
  241 + D2888DB41E6EC154003A77C8 /* HomeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D2888DB31E6EC154003A77C8 /* HomeViewController.m */; };
  242 + D28F5FFF1E8BC7EF00914142 /* LVCUGCLiveListView.m in Sources */ = {isa = PBXBuildFile; fileRef = D28F5FFE1E8BC7EF00914142 /* LVCUGCLiveListView.m */; };
  243 + D2994BA61E8F48DE00E8D2CC /* CNLiveChatManager.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D2994BA41E8F48DE00E8D2CC /* CNLiveChatManager.framework */; };
  244 + D2994BA71E8F48DE00E8D2CC /* CNLiveMsgTools.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D2994BA51E8F48DE00E8D2CC /* CNLiveMsgTools.framework */; };
  245 + D2994BA81E8F490400E8D2CC /* CNLiveChatManager.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D2994BA41E8F48DE00E8D2CC /* CNLiveChatManager.framework */; };
  246 + D2994BA91E8F490400E8D2CC /* CNLiveChatManager.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D2994BA41E8F48DE00E8D2CC /* CNLiveChatManager.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
  247 + D2994BAA1E8F490700E8D2CC /* CNLiveMsgTools.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D2994BA51E8F48DE00E8D2CC /* CNLiveMsgTools.framework */; };
  248 + D2994BAB1E8F490700E8D2CC /* CNLiveMsgTools.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D2994BA51E8F48DE00E8D2CC /* CNLiveMsgTools.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
  249 + D29D88481E88C53300543A03 /* LVCUGCLivePrepareView.m in Sources */ = {isa = PBXBuildFile; fileRef = D29D88471E88C53300543A03 /* LVCUGCLivePrepareView.m */; };
  250 + D29E81ED1E88DC5B008C9906 /* PriChatCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D29E81EC1E88DC5B008C9906 /* PriChatCell.m */; };
  251 + D2A089E81E89FA720071412C /* LVCUGCLivePlayerCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D2A089E71E89FA720071412C /* LVCUGCLivePlayerCell.m */; };
  252 + D2A089EB1E8A09CB0071412C /* LVCUGCLivePlayerModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D2A089EA1E8A09CB0071412C /* LVCUGCLivePlayerModel.m */; };
  253 + D2A089EE1E8A336A0071412C /* LiveLIstService.m in Sources */ = {isa = PBXBuildFile; fileRef = D2A089ED1E8A336A0071412C /* LiveLIstService.m */; };
  254 + D2A089F11E8A41120071412C /* LVCUGCLiveListModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D2A089F01E8A41120071412C /* LVCUGCLiveListModel.m */; };
  255 + D2A803081E80BD6F009D6F1C /* TopToolView.m in Sources */ = {isa = PBXBuildFile; fileRef = D2A803071E80BD6F009D6F1C /* TopToolView.m */; };
  256 + D2B2ED801E88FC5200F7538A /* LVCUGCLiveEndView.m in Sources */ = {isa = PBXBuildFile; fileRef = D2B2ED7F1E88FC5200F7538A /* LVCUGCLiveEndView.m */; };
  257 + D2B7B2511E8247D400ED084E /* ChatBarrageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = D2B7B2501E8247D400ED084E /* ChatBarrageManager.m */; };
  258 + D2B7B2541E824B2D00ED084E /* ChatBarrageView.m in Sources */ = {isa = PBXBuildFile; fileRef = D2B7B2531E824B2D00ED084E /* ChatBarrageView.m */; };
  259 + D2B7B2571E8261EF00ED084E /* ChatBarrOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = D2B7B2561E8261EF00ED084E /* ChatBarrOperation.m */; };
  260 + D2D7D18D1E8A581000217771 /* timg.jpeg in Resources */ = {isa = PBXBuildFile; fileRef = D2D7D18C1E8A581000217771 /* timg.jpeg */; };
  261 +/* End PBXBuildFile section */
  262 +
  263 +/* Begin PBXContainerItemProxy section */
  264 + D2029B9B1E6EAAA50027CD92 /* PBXContainerItemProxy */ = {
  265 + isa = PBXContainerItemProxy;
  266 + containerPortal = D2029B791E6EAAA50027CD92 /* Project object */;
  267 + proxyType = 1;
  268 + remoteGlobalIDString = D2029B801E6EAAA50027CD92;
  269 + remoteInfo = LiveVideoCloud;
  270 + };
  271 + D2029BA61E6EAAA50027CD92 /* PBXContainerItemProxy */ = {
  272 + isa = PBXContainerItemProxy;
  273 + containerPortal = D2029B791E6EAAA50027CD92 /* Project object */;
  274 + proxyType = 1;
  275 + remoteGlobalIDString = D2029B801E6EAAA50027CD92;
  276 + remoteInfo = LiveVideoCloud;
  277 + };
  278 +/* End PBXContainerItemProxy section */
  279 +
  280 +/* Begin PBXCopyFilesBuildPhase section */
  281 + 812E50591E7699E9004F5FCD /* Embed Frameworks */ = {
  282 + isa = PBXCopyFilesBuildPhase;
  283 + buildActionMask = 2147483647;
  284 + dstPath = "";
  285 + dstSubfolderSpec = 10;
  286 + files = (
  287 + 4BD8561A1EBAD4E30082061D /* CNLiveUserSystemSDK.framework in Embed Frameworks */,
  288 + 811BB6851E8106AF005C6291 /* CNLivePlayerSDK.framework in Embed Frameworks */,
  289 + D2994BA91E8F490400E8D2CC /* CNLiveChatManager.framework in Embed Frameworks */,
  290 + D2994BAB1E8F490700E8D2CC /* CNLiveMsgTools.framework in Embed Frameworks */,
  291 + );
  292 + name = "Embed Frameworks";
  293 + runOnlyForDeploymentPostprocessing = 0;
  294 + };
  295 +/* End PBXCopyFilesBuildPhase section */
  296 +
  297 +/* Begin PBXFileReference section */
  298 + 4B42A6C21EC00CC800DA09D7 /* UIAlertView+Blocks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIAlertView+Blocks.h"; sourceTree = "<group>"; };
  299 + 4B42A6C31EC00CC800DA09D7 /* UIAlertView+Blocks.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIAlertView+Blocks.m"; sourceTree = "<group>"; };
  300 + 4B42A6C51EC0171800DA09D7 /* PlayRecordCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlayRecordCell.h; sourceTree = "<group>"; };
  301 + 4B42A6C61EC0171800DA09D7 /* PlayRecordCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PlayRecordCell.m; sourceTree = "<group>"; };
  302 + 4B45CE441EB86A590079AFB7 /* BeingAnchorController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BeingAnchorController.h; sourceTree = "<group>"; };
  303 + 4B45CE451EB86A590079AFB7 /* BeingAnchorController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BeingAnchorController.m; sourceTree = "<group>"; };
  304 + 4B45CE461EB86A590079AFB7 /* IDViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDViewController.h; sourceTree = "<group>"; };
  305 + 4B45CE471EB86A590079AFB7 /* IDViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IDViewController.m; sourceTree = "<group>"; };
  306 + 4B45CE481EB86A590079AFB7 /* LVCMineViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCMineViewController.h; sourceTree = "<group>"; };
  307 + 4B45CE491EB86A590079AFB7 /* LVCMineViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCMineViewController.m; sourceTree = "<group>"; };
  308 + 4B45CE4A1EB86A590079AFB7 /* MineAboutUsController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MineAboutUsController.h; sourceTree = "<group>"; };
  309 + 4B45CE4B1EB86A590079AFB7 /* MineAboutUsController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MineAboutUsController.m; sourceTree = "<group>"; };
  310 + 4B45CE4C1EB86A590079AFB7 /* MineLiveController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MineLiveController.h; sourceTree = "<group>"; };
  311 + 4B45CE4D1EB86A590079AFB7 /* MineLiveController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MineLiveController.m; sourceTree = "<group>"; };
  312 + 4B45CE4E1EB86A590079AFB7 /* MinePersonalDataController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MinePersonalDataController.h; sourceTree = "<group>"; };
  313 + 4B45CE4F1EB86A590079AFB7 /* MinePersonalDataController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MinePersonalDataController.m; sourceTree = "<group>"; };
  314 + 4B45CE501EB86A590079AFB7 /* MineSettingViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MineSettingViewController.h; sourceTree = "<group>"; };
  315 + 4B45CE511EB86A590079AFB7 /* MineSettingViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MineSettingViewController.m; sourceTree = "<group>"; };
  316 + 4B45CE521EB86A590079AFB7 /* ModifyInfomationController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ModifyInfomationController.h; sourceTree = "<group>"; };
  317 + 4B45CE531EB86A590079AFB7 /* ModifyInfomationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ModifyInfomationController.m; sourceTree = "<group>"; };
  318 + 4B45CE571EB86A590079AFB7 /* LoginViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoginViewController.h; sourceTree = "<group>"; };
  319 + 4B45CE581EB86A590079AFB7 /* LoginViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LoginViewController.m; sourceTree = "<group>"; };
  320 + 4B45CE591EB86A590079AFB7 /* RegisterCommonController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegisterCommonController.h; sourceTree = "<group>"; };
  321 + 4B45CE5A1EB86A590079AFB7 /* RegisterCommonController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RegisterCommonController.m; sourceTree = "<group>"; };
  322 + 4B45CE5C1EB86A590079AFB7 /* idAndPwdView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = idAndPwdView.h; sourceTree = "<group>"; };
  323 + 4B45CE5D1EB86A590079AFB7 /* idAndPwdView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = idAndPwdView.m; sourceTree = "<group>"; };
  324 + 4B45CE5E1EB86A590079AFB7 /* RegistBasicInformationView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegistBasicInformationView.h; sourceTree = "<group>"; };
  325 + 4B45CE5F1EB86A590079AFB7 /* RegistBasicInformationView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RegistBasicInformationView.m; sourceTree = "<group>"; };
  326 + 4B45CE611EB86A590079AFB7 /* LVCMineCommonModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCMineCommonModel.h; sourceTree = "<group>"; };
  327 + 4B45CE621EB86A590079AFB7 /* LVCMineCommonModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCMineCommonModel.m; sourceTree = "<group>"; };
  328 + 4B45CE631EB86A590079AFB7 /* LVCMineModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCMineModel.h; sourceTree = "<group>"; };
  329 + 4B45CE641EB86A590079AFB7 /* LVCMineModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCMineModel.m; sourceTree = "<group>"; };
  330 + 4B45CE661EB86A590079AFB7 /* ModifyCommonView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ModifyCommonView.h; sourceTree = "<group>"; };
  331 + 4B45CE671EB86A590079AFB7 /* ModifyCommonView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ModifyCommonView.m; sourceTree = "<group>"; };
  332 + 4B45CE681EB86A590079AFB7 /* LVCClearCachesCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCClearCachesCell.h; sourceTree = "<group>"; };
  333 + 4B45CE691EB86A590079AFB7 /* LVCClearCachesCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCClearCachesCell.m; sourceTree = "<group>"; };
  334 + 4B45CE6A1EB86A590079AFB7 /* LVCLoginShowView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCLoginShowView.h; sourceTree = "<group>"; };
  335 + 4B45CE6B1EB86A590079AFB7 /* LVCLoginShowView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCLoginShowView.m; sourceTree = "<group>"; };
  336 + 4B45CE6C1EB86A590079AFB7 /* LVCMineCommonCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCMineCommonCell.h; sourceTree = "<group>"; };
  337 + 4B45CE6D1EB86A590079AFB7 /* LVCMineCommonCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCMineCommonCell.m; sourceTree = "<group>"; };
  338 + 4B45CE6E1EB86A590079AFB7 /* LVCMineShowCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCMineShowCell.h; sourceTree = "<group>"; };
  339 + 4B45CE6F1EB86A590079AFB7 /* LVCMineShowCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCMineShowCell.m; sourceTree = "<group>"; };
  340 + 4B45CE701EB86A590079AFB7 /* LVCPersonalImageCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCPersonalImageCell.h; sourceTree = "<group>"; };
  341 + 4B45CE711EB86A590079AFB7 /* LVCPersonalImageCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCPersonalImageCell.m; sourceTree = "<group>"; };
  342 + 4B45CE721EB86A590079AFB7 /* LVCPersonCommonCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCPersonCommonCell.h; sourceTree = "<group>"; };
  343 + 4B45CE731EB86A590079AFB7 /* LVCPersonCommonCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCPersonCommonCell.m; sourceTree = "<group>"; };
  344 + 4B45CE741EB86A590079AFB7 /* LVCTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCTextField.h; sourceTree = "<group>"; };
  345 + 4B45CE751EB86A590079AFB7 /* LVCTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCTextField.m; sourceTree = "<group>"; };
  346 + 4B45CE8D1EB86A760079AFB7 /* UIButton+createButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIButton+createButton.h"; sourceTree = "<group>"; };
  347 + 4B45CE8E1EB86A760079AFB7 /* UIButton+createButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIButton+createButton.m"; sourceTree = "<group>"; };
  348 + 4B45CE8F1EB86A760079AFB7 /* UILabel+createLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UILabel+createLabel.h"; sourceTree = "<group>"; };
  349 + 4B45CE901EB86A760079AFB7 /* UILabel+createLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UILabel+createLabel.m"; sourceTree = "<group>"; };
  350 + 4B45CE911EB86A760079AFB7 /* UITextField+createTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UITextField+createTextField.h"; sourceTree = "<group>"; };
  351 + 4B45CE921EB86A760079AFB7 /* UITextField+createTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UITextField+createTextField.m"; sourceTree = "<group>"; };
  352 + 4B45CE931EB86A760079AFB7 /* ZXLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZXLabel.h; sourceTree = "<group>"; };
  353 + 4B45CE941EB86A760079AFB7 /* ZXLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ZXLabel.m; sourceTree = "<group>"; };
  354 + 4B45CE951EB86A760079AFB7 /* ZXUIKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZXUIKit.h; sourceTree = "<group>"; };
  355 + 4B45CE961EB86A760079AFB7 /* ZXUIKit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ZXUIKit.m; sourceTree = "<group>"; };
  356 + 4B45CE9D1EB86B9E0079AFB7 /* CNLiveThirdLoginManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNLiveThirdLoginManager.h; sourceTree = "<group>"; };
  357 + 4B45CE9E1EB86B9E0079AFB7 /* CNLiveThirdLoginManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNLiveThirdLoginManager.m; sourceTree = "<group>"; };
  358 + 4B45CE9F1EB86B9E0079AFB7 /* NSNumber+ScaleHeight.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSNumber+ScaleHeight.h"; sourceTree = "<group>"; };
  359 + 4B45CEA01EB86B9E0079AFB7 /* NSNumber+ScaleHeight.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSNumber+ScaleHeight.m"; sourceTree = "<group>"; };
  360 + 4B45CEA11EB86B9E0079AFB7 /* NSObject+UserModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSObject+UserModel.h"; sourceTree = "<group>"; };
  361 + 4B45CEA21EB86B9F0079AFB7 /* NSObject+UserModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSObject+UserModel.m"; sourceTree = "<group>"; };
  362 + 4B45CEA31EB86B9F0079AFB7 /* UserTools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UserTools.h; sourceTree = "<group>"; };
  363 + 4B45CEA41EB86B9F0079AFB7 /* UserTools.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UserTools.m; sourceTree = "<group>"; };
  364 + 4B45CEA91EB86BFA0079AFB7 /* NSString+ZXExtension.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+ZXExtension.h"; sourceTree = "<group>"; };
  365 + 4B45CEAA1EB86BFA0079AFB7 /* NSString+ZXExtension.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+ZXExtension.m"; sourceTree = "<group>"; };
  366 + 4B45CEAC1EB873630079AFB7 /* UserInformationModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UserInformationModel.h; sourceTree = "<group>"; };
  367 + 4B45CEAD1EB873630079AFB7 /* UserInformationModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UserInformationModel.m; sourceTree = "<group>"; };
  368 + 4BD855CB1EBAC4B70082061D /* CNLiveKeychainWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNLiveKeychainWrapper.h; sourceTree = "<group>"; };
  369 + 4BD855CC1EBAC4B70082061D /* CNLiveKeychainWrapper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNLiveKeychainWrapper.m; sourceTree = "<group>"; };
  370 + 4BD855CE1EBAC57A0082061D /* Common.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Common.h; sourceTree = "<group>"; };
  371 + 4BD855CF1EBAC7220082061D /* DESUtility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DESUtility.h; sourceTree = "<group>"; };
  372 + 4BD855D01EBAC7220082061D /* DESUtility.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DESUtility.m; sourceTree = "<group>"; };
  373 + 4BD855D21EBAC8B20082061D /* CNLiveUserSystemSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CNLiveUserSystemSDK.framework; sourceTree = "<group>"; };
  374 + 4BD855D51EBACD530082061D /* AFHTTPRequestOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFHTTPRequestOperation.h; sourceTree = "<group>"; };
  375 + 4BD855D61EBACD530082061D /* AFHTTPRequestOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFHTTPRequestOperation.m; sourceTree = "<group>"; };
  376 + 4BD855D71EBACD530082061D /* AFHTTPRequestOperationManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFHTTPRequestOperationManager.h; sourceTree = "<group>"; };
  377 + 4BD855D81EBACD530082061D /* AFHTTPRequestOperationManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFHTTPRequestOperationManager.m; sourceTree = "<group>"; };
  378 + 4BD855D91EBACD530082061D /* AFHTTPSessionManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFHTTPSessionManager.h; sourceTree = "<group>"; };
  379 + 4BD855DA1EBACD530082061D /* AFHTTPSessionManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFHTTPSessionManager.m; sourceTree = "<group>"; };
  380 + 4BD855DB1EBACD530082061D /* AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFNetworking.h; sourceTree = "<group>"; };
  381 + 4BD855DC1EBACD530082061D /* AFNetworkReachabilityManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFNetworkReachabilityManager.h; sourceTree = "<group>"; };
  382 + 4BD855DD1EBACD530082061D /* AFNetworkReachabilityManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFNetworkReachabilityManager.m; sourceTree = "<group>"; };
  383 + 4BD855DE1EBACD530082061D /* AFSecurityPolicy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFSecurityPolicy.h; sourceTree = "<group>"; };
  384 + 4BD855DF1EBACD530082061D /* AFSecurityPolicy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFSecurityPolicy.m; sourceTree = "<group>"; };
  385 + 4BD855E01EBACD530082061D /* AFURLConnectionOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFURLConnectionOperation.h; sourceTree = "<group>"; };
  386 + 4BD855E11EBACD530082061D /* AFURLConnectionOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFURLConnectionOperation.m; sourceTree = "<group>"; };
  387 + 4BD855E21EBACD530082061D /* AFURLRequestSerialization.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFURLRequestSerialization.h; sourceTree = "<group>"; };
  388 + 4BD855E31EBACD530082061D /* AFURLRequestSerialization.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFURLRequestSerialization.m; sourceTree = "<group>"; };
  389 + 4BD855E41EBACD530082061D /* AFURLResponseSerialization.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFURLResponseSerialization.h; sourceTree = "<group>"; };
  390 + 4BD855E51EBACD530082061D /* AFURLResponseSerialization.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFURLResponseSerialization.m; sourceTree = "<group>"; };
  391 + 4BD855E61EBACD530082061D /* AFURLSessionManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFURLSessionManager.h; sourceTree = "<group>"; };
  392 + 4BD855E71EBACD530082061D /* AFURLSessionManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFURLSessionManager.m; sourceTree = "<group>"; };
  393 + 4BD855E91EBACD530082061D /* AFNetworkActivityIndicatorManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFNetworkActivityIndicatorManager.h; sourceTree = "<group>"; };
  394 + 4BD855EA1EBACD530082061D /* AFNetworkActivityIndicatorManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFNetworkActivityIndicatorManager.m; sourceTree = "<group>"; };
  395 + 4BD855EB1EBACD530082061D /* UIActivityIndicatorView+AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIActivityIndicatorView+AFNetworking.h"; sourceTree = "<group>"; };
  396 + 4BD855EC1EBACD530082061D /* UIActivityIndicatorView+AFNetworking.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIActivityIndicatorView+AFNetworking.m"; sourceTree = "<group>"; };
  397 + 4BD855ED1EBACD530082061D /* UIAlertView+AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIAlertView+AFNetworking.h"; sourceTree = "<group>"; };
  398 + 4BD855EE1EBACD530082061D /* UIAlertView+AFNetworking.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIAlertView+AFNetworking.m"; sourceTree = "<group>"; };
  399 + 4BD855EF1EBACD530082061D /* UIButton+AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIButton+AFNetworking.h"; sourceTree = "<group>"; };
  400 + 4BD855F01EBACD530082061D /* UIButton+AFNetworking.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIButton+AFNetworking.m"; sourceTree = "<group>"; };
  401 + 4BD855F11EBACD530082061D /* UIImageView+AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImageView+AFNetworking.h"; sourceTree = "<group>"; };
  402 + 4BD855F21EBACD530082061D /* UIImageView+AFNetworking.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImageView+AFNetworking.m"; sourceTree = "<group>"; };
  403 + 4BD855F31EBACD530082061D /* UIKit+AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIKit+AFNetworking.h"; sourceTree = "<group>"; };
  404 + 4BD855F41EBACD530082061D /* UIProgressView+AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIProgressView+AFNetworking.h"; sourceTree = "<group>"; };
  405 + 4BD855F51EBACD530082061D /* UIProgressView+AFNetworking.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIProgressView+AFNetworking.m"; sourceTree = "<group>"; };
  406 + 4BD855F61EBACD530082061D /* UIRefreshControl+AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIRefreshControl+AFNetworking.h"; sourceTree = "<group>"; };
  407 + 4BD855F71EBACD530082061D /* UIRefreshControl+AFNetworking.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIRefreshControl+AFNetworking.m"; sourceTree = "<group>"; };
  408 + 4BD855F81EBACD530082061D /* UIWebView+AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIWebView+AFNetworking.h"; sourceTree = "<group>"; };
  409 + 4BD855F91EBACD530082061D /* UIWebView+AFNetworking.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIWebView+AFNetworking.m"; sourceTree = "<group>"; };
  410 + 4BD8560B1EBACEF80082061D /* CNLiveWebView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CNLiveWebView.h; path = ../CNLiveWebView.h; sourceTree = "<group>"; };
  411 + 4BD8560C1EBACEF80082061D /* CNLiveWebView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CNLiveWebView.m; path = ../CNLiveWebView.m; sourceTree = "<group>"; };
  412 + 4BD8560E1EBACEF80082061D /* CNLiveMacro.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNLiveMacro.h; sourceTree = "<group>"; };
  413 + 4BD856101EBAD2640082061D /* ProgramModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProgramModel.h; sourceTree = "<group>"; };
  414 + 4BD856111EBAD2640082061D /* ProgramModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ProgramModel.m; sourceTree = "<group>"; };
  415 + 4BD856131EBAD31A0082061D /* NSString+UrlEncode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+UrlEncode.h"; sourceTree = "<group>"; };
  416 + 4BD856141EBAD31A0082061D /* NSString+UrlEncode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+UrlEncode.m"; sourceTree = "<group>"; };
  417 + 4BD856161EBAD35C0082061D /* NSDictionary+Safety.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDictionary+Safety.h"; sourceTree = "<group>"; };
  418 + 4BD856171EBAD35C0082061D /* NSDictionary+Safety.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDictionary+Safety.m"; sourceTree = "<group>"; };
  419 + 4BD8561B1EBAD6490082061D /* ZXConst.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ZXConst.h; path = Macros/ZXConst.h; sourceTree = "<group>"; };
  420 + 4BD8561C1EBAD6490082061D /* ZXConst.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ZXConst.m; path = Macros/ZXConst.m; sourceTree = "<group>"; };
  421 + 810B64DE1E779AE900133E15 /* LVCPlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCPlayer.h; sourceTree = "<group>"; };
  422 + 810B64DF1E779AE900133E15 /* LVCPlayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCPlayer.m; sourceTree = "<group>"; };
  423 + 810B64E11E779AFE00133E15 /* LVCLivePlayerController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCLivePlayerController.h; sourceTree = "<group>"; };
  424 + 810B64E21E779AFE00133E15 /* LVCLivePlayerController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCLivePlayerController.m; sourceTree = "<group>"; };
  425 + 810B64E51E779B1F00133E15 /* MASCompositeConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASCompositeConstraint.h; sourceTree = "<group>"; };
  426 + 810B64E61E779B1F00133E15 /* MASCompositeConstraint.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASCompositeConstraint.m; sourceTree = "<group>"; };
  427 + 810B64E71E779B1F00133E15 /* MASConstraint+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MASConstraint+Private.h"; sourceTree = "<group>"; };
  428 + 810B64E81E779B1F00133E15 /* MASConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASConstraint.h; sourceTree = "<group>"; };
  429 + 810B64E91E779B1F00133E15 /* MASConstraint.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASConstraint.m; sourceTree = "<group>"; };
  430 + 810B64EA1E779B1F00133E15 /* MASConstraintMaker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASConstraintMaker.h; sourceTree = "<group>"; };
  431 + 810B64EB1E779B1F00133E15 /* MASConstraintMaker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASConstraintMaker.m; sourceTree = "<group>"; };
  432 + 810B64EC1E779B1F00133E15 /* MASLayoutConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASLayoutConstraint.h; sourceTree = "<group>"; };
  433 + 810B64ED1E779B1F00133E15 /* MASLayoutConstraint.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASLayoutConstraint.m; sourceTree = "<group>"; };
  434 + 810B64EE1E779B1F00133E15 /* Masonry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Masonry.h; sourceTree = "<group>"; };
  435 + 810B64EF1E779B1F00133E15 /* MASUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASUtilities.h; sourceTree = "<group>"; };
  436 + 810B64F01E779B1F00133E15 /* MASViewAttribute.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASViewAttribute.h; sourceTree = "<group>"; };
  437 + 810B64F11E779B1F00133E15 /* MASViewAttribute.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASViewAttribute.m; sourceTree = "<group>"; };
  438 + 810B64F21E779B1F00133E15 /* MASViewConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MASViewConstraint.h; sourceTree = "<group>"; };
  439 + 810B64F31E779B1F00133E15 /* MASViewConstraint.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MASViewConstraint.m; sourceTree = "<group>"; };
  440 + 810B64F41E779B1F00133E15 /* NSArray+MASAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSArray+MASAdditions.h"; sourceTree = "<group>"; };
  441 + 810B64F51E779B1F00133E15 /* NSArray+MASAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSArray+MASAdditions.m"; sourceTree = "<group>"; };
  442 + 810B64F61E779B1F00133E15 /* NSArray+MASShorthandAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSArray+MASShorthandAdditions.h"; sourceTree = "<group>"; };
  443 + 810B64F71E779B1F00133E15 /* NSLayoutConstraint+MASDebugAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSLayoutConstraint+MASDebugAdditions.h"; sourceTree = "<group>"; };
  444 + 810B64F81E779B1F00133E15 /* NSLayoutConstraint+MASDebugAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSLayoutConstraint+MASDebugAdditions.m"; sourceTree = "<group>"; };
  445 + 810B64F91E779B1F00133E15 /* View+MASAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "View+MASAdditions.h"; sourceTree = "<group>"; };
  446 + 810B64FA1E779B1F00133E15 /* View+MASAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "View+MASAdditions.m"; sourceTree = "<group>"; };
  447 + 810B64FB1E779B1F00133E15 /* View+MASShorthandAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "View+MASShorthandAdditions.h"; sourceTree = "<group>"; };
  448 + 810B64FC1E779B1F00133E15 /* ViewController+MASAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ViewController+MASAdditions.h"; sourceTree = "<group>"; };
  449 + 810B64FD1E779B1F00133E15 /* ViewController+MASAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ViewController+MASAdditions.m"; sourceTree = "<group>"; };
  450 + 810B65081E77B39D00133E15 /* LVCFullScreenPlayerController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCFullScreenPlayerController.h; sourceTree = "<group>"; };
  451 + 810B65091E77B39D00133E15 /* LVCFullScreenPlayerController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCFullScreenPlayerController.m; sourceTree = "<group>"; };
  452 + 8112D42F1E7927A5002E00F6 /* LVCPlayerLoadingView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCPlayerLoadingView.h; sourceTree = "<group>"; };
  453 + 8112D4301E7927A5002E00F6 /* LVCPlayerLoadingView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCPlayerLoadingView.m; sourceTree = "<group>"; };
  454 + 811BB67C1E80F858005C6291 /* LVCChatView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCChatView.h; sourceTree = "<group>"; };
  455 + 811BB67D1E80F858005C6291 /* LVCChatView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCChatView.m; sourceTree = "<group>"; };
  456 + 811BB6821E8106A2005C6291 /* CNLivePlayerSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CNLivePlayerSDK.framework; sourceTree = "<group>"; };
  457 + 811BB6861E8107B4005C6291 /* LVCChatViewTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCChatViewTableViewCell.h; sourceTree = "<group>"; };
  458 + 811BB6871E8107B4005C6291 /* LVCChatViewTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCChatViewTableViewCell.m; sourceTree = "<group>"; };
  459 + 811BB68C1E8116C8005C6291 /* NSString+StringSize.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+StringSize.h"; sourceTree = "<group>"; };
  460 + 811BB68D1E8116C8005C6291 /* NSString+StringSize.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+StringSize.m"; sourceTree = "<group>"; };
  461 + 8128E2841E8A6A3600B40E75 /* CNBarrageManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNBarrageManager.h; sourceTree = "<group>"; };
  462 + 8128E2851E8A6A3600B40E75 /* CNBarrageManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNBarrageManager.m; sourceTree = "<group>"; };
  463 + 8128E2861E8A6A3600B40E75 /* CNBarrageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNBarrageView.h; sourceTree = "<group>"; };
  464 + 8128E2871E8A6A3600B40E75 /* CNBarrageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNBarrageView.m; sourceTree = "<group>"; };
  465 + 8130911C1E84C0F0005F0BFF /* LVCMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCMessage.h; sourceTree = "<group>"; };
  466 + 8130911D1E84C0F0005F0BFF /* LVCMessage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCMessage.m; sourceTree = "<group>"; };
  467 + 81A1B9A71E8277410079FF5F /* LVCInputView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCInputView.h; sourceTree = "<group>"; };
  468 + 81A1B9A81E8277410079FF5F /* LVCInputView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCInputView.m; sourceTree = "<group>"; };
  469 + 81A482F31E88ACC80097A80A /* LVCTelevisionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LVCTelevisionView.h; path = LiveVideoCloud/Classes/Sections/homeSections/View/LVCTelevisionView.h; sourceTree = SOURCE_ROOT; };
  470 + 81A482F41E88ACC80097A80A /* LVCTelevisionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LVCTelevisionView.m; path = LiveVideoCloud/Classes/Sections/homeSections/View/LVCTelevisionView.m; sourceTree = SOURCE_ROOT; };
  471 + 81A482F61E88AFA20097A80A /* LVCFirstHeaderReusableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCFirstHeaderReusableView.h; sourceTree = "<group>"; };
  472 + 81A482F71E88AFA20097A80A /* LVCFirstHeaderReusableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCFirstHeaderReusableView.m; sourceTree = "<group>"; };
  473 + 81A482FF1E88B0130097A80A /* LVCChatRoomModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCChatRoomModel.h; sourceTree = "<group>"; };
  474 + 81A483001E88B0130097A80A /* LVCChatRoomModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCChatRoomModel.m; sourceTree = "<group>"; };
  475 + 81A483031E88B32C0097A80A /* LVCHeaderRollCollectionViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCHeaderRollCollectionViewCell.h; sourceTree = "<group>"; };
  476 + 81A483041E88B32C0097A80A /* LVCHeaderRollCollectionViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCHeaderRollCollectionViewCell.m; sourceTree = "<group>"; };
  477 + 81A483061E88B6140097A80A /* UIView+ViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+ViewController.h"; sourceTree = "<group>"; };
  478 + 81A483071E88B6140097A80A /* UIView+ViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+ViewController.m"; sourceTree = "<group>"; };
  479 + 81A483091E88B7EE0097A80A /* LVCOtherHeaderReusableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCOtherHeaderReusableView.h; sourceTree = "<group>"; };
  480 + 81A4830A1E88B7EE0097A80A /* LVCOtherHeaderReusableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCOtherHeaderReusableView.m; sourceTree = "<group>"; };
  481 + 81A4830C1E88B8300097A80A /* LVCChannelsModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCChannelsModel.h; sourceTree = "<group>"; };
  482 + 81A4830D1E88B8300097A80A /* LVCChannelsModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCChannelsModel.m; sourceTree = "<group>"; };
  483 + 81A4830F1E88B8630097A80A /* LVCChannelDetailsModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCChannelDetailsModel.h; sourceTree = "<group>"; };
  484 + 81A483101E88B8630097A80A /* LVCChannelDetailsModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCChannelDetailsModel.m; sourceTree = "<group>"; };
  485 + 81A483121E88BA420097A80A /* LVCLiveListCollectionViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCLiveListCollectionViewCell.h; sourceTree = "<group>"; };
  486 + 81A483131E88BA420097A80A /* LVCLiveListCollectionViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCLiveListCollectionViewCell.m; sourceTree = "<group>"; };
  487 + 81A483151E88BED00097A80A /* LVCTVLiveViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCTVLiveViewController.h; sourceTree = "<group>"; };
  488 + 81A483161E88BED00097A80A /* LVCTVLiveViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCTVLiveViewController.m; sourceTree = "<group>"; };
  489 + 81A483181E88E19C0097A80A /* LVCMoreProgramViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCMoreProgramViewController.h; sourceTree = "<group>"; };
  490 + 81A483191E88E19C0097A80A /* LVCMoreProgramViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCMoreProgramViewController.m; sourceTree = "<group>"; };
  491 + 81A4831B1E88E1EB0097A80A /* LVCMoreSortTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCMoreSortTableViewCell.h; sourceTree = "<group>"; };
  492 + 81A4831C1E88E1EB0097A80A /* LVCMoreSortTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCMoreSortTableViewCell.m; sourceTree = "<group>"; };
  493 + 81A4831E1E88F4BF0097A80A /* LVCProgramModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCProgramModel.h; sourceTree = "<group>"; };
  494 + 81A4831F1E88F4BF0097A80A /* LVCProgramModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCProgramModel.m; sourceTree = "<group>"; };
  495 + 81CE9E191E8CF567000F8F6B /* LVCRequestFailedView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCRequestFailedView.h; sourceTree = "<group>"; };
  496 + 81CE9E1A1E8CF567000F8F6B /* LVCRequestFailedView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCRequestFailedView.m; sourceTree = "<group>"; };
  497 + 81F1C8361E8BBDDA0085C2B8 /* MHPagingScrollView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MHPagingScrollView.h; sourceTree = "<group>"; };
  498 + 81F1C8371E8BBDDA0085C2B8 /* MHPagingScrollView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MHPagingScrollView.m; sourceTree = "<group>"; };
  499 + 81F1C83A1E8BBDE40085C2B8 /* V8HorizontalPickerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = V8HorizontalPickerView.h; sourceTree = "<group>"; };
  500 + 81F1C83B1E8BBDE40085C2B8 /* V8HorizontalPickerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = V8HorizontalPickerView.m; sourceTree = "<group>"; };
  501 + 81F1C83C1E8BBDE40085C2B8 /* V8HorizontalPickerViewProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = V8HorizontalPickerViewProtocol.h; sourceTree = "<group>"; };
  502 + 81F1C83E1E8BC5CC0085C2B8 /* NSArray+Safety.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSArray+Safety.h"; sourceTree = "<group>"; };
  503 + 81F1C83F1E8BC5CC0085C2B8 /* NSArray+Safety.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSArray+Safety.m"; sourceTree = "<group>"; };
  504 + 81FB5B3A1E7A6FFC00F98E1D /* SevenSwitch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SevenSwitch.h; sourceTree = "<group>"; };
  505 + 81FB5B3B1E7A6FFC00F98E1D /* SevenSwitch.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SevenSwitch.m; sourceTree = "<group>"; };
  506 + D2029B811E6EAAA50027CD92 /* LiveVideoCloud.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LiveVideoCloud.app; sourceTree = BUILT_PRODUCTS_DIR; };
  507 + D2029B851E6EAAA50027CD92 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
  508 + D2029B901E6EAAA50027CD92 /* animation.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = animation.xcassets; sourceTree = "<group>"; };
  509 + D2029B931E6EAAA50027CD92 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
  510 + D2029B951E6EAAA50027CD92 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
  511 + D2029B9A1E6EAAA50027CD92 /* LiveVideoCloudTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LiveVideoCloudTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
  512 + D2029B9E1E6EAAA50027CD92 /* LiveVideoCloudTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LiveVideoCloudTests.m; sourceTree = "<group>"; };
  513 + D2029BA01E6EAAA50027CD92 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
  514 + D2029BA51E6EAAA50027CD92 /* LiveVideoCloudUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LiveVideoCloudUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
  515 + D2029BA91E6EAAA50027CD92 /* LiveVideoCloudUITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LiveVideoCloudUITests.m; sourceTree = "<group>"; };
  516 + D2029BAB1E6EAAA50027CD92 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
  517 + D2029BBD1E6EADD70027CD92 /* BaseModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseModel.h; sourceTree = "<group>"; };
  518 + D2029BBE1E6EADD70027CD92 /* BaseModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BaseModel.m; sourceTree = "<group>"; };
  519 + D2029BBF1E6EADD70027CD92 /* BaseTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseTableViewCell.h; sourceTree = "<group>"; };
  520 + D2029BC01E6EADD70027CD92 /* BaseTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BaseTableViewCell.m; sourceTree = "<group>"; };
  521 + D2029BC11E6EADD70027CD92 /* BaseView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseView.h; sourceTree = "<group>"; };
  522 + D2029BC21E6EADD70027CD92 /* BaseView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BaseView.m; sourceTree = "<group>"; };
  523 + D2029BC31E6EADD70027CD92 /* BaseViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseViewController.h; sourceTree = "<group>"; };
  524 + D2029BC41E6EADD70027CD92 /* BaseViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BaseViewController.m; sourceTree = "<group>"; };
  525 + D2029BC61E6EADD70027CD92 /* ZXNavigationController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZXNavigationController.h; sourceTree = "<group>"; };
  526 + D2029BC71E6EADD70027CD92 /* ZXNavigationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ZXNavigationController.m; sourceTree = "<group>"; };
  527 + D2029BC81E6EADD70027CD92 /* ZXTabBarController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZXTabBarController.h; sourceTree = "<group>"; };
  528 + D2029BC91E6EADD70027CD92 /* ZXTabBarController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ZXTabBarController.m; sourceTree = "<group>"; };
  529 + D2029BD21E6EADE10027CD92 /* Tools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Tools.h; sourceTree = "<group>"; };
  530 + D2029BD31E6EADE10027CD92 /* Tools.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Tools.m; sourceTree = "<group>"; };
  531 + D2029BF91E6EADE10027CD92 /* MBProgressHUD.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MBProgressHUD.h; sourceTree = "<group>"; };
  532 + D2029BFA1E6EADE10027CD92 /* MBProgressHUD.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MBProgressHUD.m; sourceTree = "<group>"; };
  533 + D2029BFC1E6EADE10027CD92 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
  534 + D2029BFD1E6EADE10027CD92 /* MJExtension.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJExtension.h; sourceTree = "<group>"; };
  535 + D2029BFE1E6EADE10027CD92 /* MJExtensionConst.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJExtensionConst.h; sourceTree = "<group>"; };
  536 + D2029BFF1E6EADE10027CD92 /* MJExtensionConst.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MJExtensionConst.m; sourceTree = "<group>"; };
  537 + D2029C001E6EADE10027CD92 /* MJFoundation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJFoundation.h; sourceTree = "<group>"; };
  538 + D2029C011E6EADE10027CD92 /* MJFoundation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MJFoundation.m; sourceTree = "<group>"; };
  539 + D2029C021E6EADE10027CD92 /* MJProperty.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJProperty.h; sourceTree = "<group>"; };
  540 + D2029C031E6EADE10027CD92 /* MJProperty.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MJProperty.m; sourceTree = "<group>"; };
  541 + D2029C041E6EADE10027CD92 /* MJPropertyKey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJPropertyKey.h; sourceTree = "<group>"; };
  542 + D2029C051E6EADE10027CD92 /* MJPropertyKey.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MJPropertyKey.m; sourceTree = "<group>"; };
  543 + D2029C061E6EADE10027CD92 /* MJPropertyType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJPropertyType.h; sourceTree = "<group>"; };
  544 + D2029C071E6EADE10027CD92 /* MJPropertyType.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MJPropertyType.m; sourceTree = "<group>"; };
  545 + D2029C081E6EADE10027CD92 /* NSObject+MJClass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSObject+MJClass.h"; sourceTree = "<group>"; };
  546 + D2029C091E6EADE10027CD92 /* NSObject+MJClass.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSObject+MJClass.m"; sourceTree = "<group>"; };
  547 + D2029C0A1E6EADE10027CD92 /* NSObject+MJCoding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSObject+MJCoding.h"; sourceTree = "<group>"; };
  548 + D2029C0B1E6EADE10027CD92 /* NSObject+MJCoding.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSObject+MJCoding.m"; sourceTree = "<group>"; };
  549 + D2029C0C1E6EADE10027CD92 /* NSObject+MJKeyValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSObject+MJKeyValue.h"; sourceTree = "<group>"; };
  550 + D2029C0D1E6EADE10027CD92 /* NSObject+MJKeyValue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSObject+MJKeyValue.m"; sourceTree = "<group>"; };
  551 + D2029C0E1E6EADE10027CD92 /* NSObject+MJProperty.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSObject+MJProperty.h"; sourceTree = "<group>"; };
  552 + D2029C0F1E6EADE10027CD92 /* NSObject+MJProperty.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSObject+MJProperty.m"; sourceTree = "<group>"; };
  553 + D2029C101E6EADE10027CD92 /* NSString+MJExtension.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+MJExtension.h"; sourceTree = "<group>"; };
  554 + D2029C111E6EADE10027CD92 /* NSString+MJExtension.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+MJExtension.m"; sourceTree = "<group>"; };
  555 + D2029C141E6EADE10027CD92 /* MJRefreshAutoFooter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJRefreshAutoFooter.h; sourceTree = "<group>"; };
  556 + D2029C151E6EADE10027CD92 /* MJRefreshAutoFooter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MJRefreshAutoFooter.m; sourceTree = "<group>"; };
  557 + D2029C161E6EADE10027CD92 /* MJRefreshBackFooter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJRefreshBackFooter.h; sourceTree = "<group>"; };
  558 + D2029C171E6EADE10027CD92 /* MJRefreshBackFooter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MJRefreshBackFooter.m; sourceTree = "<group>"; };
  559 + D2029C181E6EADE10027CD92 /* MJRefreshComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJRefreshComponent.h; sourceTree = "<group>"; };
  560 + D2029C191E6EADE10027CD92 /* MJRefreshComponent.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MJRefreshComponent.m; sourceTree = "<group>"; };
  561 + D2029C1A1E6EADE10027CD92 /* MJRefreshFooter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJRefreshFooter.h; sourceTree = "<group>"; };
  562 + D2029C1B1E6EADE10027CD92 /* MJRefreshFooter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MJRefreshFooter.m; sourceTree = "<group>"; };
  563 + D2029C1C1E6EADE10027CD92 /* MJRefreshHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJRefreshHeader.h; sourceTree = "<group>"; };
  564 + D2029C1D1E6EADE10027CD92 /* MJRefreshHeader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MJRefreshHeader.m; sourceTree = "<group>"; };
  565 + D2029C211E6EADE10027CD92 /* MJRefreshAutoGifFooter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJRefreshAutoGifFooter.h; sourceTree = "<group>"; };
  566 + D2029C221E6EADE10027CD92 /* MJRefreshAutoGifFooter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MJRefreshAutoGifFooter.m; sourceTree = "<group>"; };
  567 + D2029C231E6EADE10027CD92 /* MJRefreshAutoNormalFooter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJRefreshAutoNormalFooter.h; sourceTree = "<group>"; };
  568 + D2029C241E6EADE10027CD92 /* MJRefreshAutoNormalFooter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MJRefreshAutoNormalFooter.m; sourceTree = "<group>"; };
  569 + D2029C251E6EADE10027CD92 /* MJRefreshAutoStateFooter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJRefreshAutoStateFooter.h; sourceTree = "<group>"; };
  570 + D2029C261E6EADE10027CD92 /* MJRefreshAutoStateFooter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MJRefreshAutoStateFooter.m; sourceTree = "<group>"; };
  571 + D2029C281E6EADE10027CD92 /* MJRefreshBackGifFooter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJRefreshBackGifFooter.h; sourceTree = "<group>"; };
  572 + D2029C291E6EADE10027CD92 /* MJRefreshBackGifFooter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MJRefreshBackGifFooter.m; sourceTree = "<group>"; };
  573 + D2029C2A1E6EADE10027CD92 /* MJRefreshBackNormalFooter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJRefreshBackNormalFooter.h; sourceTree = "<group>"; };
  574 + D2029C2B1E6EADE10027CD92 /* MJRefreshBackNormalFooter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MJRefreshBackNormalFooter.m; sourceTree = "<group>"; };
  575 + D2029C2C1E6EADE10027CD92 /* MJRefreshBackStateFooter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJRefreshBackStateFooter.h; sourceTree = "<group>"; };
  576 + D2029C2D1E6EADE10027CD92 /* MJRefreshBackStateFooter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MJRefreshBackStateFooter.m; sourceTree = "<group>"; };
  577 + D2029C2F1E6EADE10027CD92 /* MJRefreshGifHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJRefreshGifHeader.h; sourceTree = "<group>"; };
  578 + D2029C301E6EADE10027CD92 /* MJRefreshGifHeader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MJRefreshGifHeader.m; sourceTree = "<group>"; };
  579 + D2029C311E6EADE10027CD92 /* MJRefreshNormalHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJRefreshNormalHeader.h; sourceTree = "<group>"; };
  580 + D2029C321E6EADE10027CD92 /* MJRefreshNormalHeader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MJRefreshNormalHeader.m; sourceTree = "<group>"; };
  581 + D2029C331E6EADE10027CD92 /* MJRefreshStateHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJRefreshStateHeader.h; sourceTree = "<group>"; };
  582 + D2029C341E6EADE10027CD92 /* MJRefreshStateHeader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MJRefreshStateHeader.m; sourceTree = "<group>"; };
  583 + D2029C351E6EADE10027CD92 /* MJRefresh.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = MJRefresh.bundle; sourceTree = "<group>"; };
  584 + D2029C361E6EADE10027CD92 /* MJRefresh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJRefresh.h; sourceTree = "<group>"; };
  585 + D2029C371E6EADE10027CD92 /* MJRefreshConst.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJRefreshConst.h; sourceTree = "<group>"; };
  586 + D2029C381E6EADE10027CD92 /* MJRefreshConst.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MJRefreshConst.m; sourceTree = "<group>"; };
  587 + D2029C391E6EADE10027CD92 /* UIScrollView+MJExtension.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIScrollView+MJExtension.h"; sourceTree = "<group>"; };
  588 + D2029C3A1E6EADE10027CD92 /* UIScrollView+MJExtension.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIScrollView+MJExtension.m"; sourceTree = "<group>"; };
  589 + D2029C3B1E6EADE10027CD92 /* UIScrollView+MJRefresh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIScrollView+MJRefresh.h"; sourceTree = "<group>"; };
  590 + D2029C3C1E6EADE10027CD92 /* UIScrollView+MJRefresh.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIScrollView+MJRefresh.m"; sourceTree = "<group>"; };
  591 + D2029C3D1E6EADE10027CD92 /* UIView+MJExtension.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+MJExtension.h"; sourceTree = "<group>"; };
  592 + D2029C3E1E6EADE10027CD92 /* UIView+MJExtension.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+MJExtension.m"; sourceTree = "<group>"; };
  593 + D2029C411E6EADE10027CD92 /* SDiOSVersion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDiOSVersion.h; sourceTree = "<group>"; };
  594 + D2029C421E6EADE10027CD92 /* SDiOSVersion.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDiOSVersion.m; sourceTree = "<group>"; };
  595 + D2029C431E6EADE10027CD92 /* SDVersion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDVersion.h; sourceTree = "<group>"; };
  596 + D2029C451E6EADE10027CD92 /* MKAnnotationView+WebCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MKAnnotationView+WebCache.h"; sourceTree = "<group>"; };
  597 + D2029C461E6EADE10027CD92 /* MKAnnotationView+WebCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MKAnnotationView+WebCache.m"; sourceTree = "<group>"; };
  598 + D2029C471E6EADE10027CD92 /* NSData+ImageContentType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSData+ImageContentType.h"; sourceTree = "<group>"; };
  599 + D2029C481E6EADE10027CD92 /* NSData+ImageContentType.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSData+ImageContentType.m"; sourceTree = "<group>"; };
  600 + D2029C491E6EADE10027CD92 /* SDImageCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDImageCache.h; sourceTree = "<group>"; };
  601 + D2029C4A1E6EADE10027CD92 /* SDImageCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDImageCache.m; sourceTree = "<group>"; };
  602 + D2029C4B1E6EADE10027CD92 /* SDWebImageCompat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDWebImageCompat.h; sourceTree = "<group>"; };
  603 + D2029C4C1E6EADE10027CD92 /* SDWebImageCompat.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDWebImageCompat.m; sourceTree = "<group>"; };
  604 + D2029C4D1E6EADE10027CD92 /* SDWebImageDecoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDWebImageDecoder.h; sourceTree = "<group>"; };
  605 + D2029C4E1E6EADE10027CD92 /* SDWebImageDecoder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDWebImageDecoder.m; sourceTree = "<group>"; };
  606 + D2029C4F1E6EADE10027CD92 /* SDWebImageDownloader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDWebImageDownloader.h; sourceTree = "<group>"; };
  607 + D2029C501E6EADE10027CD92 /* SDWebImageDownloader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDWebImageDownloader.m; sourceTree = "<group>"; };
  608 + D2029C511E6EADE10027CD92 /* SDWebImageDownloaderOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDWebImageDownloaderOperation.h; sourceTree = "<group>"; };
  609 + D2029C521E6EADE10027CD92 /* SDWebImageDownloaderOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDWebImageDownloaderOperation.m; sourceTree = "<group>"; };
  610 + D2029C531E6EADE10027CD92 /* SDWebImageManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDWebImageManager.h; sourceTree = "<group>"; };
  611 + D2029C541E6EADE10027CD92 /* SDWebImageManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDWebImageManager.m; sourceTree = "<group>"; };
  612 + D2029C551E6EADE10027CD92 /* SDWebImageOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDWebImageOperation.h; sourceTree = "<group>"; };
  613 + D2029C561E6EADE10027CD92 /* SDWebImagePrefetcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDWebImagePrefetcher.h; sourceTree = "<group>"; };
  614 + D2029C571E6EADE10027CD92 /* SDWebImagePrefetcher.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDWebImagePrefetcher.m; sourceTree = "<group>"; };
  615 + D2029C581E6EADE10027CD92 /* UIButton+WebCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIButton+WebCache.h"; sourceTree = "<group>"; };
  616 + D2029C591E6EADE10027CD92 /* UIButton+WebCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIButton+WebCache.m"; sourceTree = "<group>"; };
  617 + D2029C5A1E6EADE10027CD92 /* UIImage+GIF.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+GIF.h"; sourceTree = "<group>"; };
  618 + D2029C5B1E6EADE10027CD92 /* UIImage+GIF.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImage+GIF.m"; sourceTree = "<group>"; };
  619 + D2029C5C1E6EADE10027CD92 /* UIImage+MultiFormat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+MultiFormat.h"; sourceTree = "<group>"; };
  620 + D2029C5D1E6EADE10027CD92 /* UIImage+MultiFormat.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImage+MultiFormat.m"; sourceTree = "<group>"; };
  621 + D2029C5E1E6EADE10027CD92 /* UIImage+WebP.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+WebP.h"; sourceTree = "<group>"; };
  622 + D2029C5F1E6EADE10027CD92 /* UIImage+WebP.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImage+WebP.m"; sourceTree = "<group>"; };
  623 + D2029C601E6EADE10027CD92 /* UIImageView+HighlightedWebCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImageView+HighlightedWebCache.h"; sourceTree = "<group>"; };
  624 + D2029C611E6EADE10027CD92 /* UIImageView+HighlightedWebCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImageView+HighlightedWebCache.m"; sourceTree = "<group>"; };
  625 + D2029C621E6EADE10027CD92 /* UIImageView+WebCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImageView+WebCache.h"; sourceTree = "<group>"; };
  626 + D2029C631E6EADE10027CD92 /* UIImageView+WebCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImageView+WebCache.m"; sourceTree = "<group>"; };
  627 + D2029C641E6EADE10027CD92 /* UIView+WebCacheOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+WebCacheOperation.h"; sourceTree = "<group>"; };
  628 + D2029C651E6EADE10027CD92 /* UIView+WebCacheOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+WebCacheOperation.m"; sourceTree = "<group>"; };
  629 + D2029C671E6EADE10027CD92 /* SSKeychain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SSKeychain.h; sourceTree = "<group>"; };
  630 + D2029C681E6EADE10027CD92 /* SSKeychain.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SSKeychain.m; sourceTree = "<group>"; };
  631 + D2029C6A1E6EADE10027CD92 /* SVIndefiniteAnimatedView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVIndefiniteAnimatedView.h; sourceTree = "<group>"; };
  632 + D2029C6B1E6EADE10027CD92 /* SVIndefiniteAnimatedView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SVIndefiniteAnimatedView.m; sourceTree = "<group>"; };
  633 + D2029C6C1E6EADE10027CD92 /* SVProgressAnimatedView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVProgressAnimatedView.h; sourceTree = "<group>"; };
  634 + D2029C6D1E6EADE10027CD92 /* SVProgressAnimatedView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SVProgressAnimatedView.m; sourceTree = "<group>"; };
  635 + D2029C6E1E6EADE10027CD92 /* SVProgressHUD-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "SVProgressHUD-Prefix.pch"; sourceTree = "<group>"; };
  636 + D2029C6F1E6EADE10027CD92 /* SVProgressHUD.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = SVProgressHUD.bundle; sourceTree = "<group>"; };
  637 + D2029C701E6EADE10027CD92 /* SVProgressHUD.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVProgressHUD.h; sourceTree = "<group>"; };
  638 + D2029C711E6EADE10027CD92 /* SVProgressHUD.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SVProgressHUD.m; sourceTree = "<group>"; };
  639 + D2029C721E6EADE10027CD92 /* SVRadialGradientLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVRadialGradientLayer.h; sourceTree = "<group>"; };
  640 + D2029C731E6EADE10027CD92 /* SVRadialGradientLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SVRadialGradientLayer.m; sourceTree = "<group>"; };
  641 + D2029C7B1E6EADE10027CD92 /* SearchModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SearchModel.h; sourceTree = "<group>"; };
  642 + D2029C7C1E6EADE10027CD92 /* SearchModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SearchModel.m; sourceTree = "<group>"; };
  643 + D2029C7D1E6EADE10027CD92 /* SearchRecomListModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SearchRecomListModel.h; sourceTree = "<group>"; };
  644 + D2029C7E1E6EADE10027CD92 /* SearchRecomListModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SearchRecomListModel.m; sourceTree = "<group>"; };
  645 + D2029C801E6EADE10027CD92 /* HomeProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HomeProtocol.h; sourceTree = "<group>"; };
  646 + D2029C811E6EADE10027CD92 /* SearchHttp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SearchHttp.h; sourceTree = "<group>"; };
  647 + D2029C821E6EADE10027CD92 /* SearchHttp.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SearchHttp.m; sourceTree = "<group>"; };
  648 + D2029C831E6EADE10027CD92 /* SearchPresenter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SearchPresenter.h; sourceTree = "<group>"; };
  649 + D2029C841E6EADE10027CD92 /* SearchPresenter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SearchPresenter.m; sourceTree = "<group>"; };
  650 + D2029CD21E6EADE70027CD92 /* HttpService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HttpService.h; sourceTree = "<group>"; };
  651 + D2029CD31E6EADE70027CD92 /* HttpService.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HttpService.m; sourceTree = "<group>"; };
  652 + D2029CD61E6EADFB0027CD92 /* PrefixHeader.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PrefixHeader.pch; sourceTree = "<group>"; };
  653 + D2029CDE1E6EAE2E0027CD92 /* NSNumber+ScaleHeight.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSNumber+ScaleHeight.h"; sourceTree = "<group>"; };
  654 + D2029CDF1E6EAE2E0027CD92 /* NSNumber+ScaleHeight.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSNumber+ScaleHeight.m"; sourceTree = "<group>"; };
  655 + D2029CE01E6EAE2E0027CD92 /* UIColor+HexString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIColor+HexString.h"; sourceTree = "<group>"; };
  656 + D2029CE11E6EAE2E0027CD92 /* UIColor+HexString.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIColor+HexString.m"; sourceTree = "<group>"; };
  657 + D2029CE21E6EAE2E0027CD92 /* UIImage+ScaleImageSize.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+ScaleImageSize.h"; sourceTree = "<group>"; };
  658 + D2029CE31E6EAE2E0027CD92 /* UIImage+ScaleImageSize.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImage+ScaleImageSize.m"; sourceTree = "<group>"; };
  659 + D2029CE41E6EAE2E0027CD92 /* UIImage+ZXExtension.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+ZXExtension.h"; sourceTree = "<group>"; };
  660 + D2029CE51E6EAE2E0027CD92 /* UIImage+ZXExtension.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImage+ZXExtension.m"; sourceTree = "<group>"; };
  661 + D2029CE61E6EAE2E0027CD92 /* UILabel+ContentSize.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UILabel+ContentSize.h"; sourceTree = "<group>"; };
  662 + D2029CE71E6EAE2E0027CD92 /* UILabel+ContentSize.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UILabel+ContentSize.m"; sourceTree = "<group>"; };
  663 + D2029CE81E6EAE2E0027CD92 /* UILabel+labelFitSize.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UILabel+labelFitSize.h"; sourceTree = "<group>"; };
  664 + D2029CE91E6EAE2E0027CD92 /* UILabel+labelFitSize.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UILabel+labelFitSize.m"; sourceTree = "<group>"; };
  665 + D2029CEA1E6EAE2E0027CD92 /* UIView+Extension.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+Extension.h"; sourceTree = "<group>"; };
  666 + D2029CEB1E6EAE2E0027CD92 /* UIView+Extension.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+Extension.m"; sourceTree = "<group>"; };
  667 + D2029CF01E6EAE2E0027CD92 /* ZXDeviceInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZXDeviceInfo.h; sourceTree = "<group>"; };
  668 + D2029CF11E6EAE2E0027CD92 /* ZXDeviceInfo.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ZXDeviceInfo.m; sourceTree = "<group>"; };
  669 + D2029CF21E6EAE2E0027CD92 /* Foundation+Log.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "Foundation+Log.m"; sourceTree = "<group>"; };
  670 + D2029CF51E6EAE2E0027CD92 /* AppMacro.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppMacro.h; sourceTree = "<group>"; };
  671 + D2029CF61E6EAE2E0027CD92 /* EnumMacro.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EnumMacro.h; sourceTree = "<group>"; };
  672 + D2029CF71E6EAE2E0027CD92 /* NotificationMacro.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NotificationMacro.h; sourceTree = "<group>"; };
  673 + D2029CF81E6EAE2E0027CD92 /* UserDefaultKeyMacro.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UserDefaultKeyMacro.h; sourceTree = "<group>"; };
  674 + D2029CF91E6EAE2E0027CD92 /* UtilsMacro.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UtilsMacro.h; sourceTree = "<group>"; };
  675 + D2029CFA1E6EAE2E0027CD92 /* VenderMacro.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VenderMacro.h; sourceTree = "<group>"; };
  676 + D2029CFB1E6EAE2E0027CD92 /* Macros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Macros.h; sourceTree = "<group>"; };
  677 + D2029CFD1E6EAE2E0027CD92 /* ZXServerUrl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZXServerUrl.h; sourceTree = "<group>"; };
  678 + D2029CFE1E6EAE2E0027CD92 /* ZXServerUrl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ZXServerUrl.m; sourceTree = "<group>"; };
  679 + D2029CFF1E6EAE2E0027CD92 /* UtilKits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UtilKits.h; sourceTree = "<group>"; };
  680 + D2029D121E6EAF8D0027CD92 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
  681 + D2029D151E6EB00D0027CD92 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
  682 + D207BE9F1E84C1EC006A0CE8 /* AnimationBaseView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AnimationBaseView.h; sourceTree = "<group>"; };
  683 + D207BEA01E84C1EC006A0CE8 /* AnimationBaseView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AnimationBaseView.m; sourceTree = "<group>"; };
  684 + D209AD691EC580F100D82E3B /* LVCWebViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCWebViewController.h; sourceTree = "<group>"; };
  685 + D209AD6A1EC580F100D82E3B /* LVCWebViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCWebViewController.m; sourceTree = "<group>"; };
  686 + D209AD6C1EC583B700D82E3B /* MineMessageController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MineMessageController.h; sourceTree = "<group>"; };
  687 + D209AD6D1EC583B700D82E3B /* MineMessageController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MineMessageController.m; sourceTree = "<group>"; };
  688 + D209AD6F1EC583D100D82E3B /* MineAccountController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MineAccountController.h; sourceTree = "<group>"; };
  689 + D209AD701EC583D100D82E3B /* MineAccountController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MineAccountController.m; sourceTree = "<group>"; };
  690 + D217A2451E7B76C7003B44CB /* PresentModelAble.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PresentModelAble.h; sourceTree = "<group>"; };
  691 + D217A2461E7B76C7003B44CB /* PresentView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PresentView.h; sourceTree = "<group>"; };
  692 + D217A2471E7B76C7003B44CB /* PresentView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PresentView.m; sourceTree = "<group>"; };
  693 + D217A2481E7B76C7003B44CB /* PresentViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PresentViewCell.h; sourceTree = "<group>"; };
  694 + D217A2491E7B76C7003B44CB /* PresentViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PresentViewCell.m; sourceTree = "<group>"; };
  695 + D217A24C1E7B77C7003B44CB /* ComboCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ComboCell.h; path = Present/ComboCell.h; sourceTree = "<group>"; };
  696 + D217A24D1E7B77C7003B44CB /* ComboCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ComboCell.m; path = Present/ComboCell.m; sourceTree = "<group>"; };
  697 + D224B1951E826ED800CC61D0 /* ChatBarrageAnimAction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChatBarrageAnimAction.h; sourceTree = "<group>"; };
  698 + D224B1961E826ED800CC61D0 /* ChatBarrageAnimAction.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ChatBarrageAnimAction.m; sourceTree = "<group>"; };
  699 + D22830EF1E778C0F00627701 /* LiveBaseView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LiveBaseView.h; sourceTree = "<group>"; };
  700 + D22830F01E778C0F00627701 /* LiveBaseView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LiveBaseView.m; sourceTree = "<group>"; };
  701 + D22830FA1E77C2D900627701 /* BottomToolView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BottomToolView.h; sourceTree = "<group>"; };
  702 + D22830FB1E77C2D900627701 /* BottomToolView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BottomToolView.m; sourceTree = "<group>"; };
  703 + D22830FD1E77C69E00627701 /* GiftListView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GiftListView.h; sourceTree = "<group>"; };
  704 + D22830FE1E77C69E00627701 /* GiftListView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GiftListView.m; sourceTree = "<group>"; };
  705 + D22831071E77D8D500627701 /* GiftModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GiftModel.h; sourceTree = "<group>"; };
  706 + D22831081E77D8D500627701 /* GiftModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GiftModel.m; sourceTree = "<group>"; };
  707 + D236967C1E7F9E4100E4BF71 /* GiftPayButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GiftPayButton.h; sourceTree = "<group>"; };
  708 + D236967D1E7F9E4100E4BF71 /* GiftPayButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GiftPayButton.m; sourceTree = "<group>"; };
  709 + D23696821E7FC6A900E4BF71 /* chatListCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = chatListCell.h; sourceTree = "<group>"; };
  710 + D23696831E7FC6A900E4BF71 /* chatListCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = chatListCell.m; sourceTree = "<group>"; };
  711 + D23696901E7FC83800E4BF71 /* chatMsgModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = chatMsgModel.h; sourceTree = "<group>"; };
  712 + D23696911E7FC83800E4BF71 /* chatMsgModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = chatMsgModel.m; sourceTree = "<group>"; };
  713 + D24571561E8393EB00AA85D6 /* UIImageView+ZXExtension.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImageView+ZXExtension.h"; sourceTree = "<group>"; };
  714 + D24571571E8393EB00AA85D6 /* UIImageView+ZXExtension.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImageView+ZXExtension.m"; sourceTree = "<group>"; };
  715 + D245715A1E83A62B00AA85D6 /* BounceView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BounceView.h; sourceTree = "<group>"; };
  716 + D245715B1E83A62B00AA85D6 /* BounceView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BounceView.m; sourceTree = "<group>"; };
  717 + D245715D1E83B09900AA85D6 /* userInfoModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = userInfoModel.h; sourceTree = "<group>"; };
  718 + D245715E1E83B09900AA85D6 /* userInfoModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = userInfoModel.m; sourceTree = "<group>"; };
  719 + D24571611E83C40B00AA85D6 /* PrivateView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PrivateView.h; sourceTree = "<group>"; };
  720 + D24571621E83C40B00AA85D6 /* PrivateView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PrivateView.m; sourceTree = "<group>"; };
  721 + D2552FFE1E7909AC00DF38A5 /* GiftAnimOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GiftAnimOperation.h; sourceTree = "<group>"; };
  722 + D2552FFF1E7909AC00DF38A5 /* GiftAnimOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GiftAnimOperation.m; sourceTree = "<group>"; };
  723 + D25530011E79115100DF38A5 /* AnimQueueManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AnimQueueManager.h; sourceTree = "<group>"; };
  724 + D25530021E79115100DF38A5 /* AnimQueueManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AnimQueueManager.m; sourceTree = "<group>"; };
  725 + D25530041E7911A800DF38A5 /* GiftAnimationAction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GiftAnimationAction.h; sourceTree = "<group>"; };
  726 + D25530051E7911A800DF38A5 /* GiftAnimationAction.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GiftAnimationAction.m; sourceTree = "<group>"; };
  727 + D255300A1E793F8200DF38A5 /* NHFighterView+animDelegagte.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NHFighterView+animDelegagte.h"; sourceTree = "<group>"; };
  728 + D255300B1E793F8200DF38A5 /* NHFighterView+animDelegagte.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NHFighterView+animDelegagte.m"; sourceTree = "<group>"; };
  729 + D2575C441E76857100E3A8FC /* LVCAnimationManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LVCAnimationManager.h; path = ../LVCAnimationManager.h; sourceTree = "<group>"; };
  730 + D2575C451E76857100E3A8FC /* LVCAnimationManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LVCAnimationManager.m; path = ../LVCAnimationManager.m; sourceTree = "<group>"; };
  731 + D2575C481E7685DE00E3A8FC /* UIView+Bubbling.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+Bubbling.m"; sourceTree = "<group>"; };
  732 + D2575C491E7685DE00E3A8FC /* UIView+Bubbling.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+Bubbling.h"; sourceTree = "<group>"; };
  733 + D2575C651E76A25400E3A8FC /* LVCInteractionController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCInteractionController.h; sourceTree = "<group>"; };
  734 + D2575C661E76A25400E3A8FC /* LVCInteractionController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCInteractionController.m; sourceTree = "<group>"; };
  735 + D2575C6D1E76A4F300E3A8FC /* NHCarView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NHCarView.h; sourceTree = "<group>"; };
  736 + D2575C6E1E76A4F300E3A8FC /* NHCarViews.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NHCarViews.h; sourceTree = "<group>"; };
  737 + D2575C6F1E76A4F300E3A8FC /* NHCarViews.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NHCarViews.m; sourceTree = "<group>"; };
  738 + D2575C701E76A4F300E3A8FC /* NHCarViews.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = NHCarViews.xib; sourceTree = "<group>"; };
  739 + D2575C711E76A4F300E3A8FC /* NHFighterView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NHFighterView.h; sourceTree = "<group>"; };
  740 + D2575C721E76A4F300E3A8FC /* NHFighterView.nib */ = {isa = PBXFileReference; lastKnownFileType = file; path = NHFighterView.nib; sourceTree = "<group>"; };
  741 + D2575C731E76A4F300E3A8FC /* NHGiftAnimtionSDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = NHGiftAnimtionSDK.a; sourceTree = "<group>"; };
  742 + D2575C741E76A4F300E3A8FC /* NHHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NHHeader.h; sourceTree = "<group>"; };
  743 + D2575C751E76A4F300E3A8FC /* NHPlaneView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NHPlaneView.h; sourceTree = "<group>"; };
  744 + D2575C761E76A4F300E3A8FC /* NHPlaneViews.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NHPlaneViews.h; sourceTree = "<group>"; };
  745 + D2575C771E76A4F300E3A8FC /* NHPlaneViews.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NHPlaneViews.m; sourceTree = "<group>"; };
  746 + D2575C781E76A4F300E3A8FC /* NHPlaneViews.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = NHPlaneViews.xib; sourceTree = "<group>"; };
  747 + D2575C791E76A4F300E3A8FC /* resource.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = resource.bundle; sourceTree = "<group>"; };
  748 + D25BF8761E7B8A82007FB138 /* FilterFunctionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FilterFunctionView.h; sourceTree = "<group>"; };
  749 + D25BF8771E7B8A82007FB138 /* FilterFunctionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FilterFunctionView.m; sourceTree = "<group>"; };
  750 + D25BF8781E7B8A82007FB138 /* SliderView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SliderView.h; sourceTree = "<group>"; };
  751 + D25BF8791E7B8A82007FB138 /* SliderView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SliderView.m; sourceTree = "<group>"; };
  752 + D25BF87C1E7B8C78007FB138 /* KSYGPUResource.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = KSYGPUResource.bundle; sourceTree = "<group>"; };
  753 + D25BF87E1E7BD266007FB138 /* LVCUGCLivePlayerController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCUGCLivePlayerController.h; sourceTree = "<group>"; };
  754 + D25BF87F1E7BD266007FB138 /* LVCUGCLivePlayerController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCUGCLivePlayerController.m; sourceTree = "<group>"; };
  755 + D25BF8811E7F775F007FB138 /* LVCUGCPlayerLoadingView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCUGCPlayerLoadingView.h; sourceTree = "<group>"; };
  756 + D25BF8821E7F775F007FB138 /* LVCUGCPlayerLoadingView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCUGCPlayerLoadingView.m; sourceTree = "<group>"; };
  757 + D25BF88F1E7F7F8F007FB138 /* UGCLoading.jpeg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = UGCLoading.jpeg; sourceTree = "<group>"; };
  758 + D25BF8911E7FBAEA007FB138 /* LVCUGCBackgroundView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCUGCBackgroundView.h; sourceTree = "<group>"; };
  759 + D25BF8921E7FBAEA007FB138 /* LVCUGCBackgroundView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCUGCBackgroundView.m; sourceTree = "<group>"; };
  760 + D25BF89E1E80C4BD007FB138 /* UIImage+LVCVagueImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+LVCVagueImage.h"; sourceTree = "<group>"; };
  761 + D25BF89F1E80C4BD007FB138 /* UIImage+LVCVagueImage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImage+LVCVagueImage.m"; sourceTree = "<group>"; };
  762 + D25BF8A21E80C4FC007FB138 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
  763 + D25BF8A41E80EC76007FB138 /* 头像.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "头像.jpg"; sourceTree = "<group>"; };
  764 + D2888D921E6EB8B4003A77C8 /* LVCTabBar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCTabBar.h; sourceTree = "<group>"; };
  765 + D2888D931E6EB8B4003A77C8 /* LVCTabBar.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCTabBar.m; sourceTree = "<group>"; };
  766 + D2888D9A1E6EBF1B003A77C8 /* LVCLiveViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCLiveViewController.h; sourceTree = "<group>"; };
  767 + D2888D9B1E6EBF1B003A77C8 /* LVCLiveViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCLiveViewController.m; sourceTree = "<group>"; };
  768 + D2888DAF1E6EC05F003A77C8 /* TempViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TempViewController.h; sourceTree = "<group>"; };
  769 + D2888DB01E6EC05F003A77C8 /* TempViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TempViewController.m; sourceTree = "<group>"; };
  770 + D2888DB21E6EC154003A77C8 /* HomeViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HomeViewController.h; sourceTree = "<group>"; };
  771 + D2888DB31E6EC154003A77C8 /* HomeViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HomeViewController.m; sourceTree = "<group>"; };
  772 + D28F5FFD1E8BC7EF00914142 /* LVCUGCLiveListView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LVCUGCLiveListView.h; path = ../Controller/LVCUGCLiveListView.h; sourceTree = "<group>"; };
  773 + D28F5FFE1E8BC7EF00914142 /* LVCUGCLiveListView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LVCUGCLiveListView.m; path = ../Controller/LVCUGCLiveListView.m; sourceTree = "<group>"; };
  774 + D2994BA41E8F48DE00E8D2CC /* CNLiveChatManager.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CNLiveChatManager.framework; sourceTree = "<group>"; };
  775 + D2994BA51E8F48DE00E8D2CC /* CNLiveMsgTools.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = CNLiveMsgTools.framework; sourceTree = "<group>"; };
  776 + D29D88461E88C53300543A03 /* LVCUGCLivePrepareView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCUGCLivePrepareView.h; sourceTree = "<group>"; };
  777 + D29D88471E88C53300543A03 /* LVCUGCLivePrepareView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCUGCLivePrepareView.m; sourceTree = "<group>"; };
  778 + D29E81EB1E88DC5B008C9906 /* PriChatCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PriChatCell.h; sourceTree = "<group>"; };
  779 + D29E81EC1E88DC5B008C9906 /* PriChatCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PriChatCell.m; sourceTree = "<group>"; };
  780 + D2A089E61E89FA720071412C /* LVCUGCLivePlayerCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCUGCLivePlayerCell.h; sourceTree = "<group>"; };
  781 + D2A089E71E89FA720071412C /* LVCUGCLivePlayerCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCUGCLivePlayerCell.m; sourceTree = "<group>"; };
  782 + D2A089E91E8A09CB0071412C /* LVCUGCLivePlayerModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCUGCLivePlayerModel.h; sourceTree = "<group>"; };
  783 + D2A089EA1E8A09CB0071412C /* LVCUGCLivePlayerModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCUGCLivePlayerModel.m; sourceTree = "<group>"; };
  784 + D2A089EC1E8A336A0071412C /* LiveLIstService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LiveLIstService.h; sourceTree = "<group>"; };
  785 + D2A089ED1E8A336A0071412C /* LiveLIstService.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LiveLIstService.m; sourceTree = "<group>"; };
  786 + D2A089EF1E8A41120071412C /* LVCUGCLiveListModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCUGCLiveListModel.h; sourceTree = "<group>"; };
  787 + D2A089F01E8A41120071412C /* LVCUGCLiveListModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCUGCLiveListModel.m; sourceTree = "<group>"; };
  788 + D2A803061E80BD6F009D6F1C /* TopToolView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TopToolView.h; sourceTree = "<group>"; };
  789 + D2A803071E80BD6F009D6F1C /* TopToolView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TopToolView.m; sourceTree = "<group>"; };
  790 + D2B2ED7E1E88FC5200F7538A /* LVCUGCLiveEndView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LVCUGCLiveEndView.h; sourceTree = "<group>"; };
  791 + D2B2ED7F1E88FC5200F7538A /* LVCUGCLiveEndView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LVCUGCLiveEndView.m; sourceTree = "<group>"; };
  792 + D2B7B24F1E8247D400ED084E /* ChatBarrageManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChatBarrageManager.h; sourceTree = "<group>"; };
  793 + D2B7B2501E8247D400ED084E /* ChatBarrageManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ChatBarrageManager.m; sourceTree = "<group>"; };
  794 + D2B7B2521E824B2D00ED084E /* ChatBarrageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChatBarrageView.h; sourceTree = "<group>"; };
  795 + D2B7B2531E824B2D00ED084E /* ChatBarrageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ChatBarrageView.m; sourceTree = "<group>"; };
  796 + D2B7B2551E8261EF00ED084E /* ChatBarrOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChatBarrOperation.h; sourceTree = "<group>"; };
  797 + D2B7B2561E8261EF00ED084E /* ChatBarrOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ChatBarrOperation.m; sourceTree = "<group>"; };
  798 + D2D7D18C1E8A581000217771 /* timg.jpeg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = timg.jpeg; sourceTree = "<group>"; };
  799 +/* End PBXFileReference section */
  800 +
  801 +/* Begin PBXFrameworksBuildPhase section */
  802 + D2029B7E1E6EAAA50027CD92 /* Frameworks */ = {
  803 + isa = PBXFrameworksBuildPhase;
  804 + buildActionMask = 2147483647;
  805 + files = (
  806 + 4BD855D31EBAC8B20082061D /* CNLiveUserSystemSDK.framework in Frameworks */,
  807 + D25BF8A31E80C4FC007FB138 /* Accelerate.framework in Frameworks */,
  808 + D2994BA71E8F48DE00E8D2CC /* CNLiveMsgTools.framework in Frameworks */,
  809 + D2575C7D1E76A4F300E3A8FC /* NHGiftAnimtionSDK.a in Frameworks */,
  810 + D2994BAA1E8F490700E8D2CC /* CNLiveMsgTools.framework in Frameworks */,
  811 + 4BD856191EBAD4E30082061D /* CNLiveUserSystemSDK.framework in Frameworks */,
  812 + 811BB6831E8106A2005C6291 /* CNLivePlayerSDK.framework in Frameworks */,
  813 + D2994BA61E8F48DE00E8D2CC /* CNLiveChatManager.framework in Frameworks */,
  814 + D2994BA81E8F490400E8D2CC /* CNLiveChatManager.framework in Frameworks */,
  815 + );
  816 + runOnlyForDeploymentPostprocessing = 0;
  817 + };
  818 + D2029B971E6EAAA50027CD92 /* Frameworks */ = {
  819 + isa = PBXFrameworksBuildPhase;
  820 + buildActionMask = 2147483647;
  821 + files = (
  822 + );
  823 + runOnlyForDeploymentPostprocessing = 0;
  824 + };
  825 + D2029BA21E6EAAA50027CD92 /* Frameworks */ = {
  826 + isa = PBXFrameworksBuildPhase;
  827 + buildActionMask = 2147483647;
  828 + files = (
  829 + );
  830 + runOnlyForDeploymentPostprocessing = 0;
  831 + };
  832 +/* End PBXFrameworksBuildPhase section */
  833 +
  834 +/* Begin PBXGroup section */
  835 + 4B45CE421EB86A590079AFB7 /* mySections */ = {
  836 + isa = PBXGroup;
  837 + children = (
  838 + 4B45CE431EB86A590079AFB7 /* Controllers */,
  839 + 4B45CE551EB86A590079AFB7 /* Login */,
  840 + 4B45CE601EB86A590079AFB7 /* Model */,
  841 + 4B45CE651EB86A590079AFB7 /* Views */,
  842 + );
  843 + name = mySections;
  844 + path = Mine;
  845 + sourceTree = "<group>";
  846 + };
  847 + 4B45CE431EB86A590079AFB7 /* Controllers */ = {
  848 + isa = PBXGroup;
  849 + children = (
  850 + 4B45CE441EB86A590079AFB7 /* BeingAnchorController.h */,
  851 + 4B45CE451EB86A590079AFB7 /* BeingAnchorController.m */,
  852 + 4B45CE461EB86A590079AFB7 /* IDViewController.h */,
  853 + 4B45CE471EB86A590079AFB7 /* IDViewController.m */,
  854 + 4B45CE481EB86A590079AFB7 /* LVCMineViewController.h */,
  855 + 4B45CE491EB86A590079AFB7 /* LVCMineViewController.m */,
  856 + 4B45CE4A1EB86A590079AFB7 /* MineAboutUsController.h */,
  857 + 4B45CE4B1EB86A590079AFB7 /* MineAboutUsController.m */,
  858 + 4B45CE4C1EB86A590079AFB7 /* MineLiveController.h */,
  859 + 4B45CE4D1EB86A590079AFB7 /* MineLiveController.m */,
  860 + 4B45CE4E1EB86A590079AFB7 /* MinePersonalDataController.h */,
  861 + 4B45CE4F1EB86A590079AFB7 /* MinePersonalDataController.m */,
  862 + 4B45CE501EB86A590079AFB7 /* MineSettingViewController.h */,
  863 + 4B45CE511EB86A590079AFB7 /* MineSettingViewController.m */,
  864 + 4B45CE521EB86A590079AFB7 /* ModifyInfomationController.h */,
  865 + 4B45CE531EB86A590079AFB7 /* ModifyInfomationController.m */,
  866 + D209AD691EC580F100D82E3B /* LVCWebViewController.h */,
  867 + D209AD6A1EC580F100D82E3B /* LVCWebViewController.m */,
  868 + D209AD6C1EC583B700D82E3B /* MineMessageController.h */,
  869 + D209AD6D1EC583B700D82E3B /* MineMessageController.m */,
  870 + D209AD6F1EC583D100D82E3B /* MineAccountController.h */,
  871 + D209AD701EC583D100D82E3B /* MineAccountController.m */,
  872 + );
  873 + path = Controllers;
  874 + sourceTree = "<group>";
  875 + };
  876 + 4B45CE551EB86A590079AFB7 /* Login */ = {
  877 + isa = PBXGroup;
  878 + children = (
  879 + D209AD721EC585A600D82E3B /* Model */,
  880 + 4B45CE561EB86A590079AFB7 /* Controller */,
  881 + 4B45CE5B1EB86A590079AFB7 /* View */,
  882 + );
  883 + path = Login;
  884 + sourceTree = "<group>";
  885 + };
  886 + 4B45CE561EB86A590079AFB7 /* Controller */ = {
  887 + isa = PBXGroup;
  888 + children = (
  889 + 4B45CE571EB86A590079AFB7 /* LoginViewController.h */,
  890 + 4B45CE581EB86A590079AFB7 /* LoginViewController.m */,
  891 + 4B45CE591EB86A590079AFB7 /* RegisterCommonController.h */,
  892 + 4B45CE5A1EB86A590079AFB7 /* RegisterCommonController.m */,
  893 + );
  894 + path = Controller;
  895 + sourceTree = "<group>";
  896 + };
  897 + 4B45CE5B1EB86A590079AFB7 /* View */ = {
  898 + isa = PBXGroup;
  899 + children = (
  900 + 4B45CE5C1EB86A590079AFB7 /* idAndPwdView.h */,
  901 + 4B45CE5D1EB86A590079AFB7 /* idAndPwdView.m */,
  902 + 4B45CE5E1EB86A590079AFB7 /* RegistBasicInformationView.h */,
  903 + 4B45CE5F1EB86A590079AFB7 /* RegistBasicInformationView.m */,
  904 + );
  905 + path = View;
  906 + sourceTree = "<group>";
  907 + };
  908 + 4B45CE601EB86A590079AFB7 /* Model */ = {
  909 + isa = PBXGroup;
  910 + children = (
  911 + 4BD856101EBAD2640082061D /* ProgramModel.h */,
  912 + 4BD856111EBAD2640082061D /* ProgramModel.m */,
  913 + 4B45CE611EB86A590079AFB7 /* LVCMineCommonModel.h */,
  914 + 4B45CE621EB86A590079AFB7 /* LVCMineCommonModel.m */,
  915 + 4B45CE631EB86A590079AFB7 /* LVCMineModel.h */,
  916 + 4B45CE641EB86A590079AFB7 /* LVCMineModel.m */,
  917 + );
  918 + path = Model;
  919 + sourceTree = "<group>";
  920 + };
  921 + 4B45CE651EB86A590079AFB7 /* Views */ = {
  922 + isa = PBXGroup;
  923 + children = (
  924 + 4B45CE661EB86A590079AFB7 /* ModifyCommonView.h */,
  925 + 4B45CE671EB86A590079AFB7 /* ModifyCommonView.m */,
  926 + 4B45CE681EB86A590079AFB7 /* LVCClearCachesCell.h */,
  927 + 4B45CE691EB86A590079AFB7 /* LVCClearCachesCell.m */,
  928 + 4B45CE6A1EB86A590079AFB7 /* LVCLoginShowView.h */,
  929 + 4B45CE6B1EB86A590079AFB7 /* LVCLoginShowView.m */,
  930 + 4B45CE6C1EB86A590079AFB7 /* LVCMineCommonCell.h */,
  931 + 4B45CE6D1EB86A590079AFB7 /* LVCMineCommonCell.m */,
  932 + 4B45CE6E1EB86A590079AFB7 /* LVCMineShowCell.h */,
  933 + 4B45CE6F1EB86A590079AFB7 /* LVCMineShowCell.m */,
  934 + 4B45CE701EB86A590079AFB7 /* LVCPersonalImageCell.h */,
  935 + 4B45CE711EB86A590079AFB7 /* LVCPersonalImageCell.m */,
  936 + 4B45CE721EB86A590079AFB7 /* LVCPersonCommonCell.h */,
  937 + 4B45CE731EB86A590079AFB7 /* LVCPersonCommonCell.m */,
  938 + 4B45CE741EB86A590079AFB7 /* LVCTextField.h */,
  939 + 4B45CE751EB86A590079AFB7 /* LVCTextField.m */,
  940 + 4B42A6C51EC0171800DA09D7 /* PlayRecordCell.h */,
  941 + 4B42A6C61EC0171800DA09D7 /* PlayRecordCell.m */,
  942 + );
  943 + path = Views;
  944 + sourceTree = "<group>";
  945 + };
  946 + 4B45CE8C1EB86A760079AFB7 /* UIKit */ = {
  947 + isa = PBXGroup;
  948 + children = (
  949 + 4B45CE8D1EB86A760079AFB7 /* UIButton+createButton.h */,
  950 + 4B45CE8E1EB86A760079AFB7 /* UIButton+createButton.m */,
  951 + 4B45CE8F1EB86A760079AFB7 /* UILabel+createLabel.h */,
  952 + 4B45CE901EB86A760079AFB7 /* UILabel+createLabel.m */,
  953 + 4B45CE911EB86A760079AFB7 /* UITextField+createTextField.h */,
  954 + 4B45CE921EB86A760079AFB7 /* UITextField+createTextField.m */,
  955 + 4B45CE931EB86A760079AFB7 /* ZXLabel.h */,
  956 + 4B45CE941EB86A760079AFB7 /* ZXLabel.m */,
  957 + 4B45CE951EB86A760079AFB7 /* ZXUIKit.h */,
  958 + 4B45CE961EB86A760079AFB7 /* ZXUIKit.m */,
  959 + );
  960 + path = UIKit;
  961 + sourceTree = "<group>";
  962 + };
  963 + 4B45CE9C1EB86B9E0079AFB7 /* UserTools */ = {
  964 + isa = PBXGroup;
  965 + children = (
  966 + 4B45CE9D1EB86B9E0079AFB7 /* CNLiveThirdLoginManager.h */,
  967 + 4B45CE9E1EB86B9E0079AFB7 /* CNLiveThirdLoginManager.m */,
  968 + 4B45CE9F1EB86B9E0079AFB7 /* NSNumber+ScaleHeight.h */,
  969 + 4B45CEA01EB86B9E0079AFB7 /* NSNumber+ScaleHeight.m */,
  970 + 4B45CEA11EB86B9E0079AFB7 /* NSObject+UserModel.h */,
  971 + 4B45CEA21EB86B9F0079AFB7 /* NSObject+UserModel.m */,
  972 + 4B45CEA31EB86B9F0079AFB7 /* UserTools.h */,
  973 + 4B45CEA41EB86B9F0079AFB7 /* UserTools.m */,
  974 + );
  975 + path = UserTools;
  976 + sourceTree = "<group>";
  977 + };
  978 + 4BD855D41EBACD530082061D /* AFNetworking */ = {
  979 + isa = PBXGroup;
  980 + children = (
  981 + 4BD855D51EBACD530082061D /* AFHTTPRequestOperation.h */,
  982 + 4BD855D61EBACD530082061D /* AFHTTPRequestOperation.m */,
  983 + 4BD855D71EBACD530082061D /* AFHTTPRequestOperationManager.h */,
  984 + 4BD855D81EBACD530082061D /* AFHTTPRequestOperationManager.m */,
  985 + 4BD855D91EBACD530082061D /* AFHTTPSessionManager.h */,
  986 + 4BD855DA1EBACD530082061D /* AFHTTPSessionManager.m */,
  987 + 4BD855DB1EBACD530082061D /* AFNetworking.h */,
  988 + 4BD855DC1EBACD530082061D /* AFNetworkReachabilityManager.h */,
  989 + 4BD855DD1EBACD530082061D /* AFNetworkReachabilityManager.m */,
  990 + 4BD855DE1EBACD530082061D /* AFSecurityPolicy.h */,
  991 + 4BD855DF1EBACD530082061D /* AFSecurityPolicy.m */,
  992 + 4BD855E01EBACD530082061D /* AFURLConnectionOperation.h */,
  993 + 4BD855E11EBACD530082061D /* AFURLConnectionOperation.m */,
  994 + 4BD855E21EBACD530082061D /* AFURLRequestSerialization.h */,
  995 + 4BD855E31EBACD530082061D /* AFURLRequestSerialization.m */,
  996 + 4BD855E41EBACD530082061D /* AFURLResponseSerialization.h */,
  997 + 4BD855E51EBACD530082061D /* AFURLResponseSerialization.m */,
  998 + 4BD855E61EBACD530082061D /* AFURLSessionManager.h */,
  999 + 4BD855E71EBACD530082061D /* AFURLSessionManager.m */,
  1000 + 4BD855E81EBACD530082061D /* UIKit+AFNetworking */,
  1001 + );
  1002 + path = AFNetworking;
  1003 + sourceTree = "<group>";
  1004 + };
  1005 + 4BD855E81EBACD530082061D /* UIKit+AFNetworking */ = {
  1006 + isa = PBXGroup;
  1007 + children = (
  1008 + 4BD855E91EBACD530082061D /* AFNetworkActivityIndicatorManager.h */,
  1009 + 4BD855EA1EBACD530082061D /* AFNetworkActivityIndicatorManager.m */,
  1010 + 4BD855EB1EBACD530082061D /* UIActivityIndicatorView+AFNetworking.h */,
  1011 + 4BD855EC1EBACD530082061D /* UIActivityIndicatorView+AFNetworking.m */,
  1012 + 4BD855ED1EBACD530082061D /* UIAlertView+AFNetworking.h */,
  1013 + 4BD855EE1EBACD530082061D /* UIAlertView+AFNetworking.m */,
  1014 + 4BD855EF1EBACD530082061D /* UIButton+AFNetworking.h */,
  1015 + 4BD855F01EBACD530082061D /* UIButton+AFNetworking.m */,
  1016 + 4BD855F11EBACD530082061D /* UIImageView+AFNetworking.h */,
  1017 + 4BD855F21EBACD530082061D /* UIImageView+AFNetworking.m */,
  1018 + 4BD855F31EBACD530082061D /* UIKit+AFNetworking.h */,
  1019 + 4BD855F41EBACD530082061D /* UIProgressView+AFNetworking.h */,
  1020 + 4BD855F51EBACD530082061D /* UIProgressView+AFNetworking.m */,
  1021 + 4BD855F61EBACD530082061D /* UIRefreshControl+AFNetworking.h */,
  1022 + 4BD855F71EBACD530082061D /* UIRefreshControl+AFNetworking.m */,
  1023 + 4BD855F81EBACD530082061D /* UIWebView+AFNetworking.h */,
  1024 + 4BD855F91EBACD530082061D /* UIWebView+AFNetworking.m */,
  1025 + );
  1026 + path = "UIKit+AFNetworking";
  1027 + sourceTree = "<group>";
  1028 + };
  1029 + 4BD8560D1EBACEF80082061D /* webView */ = {
  1030 + isa = PBXGroup;
  1031 + children = (
  1032 + 4BD8560B1EBACEF80082061D /* CNLiveWebView.h */,
  1033 + 4BD8560C1EBACEF80082061D /* CNLiveWebView.m */,
  1034 + 4BD8560E1EBACEF80082061D /* CNLiveMacro.h */,
  1035 + );
  1036 + path = webView;
  1037 + sourceTree = "<group>";
  1038 + };
  1039 + 810B64E41E779B1F00133E15 /* Masonry */ = {
  1040 + isa = PBXGroup;
  1041 + children = (
  1042 + 810B64E51E779B1F00133E15 /* MASCompositeConstraint.h */,
  1043 + 810B64E61E779B1F00133E15 /* MASCompositeConstraint.m */,
  1044 + 810B64E71E779B1F00133E15 /* MASConstraint+Private.h */,
  1045 + 810B64E81E779B1F00133E15 /* MASConstraint.h */,
  1046 + 810B64E91E779B1F00133E15 /* MASConstraint.m */,
  1047 + 810B64EA1E779B1F00133E15 /* MASConstraintMaker.h */,
  1048 + 810B64EB1E779B1F00133E15 /* MASConstraintMaker.m */,
  1049 + 810B64EC1E779B1F00133E15 /* MASLayoutConstraint.h */,
  1050 + 810B64ED1E779B1F00133E15 /* MASLayoutConstraint.m */,
  1051 + 810B64EE1E779B1F00133E15 /* Masonry.h */,
  1052 + 810B64EF1E779B1F00133E15 /* MASUtilities.h */,
  1053 + 810B64F01E779B1F00133E15 /* MASViewAttribute.h */,
  1054 + 810B64F11E779B1F00133E15 /* MASViewAttribute.m */,
  1055 + 810B64F21E779B1F00133E15 /* MASViewConstraint.h */,
  1056 + 810B64F31E779B1F00133E15 /* MASViewConstraint.m */,
  1057 + 810B64F41E779B1F00133E15 /* NSArray+MASAdditions.h */,
  1058 + 810B64F51E779B1F00133E15 /* NSArray+MASAdditions.m */,
  1059 + 810B64F61E779B1F00133E15 /* NSArray+MASShorthandAdditions.h */,
  1060 + 810B64F71E779B1F00133E15 /* NSLayoutConstraint+MASDebugAdditions.h */,
  1061 + 810B64F81E779B1F00133E15 /* NSLayoutConstraint+MASDebugAdditions.m */,
  1062 + 810B64F91E779B1F00133E15 /* View+MASAdditions.h */,
  1063 + 810B64FA1E779B1F00133E15 /* View+MASAdditions.m */,
  1064 + 810B64FB1E779B1F00133E15 /* View+MASShorthandAdditions.h */,
  1065 + 810B64FC1E779B1F00133E15 /* ViewController+MASAdditions.h */,
  1066 + 810B64FD1E779B1F00133E15 /* ViewController+MASAdditions.m */,
  1067 + );
  1068 + path = Masonry;
  1069 + sourceTree = "<group>";
  1070 + };
  1071 + 811BB67B1E80F858005C6291 /* ChatView */ = {
  1072 + isa = PBXGroup;
  1073 + children = (
  1074 + 811BB67C1E80F858005C6291 /* LVCChatView.h */,
  1075 + 811BB67D1E80F858005C6291 /* LVCChatView.m */,
  1076 + 81A1B9A71E8277410079FF5F /* LVCInputView.h */,
  1077 + 81A1B9A81E8277410079FF5F /* LVCInputView.m */,
  1078 + 811BB6861E8107B4005C6291 /* LVCChatViewTableViewCell.h */,
  1079 + 811BB6871E8107B4005C6291 /* LVCChatViewTableViewCell.m */,
  1080 + 8130911C1E84C0F0005F0BFF /* LVCMessage.h */,
  1081 + 8130911D1E84C0F0005F0BFF /* LVCMessage.m */,
  1082 + );
  1083 + name = ChatView;
  1084 + path = ../ChatView;
  1085 + sourceTree = "<group>";
  1086 + };
  1087 + 8128E2831E8A6A3600B40E75 /* Barrage */ = {
  1088 + isa = PBXGroup;
  1089 + children = (
  1090 + 8128E2841E8A6A3600B40E75 /* CNBarrageManager.h */,
  1091 + 8128E2851E8A6A3600B40E75 /* CNBarrageManager.m */,
  1092 + 8128E2861E8A6A3600B40E75 /* CNBarrageView.h */,
  1093 + 8128E2871E8A6A3600B40E75 /* CNBarrageView.m */,
  1094 + );
  1095 + path = Barrage;
  1096 + sourceTree = "<group>";
  1097 + };
  1098 + 812E504E1E7699B9004F5FCD /* CNLiveSDK */ = {
  1099 + isa = PBXGroup;
  1100 + children = (
  1101 + D2994BA41E8F48DE00E8D2CC /* CNLiveChatManager.framework */,
  1102 + D2994BA51E8F48DE00E8D2CC /* CNLiveMsgTools.framework */,
  1103 + 811BB6821E8106A2005C6291 /* CNLivePlayerSDK.framework */,
  1104 + D25BF87C1E7B8C78007FB138 /* KSYGPUResource.bundle */,
  1105 + );
  1106 + path = CNLiveSDK;
  1107 + sourceTree = "<group>";
  1108 + };
  1109 + 81A482FC1E88B0130097A80A /* Model */ = {
  1110 + isa = PBXGroup;
  1111 + children = (
  1112 + 81A4830C1E88B8300097A80A /* LVCChannelsModel.h */,
  1113 + 81A4830D1E88B8300097A80A /* LVCChannelsModel.m */,
  1114 + 81A4830F1E88B8630097A80A /* LVCChannelDetailsModel.h */,
  1115 + 81A483101E88B8630097A80A /* LVCChannelDetailsModel.m */,
  1116 + 81A4831E1E88F4BF0097A80A /* LVCProgramModel.h */,
  1117 + 81A4831F1E88F4BF0097A80A /* LVCProgramModel.m */,
  1118 + 81A482FF1E88B0130097A80A /* LVCChatRoomModel.h */,
  1119 + 81A483001E88B0130097A80A /* LVCChatRoomModel.m */,
  1120 + D2A089EF1E8A41120071412C /* LVCUGCLiveListModel.h */,
  1121 + D2A089F01E8A41120071412C /* LVCUGCLiveListModel.m */,
  1122 + D2A089E91E8A09CB0071412C /* LVCUGCLivePlayerModel.h */,
  1123 + D2A089EA1E8A09CB0071412C /* LVCUGCLivePlayerModel.m */,
  1124 + );
  1125 + path = Model;
  1126 + sourceTree = "<group>";
  1127 + };
  1128 + 81F1C8351E8BBDDA0085C2B8 /* MHPagingScrollView */ = {
  1129 + isa = PBXGroup;
  1130 + children = (
  1131 + 81F1C8361E8BBDDA0085C2B8 /* MHPagingScrollView.h */,
  1132 + 81F1C8371E8BBDDA0085C2B8 /* MHPagingScrollView.m */,
  1133 + );
  1134 + path = MHPagingScrollView;
  1135 + sourceTree = "<group>";
  1136 + };
  1137 + 81F1C8391E8BBDE40085C2B8 /* V8HorizontalPickerView */ = {
  1138 + isa = PBXGroup;
  1139 + children = (
  1140 + 81F1C83A1E8BBDE40085C2B8 /* V8HorizontalPickerView.h */,
  1141 + 81F1C83B1E8BBDE40085C2B8 /* V8HorizontalPickerView.m */,
  1142 + 81F1C83C1E8BBDE40085C2B8 /* V8HorizontalPickerViewProtocol.h */,
  1143 + );
  1144 + path = V8HorizontalPickerView;
  1145 + sourceTree = "<group>";
  1146 + };
  1147 + 81FB5B391E7A6FFC00F98E1D /* SevenSwitch */ = {
  1148 + isa = PBXGroup;
  1149 + children = (
  1150 + 81FB5B3A1E7A6FFC00F98E1D /* SevenSwitch.h */,
  1151 + 81FB5B3B1E7A6FFC00F98E1D /* SevenSwitch.m */,
  1152 + );
  1153 + path = SevenSwitch;
  1154 + sourceTree = "<group>";
  1155 + };
  1156 + D2029B781E6EAAA50027CD92 = {
  1157 + isa = PBXGroup;
  1158 + children = (
  1159 + D2029B831E6EAAA50027CD92 /* LiveVideoCloud */,
  1160 + D2029B9D1E6EAAA50027CD92 /* LiveVideoCloudTests */,
  1161 + D2029BA81E6EAAA50027CD92 /* LiveVideoCloudUITests */,
  1162 + D2029B821E6EAAA50027CD92 /* Products */,
  1163 + D25BF8A11E80C4FC007FB138 /* Frameworks */,
  1164 + );
  1165 + sourceTree = "<group>";
  1166 + };
  1167 + D2029B821E6EAAA50027CD92 /* Products */ = {
  1168 + isa = PBXGroup;
  1169 + children = (
  1170 + D2029B811E6EAAA50027CD92 /* LiveVideoCloud.app */,
  1171 + D2029B9A1E6EAAA50027CD92 /* LiveVideoCloudTests.xctest */,
  1172 + D2029BA51E6EAAA50027CD92 /* LiveVideoCloudUITests.xctest */,
  1173 + );
  1174 + name = Products;
  1175 + sourceTree = "<group>";
  1176 + };
  1177 + D2029B831E6EAAA50027CD92 /* LiveVideoCloud */ = {
  1178 + isa = PBXGroup;
  1179 + children = (
  1180 + D2029D0E1E6EAF510027CD92 /* AppDelegate */,
  1181 + D2029BBB1E6EADD70027CD92 /* AppCustoms */,
  1182 + D2029CDC1E6EAE2E0027CD92 /* UtilKits */,
  1183 + D2029BD01E6EADE10027CD92 /* Classes */,
  1184 + D2029CD11E6EADE70027CD92 /* HttpService */,
  1185 + D25BF88A1E7F7F77007FB138 /* Resource */,
  1186 + D2029B901E6EAAA50027CD92 /* animation.xcassets */,
  1187 + D2029CD61E6EADFB0027CD92 /* PrefixHeader.pch */,
  1188 + D2029B841E6EAAA50027CD92 /* Supporting Files */,
  1189 + );
  1190 + path = LiveVideoCloud;
  1191 + sourceTree = "<group>";
  1192 + };
  1193 + D2029B841E6EAAA50027CD92 /* Supporting Files */ = {
  1194 + isa = PBXGroup;
  1195 + children = (
  1196 + D2029B921E6EAAA50027CD92 /* LaunchScreen.storyboard */,
  1197 + D2029B851E6EAAA50027CD92 /* main.m */,
  1198 + D2029B951E6EAAA50027CD92 /* Info.plist */,
  1199 + );
  1200 + name = "Supporting Files";
  1201 + sourceTree = "<group>";
  1202 + };
  1203 + D2029B9D1E6EAAA50027CD92 /* LiveVideoCloudTests */ = {
  1204 + isa = PBXGroup;
  1205 + children = (
  1206 + D2029B9E1E6EAAA50027CD92 /* LiveVideoCloudTests.m */,
  1207 + D2029BA01E6EAAA50027CD92 /* Info.plist */,
  1208 + );
  1209 + path = LiveVideoCloudTests;
  1210 + sourceTree = "<group>";
  1211 + };
  1212 + D2029BA81E6EAAA50027CD92 /* LiveVideoCloudUITests */ = {
  1213 + isa = PBXGroup;
  1214 + children = (
  1215 + D2029BA91E6EAAA50027CD92 /* LiveVideoCloudUITests.m */,
  1216 + D2029BAB1E6EAAA50027CD92 /* Info.plist */,
  1217 + );
  1218 + path = LiveVideoCloudUITests;
  1219 + sourceTree = "<group>";
  1220 + };
  1221 + D2029BBB1E6EADD70027CD92 /* AppCustoms */ = {
  1222 + isa = PBXGroup;
  1223 + children = (
  1224 + D2029BBC1E6EADD70027CD92 /* Base */,
  1225 + D2029BC51E6EADD70027CD92 /* Main */,
  1226 + );
  1227 + path = AppCustoms;
  1228 + sourceTree = "<group>";
  1229 + };
  1230 + D2029BBC1E6EADD70027CD92 /* Base */ = {
  1231 + isa = PBXGroup;
  1232 + children = (
  1233 + D2029BBD1E6EADD70027CD92 /* BaseModel.h */,
  1234 + D2029BBE1E6EADD70027CD92 /* BaseModel.m */,
  1235 + D2029BBF1E6EADD70027CD92 /* BaseTableViewCell.h */,
  1236 + D2029BC01E6EADD70027CD92 /* BaseTableViewCell.m */,
  1237 + D2029BC11E6EADD70027CD92 /* BaseView.h */,
  1238 + D2029BC21E6EADD70027CD92 /* BaseView.m */,
  1239 + D2029BC31E6EADD70027CD92 /* BaseViewController.h */,
  1240 + D2029BC41E6EADD70027CD92 /* BaseViewController.m */,
  1241 + );
  1242 + path = Base;
  1243 + sourceTree = "<group>";
  1244 + };
  1245 + D2029BC51E6EADD70027CD92 /* Main */ = {
  1246 + isa = PBXGroup;
  1247 + children = (
  1248 + D2029BC61E6EADD70027CD92 /* ZXNavigationController.h */,
  1249 + D2029BC71E6EADD70027CD92 /* ZXNavigationController.m */,
  1250 + D2029BC81E6EADD70027CD92 /* ZXTabBarController.h */,
  1251 + D2029BC91E6EADD70027CD92 /* ZXTabBarController.m */,
  1252 + D2888D911E6EB897003A77C8 /* View */,
  1253 + );
  1254 + path = Main;
  1255 + sourceTree = "<group>";
  1256 + };
  1257 + D2029BD01E6EADE10027CD92 /* Classes */ = {
  1258 + isa = PBXGroup;
  1259 + children = (
  1260 + D2029C741E6EADE10027CD92 /* Sections */,
  1261 + D2029BD11E6EADE10027CD92 /* Helpers */,
  1262 + 812E504E1E7699B9004F5FCD /* CNLiveSDK */,
  1263 + D2029BD41E6EADE10027CD92 /* SDK */,
  1264 + );
  1265 + path = Classes;
  1266 + sourceTree = "<group>";
  1267 + };
  1268 + D2029BD11E6EADE10027CD92 /* Helpers */ = {
  1269 + isa = PBXGroup;
  1270 + children = (
  1271 + D2029BD21E6EADE10027CD92 /* Tools.h */,
  1272 + D2029BD31E6EADE10027CD92 /* Tools.m */,
  1273 + );
  1274 + path = Helpers;
  1275 + sourceTree = "<group>";
  1276 + };
  1277 + D2029BD41E6EADE10027CD92 /* SDK */ = {
  1278 + isa = PBXGroup;
  1279 + children = (
  1280 + 4BD855D41EBACD530082061D /* AFNetworking */,
  1281 + 81F1C8391E8BBDE40085C2B8 /* V8HorizontalPickerView */,
  1282 + 81F1C8351E8BBDDA0085C2B8 /* MHPagingScrollView */,
  1283 + 81FB5B391E7A6FFC00F98E1D /* SevenSwitch */,
  1284 + 810B64E41E779B1F00133E15 /* Masonry */,
  1285 + D2029BF81E6EADE10027CD92 /* MBProgressHUD */,
  1286 + D2029BFB1E6EADE10027CD92 /* MJExtension */,
  1287 + D2029C121E6EADE10027CD92 /* MJRefresh */,
  1288 + D2029C3F1E6EADE10027CD92 /* SDVersion */,
  1289 + D2029C441E6EADE10027CD92 /* SDWebImage */,
  1290 + D2029C661E6EADE10027CD92 /* SSKeychain */,
  1291 + D2029C691E6EADE10027CD92 /* SVProgressHUD */,
  1292 + );
  1293 + path = SDK;
  1294 + sourceTree = "<group>";
  1295 + };
  1296 + D2029BF81E6EADE10027CD92 /* MBProgressHUD */ = {
  1297 + isa = PBXGroup;
  1298 + children = (
  1299 + D2029BF91E6EADE10027CD92 /* MBProgressHUD.h */,
  1300 + D2029BFA1E6EADE10027CD92 /* MBProgressHUD.m */,
  1301 + );
  1302 + path = MBProgressHUD;
  1303 + sourceTree = "<group>";
  1304 + };
  1305 + D2029BFB1E6EADE10027CD92 /* MJExtension */ = {
  1306 + isa = PBXGroup;
  1307 + children = (
  1308 + D2029BFC1E6EADE10027CD92 /* Info.plist */,
  1309 + D2029BFD1E6EADE10027CD92 /* MJExtension.h */,
  1310 + D2029BFE1E6EADE10027CD92 /* MJExtensionConst.h */,
  1311 + D2029BFF1E6EADE10027CD92 /* MJExtensionConst.m */,
  1312 + D2029C001E6EADE10027CD92 /* MJFoundation.h */,
  1313 + D2029C011E6EADE10027CD92 /* MJFoundation.m */,
  1314 + D2029C021E6EADE10027CD92 /* MJProperty.h */,
  1315 + D2029C031E6EADE10027CD92 /* MJProperty.m */,
  1316 + D2029C041E6EADE10027CD92 /* MJPropertyKey.h */,
  1317 + D2029C051E6EADE10027CD92 /* MJPropertyKey.m */,
  1318 + D2029C061E6EADE10027CD92 /* MJPropertyType.h */,
  1319 + D2029C071E6EADE10027CD92 /* MJPropertyType.m */,
  1320 + D2029C081E6EADE10027CD92 /* NSObject+MJClass.h */,
  1321 + D2029C091E6EADE10027CD92 /* NSObject+MJClass.m */,
  1322 + D2029C0A1E6EADE10027CD92 /* NSObject+MJCoding.h */,
  1323 + D2029C0B1E6EADE10027CD92 /* NSObject+MJCoding.m */,
  1324 + D2029C0C1E6EADE10027CD92 /* NSObject+MJKeyValue.h */,
  1325 + D2029C0D1E6EADE10027CD92 /* NSObject+MJKeyValue.m */,
  1326 + D2029C0E1E6EADE10027CD92 /* NSObject+MJProperty.h */,
  1327 + D2029C0F1E6EADE10027CD92 /* NSObject+MJProperty.m */,
  1328 + D2029C101E6EADE10027CD92 /* NSString+MJExtension.h */,
  1329 + D2029C111E6EADE10027CD92 /* NSString+MJExtension.m */,
  1330 + );
  1331 + path = MJExtension;
  1332 + sourceTree = "<group>";
  1333 + };
  1334 + D2029C121E6EADE10027CD92 /* MJRefresh */ = {
  1335 + isa = PBXGroup;
  1336 + children = (
  1337 + D2029C131E6EADE10027CD92 /* Base */,
  1338 + D2029C1E1E6EADE10027CD92 /* Custom */,
  1339 + D2029C351E6EADE10027CD92 /* MJRefresh.bundle */,
  1340 + D2029C361E6EADE10027CD92 /* MJRefresh.h */,
  1341 + D2029C371E6EADE10027CD92 /* MJRefreshConst.h */,
  1342 + D2029C381E6EADE10027CD92 /* MJRefreshConst.m */,
  1343 + D2029C391E6EADE10027CD92 /* UIScrollView+MJExtension.h */,
  1344 + D2029C3A1E6EADE10027CD92 /* UIScrollView+MJExtension.m */,
  1345 + D2029C3B1E6EADE10027CD92 /* UIScrollView+MJRefresh.h */,
  1346 + D2029C3C1E6EADE10027CD92 /* UIScrollView+MJRefresh.m */,
  1347 + D2029C3D1E6EADE10027CD92 /* UIView+MJExtension.h */,
  1348 + D2029C3E1E6EADE10027CD92 /* UIView+MJExtension.m */,
  1349 + );
  1350 + path = MJRefresh;
  1351 + sourceTree = "<group>";
  1352 + };
  1353 + D2029C131E6EADE10027CD92 /* Base */ = {
  1354 + isa = PBXGroup;
  1355 + children = (
  1356 + D2029C141E6EADE10027CD92 /* MJRefreshAutoFooter.h */,
  1357 + D2029C151E6EADE10027CD92 /* MJRefreshAutoFooter.m */,
  1358 + D2029C161E6EADE10027CD92 /* MJRefreshBackFooter.h */,
  1359 + D2029C171E6EADE10027CD92 /* MJRefreshBackFooter.m */,
  1360 + D2029C181E6EADE10027CD92 /* MJRefreshComponent.h */,
  1361 + D2029C191E6EADE10027CD92 /* MJRefreshComponent.m */,
  1362 + D2029C1A1E6EADE10027CD92 /* MJRefreshFooter.h */,
  1363 + D2029C1B1E6EADE10027CD92 /* MJRefreshFooter.m */,
  1364 + D2029C1C1E6EADE10027CD92 /* MJRefreshHeader.h */,
  1365 + D2029C1D1E6EADE10027CD92 /* MJRefreshHeader.m */,
  1366 + );
  1367 + path = Base;
  1368 + sourceTree = "<group>";
  1369 + };
  1370 + D2029C1E1E6EADE10027CD92 /* Custom */ = {
  1371 + isa = PBXGroup;
  1372 + children = (
  1373 + D2029C1F1E6EADE10027CD92 /* Footer */,
  1374 + D2029C2E1E6EADE10027CD92 /* Header */,
  1375 + );
  1376 + path = Custom;
  1377 + sourceTree = "<group>";
  1378 + };
  1379 + D2029C1F1E6EADE10027CD92 /* Footer */ = {
  1380 + isa = PBXGroup;
  1381 + children = (
  1382 + D2029C201E6EADE10027CD92 /* Auto */,
  1383 + D2029C271E6EADE10027CD92 /* Back */,
  1384 + );
  1385 + path = Footer;
  1386 + sourceTree = "<group>";
  1387 + };
  1388 + D2029C201E6EADE10027CD92 /* Auto */ = {
  1389 + isa = PBXGroup;
  1390 + children = (
  1391 + D2029C211E6EADE10027CD92 /* MJRefreshAutoGifFooter.h */,
  1392 + D2029C221E6EADE10027CD92 /* MJRefreshAutoGifFooter.m */,
  1393 + D2029C231E6EADE10027CD92 /* MJRefreshAutoNormalFooter.h */,
  1394 + D2029C241E6EADE10027CD92 /* MJRefreshAutoNormalFooter.m */,
  1395 + D2029C251E6EADE10027CD92 /* MJRefreshAutoStateFooter.h */,
  1396 + D2029C261E6EADE10027CD92 /* MJRefreshAutoStateFooter.m */,
  1397 + );
  1398 + path = Auto;
  1399 + sourceTree = "<group>";
  1400 + };
  1401 + D2029C271E6EADE10027CD92 /* Back */ = {
  1402 + isa = PBXGroup;
  1403 + children = (
  1404 + D2029C281E6EADE10027CD92 /* MJRefreshBackGifFooter.h */,
  1405 + D2029C291E6EADE10027CD92 /* MJRefreshBackGifFooter.m */,
  1406 + D2029C2A1E6EADE10027CD92 /* MJRefreshBackNormalFooter.h */,
  1407 + D2029C2B1E6EADE10027CD92 /* MJRefreshBackNormalFooter.m */,
  1408 + D2029C2C1E6EADE10027CD92 /* MJRefreshBackStateFooter.h */,
  1409 + D2029C2D1E6EADE10027CD92 /* MJRefreshBackStateFooter.m */,
  1410 + );
  1411 + path = Back;
  1412 + sourceTree = "<group>";
  1413 + };
  1414 + D2029C2E1E6EADE10027CD92 /* Header */ = {
  1415 + isa = PBXGroup;
  1416 + children = (
  1417 + D2029C2F1E6EADE10027CD92 /* MJRefreshGifHeader.h */,
  1418 + D2029C301E6EADE10027CD92 /* MJRefreshGifHeader.m */,
  1419 + D2029C311E6EADE10027CD92 /* MJRefreshNormalHeader.h */,
  1420 + D2029C321E6EADE10027CD92 /* MJRefreshNormalHeader.m */,
  1421 + D2029C331E6EADE10027CD92 /* MJRefreshStateHeader.h */,
  1422 + D2029C341E6EADE10027CD92 /* MJRefreshStateHeader.m */,
  1423 + );
  1424 + path = Header;
  1425 + sourceTree = "<group>";
  1426 + };
  1427 + D2029C3F1E6EADE10027CD92 /* SDVersion */ = {
  1428 + isa = PBXGroup;
  1429 + children = (
  1430 + D2029C401E6EADE10027CD92 /* SDiOSVersion */,
  1431 + D2029C431E6EADE10027CD92 /* SDVersion.h */,
  1432 + );
  1433 + path = SDVersion;
  1434 + sourceTree = "<group>";
  1435 + };
  1436 + D2029C401E6EADE10027CD92 /* SDiOSVersion */ = {
  1437 + isa = PBXGroup;
  1438 + children = (
  1439 + D2029C411E6EADE10027CD92 /* SDiOSVersion.h */,
  1440 + D2029C421E6EADE10027CD92 /* SDiOSVersion.m */,
  1441 + );
  1442 + path = SDiOSVersion;
  1443 + sourceTree = "<group>";
  1444 + };
  1445 + D2029C441E6EADE10027CD92 /* SDWebImage */ = {
  1446 + isa = PBXGroup;
  1447 + children = (
  1448 + D2029C451E6EADE10027CD92 /* MKAnnotationView+WebCache.h */,
  1449 + D2029C461E6EADE10027CD92 /* MKAnnotationView+WebCache.m */,
  1450 + D2029C471E6EADE10027CD92 /* NSData+ImageContentType.h */,
  1451 + D2029C481E6EADE10027CD92 /* NSData+ImageContentType.m */,
  1452 + D2029C491E6EADE10027CD92 /* SDImageCache.h */,
  1453 + D2029C4A1E6EADE10027CD92 /* SDImageCache.m */,
  1454 + D2029C4B1E6EADE10027CD92 /* SDWebImageCompat.h */,
  1455 + D2029C4C1E6EADE10027CD92 /* SDWebImageCompat.m */,
  1456 + D2029C4D1E6EADE10027CD92 /* SDWebImageDecoder.h */,
  1457 + D2029C4E1E6EADE10027CD92 /* SDWebImageDecoder.m */,
  1458 + D2029C4F1E6EADE10027CD92 /* SDWebImageDownloader.h */,
  1459 + D2029C501E6EADE10027CD92 /* SDWebImageDownloader.m */,
  1460 + D2029C511E6EADE10027CD92 /* SDWebImageDownloaderOperation.h */,
  1461 + D2029C521E6EADE10027CD92 /* SDWebImageDownloaderOperation.m */,
  1462 + D2029C531E6EADE10027CD92 /* SDWebImageManager.h */,
  1463 + D2029C541E6EADE10027CD92 /* SDWebImageManager.m */,
  1464 + D2029C551E6EADE10027CD92 /* SDWebImageOperation.h */,
  1465 + D2029C561E6EADE10027CD92 /* SDWebImagePrefetcher.h */,
  1466 + D2029C571E6EADE10027CD92 /* SDWebImagePrefetcher.m */,
  1467 + D2029C581E6EADE10027CD92 /* UIButton+WebCache.h */,
  1468 + D2029C591E6EADE10027CD92 /* UIButton+WebCache.m */,
  1469 + D2029C5A1E6EADE10027CD92 /* UIImage+GIF.h */,
  1470 + D2029C5B1E6EADE10027CD92 /* UIImage+GIF.m */,
  1471 + D2029C5C1E6EADE10027CD92 /* UIImage+MultiFormat.h */,
  1472 + D2029C5D1E6EADE10027CD92 /* UIImage+MultiFormat.m */,
  1473 + D2029C5E1E6EADE10027CD92 /* UIImage+WebP.h */,
  1474 + D2029C5F1E6EADE10027CD92 /* UIImage+WebP.m */,
  1475 + D2029C601E6EADE10027CD92 /* UIImageView+HighlightedWebCache.h */,
  1476 + D2029C611E6EADE10027CD92 /* UIImageView+HighlightedWebCache.m */,
  1477 + D2029C621E6EADE10027CD92 /* UIImageView+WebCache.h */,
  1478 + D2029C631E6EADE10027CD92 /* UIImageView+WebCache.m */,
  1479 + D2029C641E6EADE10027CD92 /* UIView+WebCacheOperation.h */,
  1480 + D2029C651E6EADE10027CD92 /* UIView+WebCacheOperation.m */,
  1481 + );
  1482 + path = SDWebImage;
  1483 + sourceTree = "<group>";
  1484 + };
  1485 + D2029C661E6EADE10027CD92 /* SSKeychain */ = {
  1486 + isa = PBXGroup;
  1487 + children = (
  1488 + D2029C671E6EADE10027CD92 /* SSKeychain.h */,
  1489 + D2029C681E6EADE10027CD92 /* SSKeychain.m */,
  1490 + );
  1491 + path = SSKeychain;
  1492 + sourceTree = "<group>";
  1493 + };
  1494 + D2029C691E6EADE10027CD92 /* SVProgressHUD */ = {
  1495 + isa = PBXGroup;
  1496 + children = (
  1497 + D2029C6A1E6EADE10027CD92 /* SVIndefiniteAnimatedView.h */,
  1498 + D2029C6B1E6EADE10027CD92 /* SVIndefiniteAnimatedView.m */,
  1499 + D2029C6C1E6EADE10027CD92 /* SVProgressAnimatedView.h */,
  1500 + D2029C6D1E6EADE10027CD92 /* SVProgressAnimatedView.m */,
  1501 + D2029C6E1E6EADE10027CD92 /* SVProgressHUD-Prefix.pch */,
  1502 + D2029C6F1E6EADE10027CD92 /* SVProgressHUD.bundle */,
  1503 + D2029C701E6EADE10027CD92 /* SVProgressHUD.h */,
  1504 + D2029C711E6EADE10027CD92 /* SVProgressHUD.m */,
  1505 + D2029C721E6EADE10027CD92 /* SVRadialGradientLayer.h */,
  1506 + D2029C731E6EADE10027CD92 /* SVRadialGradientLayer.m */,
  1507 + );
  1508 + path = SVProgressHUD;
  1509 + sourceTree = "<group>";
  1510 + };
  1511 + D2029C741E6EADE10027CD92 /* Sections */ = {
  1512 + isa = PBXGroup;
  1513 + children = (
  1514 + 4B45CE421EB86A590079AFB7 /* mySections */,
  1515 + D2888DA71E6EC014003A77C8 /* homeSections */,
  1516 + D2888D951E6EBAA7003A77C8 /* LiveSections */,
  1517 + D2575C431E76846900E3A8FC /* InteractionSections */,
  1518 + D2029C751E6EADE10027CD92 /* ZXSections(例子) */,
  1519 + );
  1520 + path = Sections;
  1521 + sourceTree = "<group>";
  1522 + };
  1523 + D2029C751E6EADE10027CD92 /* ZXSections(例子) */ = {
  1524 + isa = PBXGroup;
  1525 + children = (
  1526 + D2029C761E6EADE10027CD92 /* Temp */,
  1527 + );
  1528 + name = "ZXSections(例子)";
  1529 + path = ZXSections;
  1530 + sourceTree = "<group>";
  1531 + };
  1532 + D2029C761E6EADE10027CD92 /* Temp */ = {
  1533 + isa = PBXGroup;
  1534 + children = (
  1535 + D2029C771E6EADE10027CD92 /* Controller */,
  1536 + D2029C7A1E6EADE10027CD92 /* Model */,
  1537 + D2029C7F1E6EADE10027CD92 /* Presenter */,
  1538 + D2029C851E6EADE10027CD92 /* View */,
  1539 + );
  1540 + name = Temp;
  1541 + path = Home;
  1542 + sourceTree = "<group>";
  1543 + };
  1544 + D2029C771E6EADE10027CD92 /* Controller */ = {
  1545 + isa = PBXGroup;
  1546 + children = (
  1547 + D2888DAF1E6EC05F003A77C8 /* TempViewController.h */,
  1548 + D2888DB01E6EC05F003A77C8 /* TempViewController.m */,
  1549 + );
  1550 + path = Controller;
  1551 + sourceTree = "<group>";
  1552 + };
  1553 + D2029C7A1E6EADE10027CD92 /* Model */ = {
  1554 + isa = PBXGroup;
  1555 + children = (
  1556 + D2029C7B1E6EADE10027CD92 /* SearchModel.h */,
  1557 + D2029C7C1E6EADE10027CD92 /* SearchModel.m */,
  1558 + D2029C7D1E6EADE10027CD92 /* SearchRecomListModel.h */,
  1559 + D2029C7E1E6EADE10027CD92 /* SearchRecomListModel.m */,
  1560 + );
  1561 + path = Model;
  1562 + sourceTree = "<group>";
  1563 + };
  1564 + D2029C7F1E6EADE10027CD92 /* Presenter */ = {
  1565 + isa = PBXGroup;
  1566 + children = (
  1567 + D2029C801E6EADE10027CD92 /* HomeProtocol.h */,
  1568 + D2029C811E6EADE10027CD92 /* SearchHttp.h */,
  1569 + D2029C821E6EADE10027CD92 /* SearchHttp.m */,
  1570 + D2029C831E6EADE10027CD92 /* SearchPresenter.h */,
  1571 + D2029C841E6EADE10027CD92 /* SearchPresenter.m */,
  1572 + );
  1573 + path = Presenter;
  1574 + sourceTree = "<group>";
  1575 + };
  1576 + D2029C851E6EADE10027CD92 /* View */ = {
  1577 + isa = PBXGroup;
  1578 + children = (
  1579 + );
  1580 + path = View;
  1581 + sourceTree = "<group>";
  1582 + };
  1583 + D2029CD11E6EADE70027CD92 /* HttpService */ = {
  1584 + isa = PBXGroup;
  1585 + children = (
  1586 + D2029CD21E6EADE70027CD92 /* HttpService.h */,
  1587 + D2029CD31E6EADE70027CD92 /* HttpService.m */,
  1588 + );
  1589 + path = HttpService;
  1590 + sourceTree = "<group>";
  1591 + };
  1592 + D2029CDC1E6EAE2E0027CD92 /* UtilKits */ = {
  1593 + isa = PBXGroup;
  1594 + children = (
  1595 + 4BD8560D1EBACEF80082061D /* webView */,
  1596 + 4BD855CE1EBAC57A0082061D /* Common.h */,
  1597 + 4B45CEAC1EB873630079AFB7 /* UserInformationModel.h */,
  1598 + 4B45CEAD1EB873630079AFB7 /* UserInformationModel.m */,
  1599 + 4B45CE9C1EB86B9E0079AFB7 /* UserTools */,
  1600 + 4B45CE8C1EB86A760079AFB7 /* UIKit */,
  1601 + D2029CFF1E6EAE2E0027CD92 /* UtilKits.h */,
  1602 + D2029CF21E6EAE2E0027CD92 /* Foundation+Log.m */,
  1603 + D2029CDD1E6EAE2E0027CD92 /* Category */,
  1604 + D2029CEF1E6EAE2E0027CD92 /* DeviceInfo */,
  1605 + D2029CF31E6EAE2E0027CD92 /* Macro */,
  1606 + D2029CFC1E6EAE2E0027CD92 /* ServerUrl */,
  1607 + );
  1608 + path = UtilKits;
  1609 + sourceTree = "<group>";
  1610 + };
  1611 + D2029CDD1E6EAE2E0027CD92 /* Category */ = {
  1612 + isa = PBXGroup;
  1613 + children = (
  1614 + 4B42A6C21EC00CC800DA09D7 /* UIAlertView+Blocks.h */,
  1615 + 4B42A6C31EC00CC800DA09D7 /* UIAlertView+Blocks.m */,
  1616 + 4BD856161EBAD35C0082061D /* NSDictionary+Safety.h */,
  1617 + 4BD856171EBAD35C0082061D /* NSDictionary+Safety.m */,
  1618 + 4BD856131EBAD31A0082061D /* NSString+UrlEncode.h */,
  1619 + 4BD856141EBAD31A0082061D /* NSString+UrlEncode.m */,
  1620 + 4BD855CF1EBAC7220082061D /* DESUtility.h */,
  1621 + 4BD855D01EBAC7220082061D /* DESUtility.m */,
  1622 + 4BD855CB1EBAC4B70082061D /* CNLiveKeychainWrapper.h */,
  1623 + 4BD855CC1EBAC4B70082061D /* CNLiveKeychainWrapper.m */,
  1624 + 4B45CEA91EB86BFA0079AFB7 /* NSString+ZXExtension.h */,
  1625 + 4B45CEAA1EB86BFA0079AFB7 /* NSString+ZXExtension.m */,
  1626 + 81F1C83E1E8BC5CC0085C2B8 /* NSArray+Safety.h */,
  1627 + 81F1C83F1E8BC5CC0085C2B8 /* NSArray+Safety.m */,
  1628 + 81A483061E88B6140097A80A /* UIView+ViewController.h */,
  1629 + 81A483071E88B6140097A80A /* UIView+ViewController.m */,
  1630 + D24571561E8393EB00AA85D6 /* UIImageView+ZXExtension.h */,
  1631 + D24571571E8393EB00AA85D6 /* UIImageView+ZXExtension.m */,
  1632 + 811BB68C1E8116C8005C6291 /* NSString+StringSize.h */,
  1633 + 811BB68D1E8116C8005C6291 /* NSString+StringSize.m */,
  1634 + D2029CDE1E6EAE2E0027CD92 /* NSNumber+ScaleHeight.h */,
  1635 + D2029CDF1E6EAE2E0027CD92 /* NSNumber+ScaleHeight.m */,
  1636 + D2029CE01E6EAE2E0027CD92 /* UIColor+HexString.h */,
  1637 + D2029CE11E6EAE2E0027CD92 /* UIColor+HexString.m */,
  1638 + D2029CE21E6EAE2E0027CD92 /* UIImage+ScaleImageSize.h */,
  1639 + D2029CE31E6EAE2E0027CD92 /* UIImage+ScaleImageSize.m */,
  1640 + D2029CE41E6EAE2E0027CD92 /* UIImage+ZXExtension.h */,
  1641 + D2029CE51E6EAE2E0027CD92 /* UIImage+ZXExtension.m */,
  1642 + D2029CE61E6EAE2E0027CD92 /* UILabel+ContentSize.h */,
  1643 + D2029CE71E6EAE2E0027CD92 /* UILabel+ContentSize.m */,
  1644 + D2029CE81E6EAE2E0027CD92 /* UILabel+labelFitSize.h */,
  1645 + D2029CE91E6EAE2E0027CD92 /* UILabel+labelFitSize.m */,
  1646 + D2029CEA1E6EAE2E0027CD92 /* UIView+Extension.h */,
  1647 + D2029CEB1E6EAE2E0027CD92 /* UIView+Extension.m */,
  1648 + D25BF89E1E80C4BD007FB138 /* UIImage+LVCVagueImage.h */,
  1649 + D25BF89F1E80C4BD007FB138 /* UIImage+LVCVagueImage.m */,
  1650 + );
  1651 + path = Category;
  1652 + sourceTree = "<group>";
  1653 + };
  1654 + D2029CEF1E6EAE2E0027CD92 /* DeviceInfo */ = {
  1655 + isa = PBXGroup;
  1656 + children = (
  1657 + D2029CF01E6EAE2E0027CD92 /* ZXDeviceInfo.h */,
  1658 + D2029CF11E6EAE2E0027CD92 /* ZXDeviceInfo.m */,
  1659 + );
  1660 + path = DeviceInfo;
  1661 + sourceTree = "<group>";
  1662 + };
  1663 + D2029CF31E6EAE2E0027CD92 /* Macro */ = {
  1664 + isa = PBXGroup;
  1665 + children = (
  1666 + D2029CF41E6EAE2E0027CD92 /* Macros */,
  1667 + 4BD8561B1EBAD6490082061D /* ZXConst.h */,
  1668 + 4BD8561C1EBAD6490082061D /* ZXConst.m */,
  1669 + D2029CFB1E6EAE2E0027CD92 /* Macros.h */,
  1670 + );
  1671 + path = Macro;
  1672 + sourceTree = "<group>";
  1673 + };
  1674 + D2029CF41E6EAE2E0027CD92 /* Macros */ = {
  1675 + isa = PBXGroup;
  1676 + children = (
  1677 + D2029CF51E6EAE2E0027CD92 /* AppMacro.h */,
  1678 + D2029CF61E6EAE2E0027CD92 /* EnumMacro.h */,
  1679 + D2029CF71E6EAE2E0027CD92 /* NotificationMacro.h */,
  1680 + D2029CF81E6EAE2E0027CD92 /* UserDefaultKeyMacro.h */,
  1681 + D2029CF91E6EAE2E0027CD92 /* UtilsMacro.h */,
  1682 + D2029CFA1E6EAE2E0027CD92 /* VenderMacro.h */,
  1683 + );
  1684 + path = Macros;
  1685 + sourceTree = "<group>";
  1686 + };
  1687 + D2029CFC1E6EAE2E0027CD92 /* ServerUrl */ = {
  1688 + isa = PBXGroup;
  1689 + children = (
  1690 + D2029CFD1E6EAE2E0027CD92 /* ZXServerUrl.h */,
  1691 + D2029CFE1E6EAE2E0027CD92 /* ZXServerUrl.m */,
  1692 + );
  1693 + path = ServerUrl;
  1694 + sourceTree = "<group>";
  1695 + };
  1696 + D2029D0E1E6EAF510027CD92 /* AppDelegate */ = {
  1697 + isa = PBXGroup;
  1698 + children = (
  1699 + D2029D121E6EAF8D0027CD92 /* AppDelegate.h */,
  1700 + D2029D151E6EB00D0027CD92 /* AppDelegate.m */,
  1701 + );
  1702 + path = AppDelegate;
  1703 + sourceTree = "<group>";
  1704 + };
  1705 + D209AD721EC585A600D82E3B /* Model */ = {
  1706 + isa = PBXGroup;
  1707 + children = (
  1708 + );
  1709 + name = Model;
  1710 + sourceTree = "<group>";
  1711 + };
  1712 + D217A2441E7B76C7003B44CB /* Present */ = {
  1713 + isa = PBXGroup;
  1714 + children = (
  1715 + D217A2451E7B76C7003B44CB /* PresentModelAble.h */,
  1716 + D217A2461E7B76C7003B44CB /* PresentView.h */,
  1717 + D217A2471E7B76C7003B44CB /* PresentView.m */,
  1718 + D217A2481E7B76C7003B44CB /* PresentViewCell.h */,
  1719 + D217A2491E7B76C7003B44CB /* PresentViewCell.m */,
  1720 + );
  1721 + path = Present;
  1722 + sourceTree = "<group>";
  1723 + };
  1724 + D22830F51E77C24900627701 /* GiftViews */ = {
  1725 + isa = PBXGroup;
  1726 + children = (
  1727 + D22830FD1E77C69E00627701 /* GiftListView.h */,
  1728 + D22830FE1E77C69E00627701 /* GiftListView.m */,
  1729 + D236967C1E7F9E4100E4BF71 /* GiftPayButton.h */,
  1730 + D236967D1E7F9E4100E4BF71 /* GiftPayButton.m */,
  1731 + );
  1732 + path = GiftViews;
  1733 + sourceTree = "<group>";
  1734 + };
  1735 + D22830F61E77C26C00627701 /* Chat */ = {
  1736 + isa = PBXGroup;
  1737 + children = (
  1738 + D2B7B24E1E8247B500ED084E /* ChatBarrageManager */,
  1739 + D236968F1E7FC83800E4BF71 /* ChatMsgModel */,
  1740 + D22830F71E77C27A00627701 /* ChatViews */,
  1741 + );
  1742 + path = Chat;
  1743 + sourceTree = "<group>";
  1744 + };
  1745 + D22830F71E77C27A00627701 /* ChatViews */ = {
  1746 + isa = PBXGroup;
  1747 + children = (
  1748 + D23696821E7FC6A900E4BF71 /* chatListCell.h */,
  1749 + D23696831E7FC6A900E4BF71 /* chatListCell.m */,
  1750 + );
  1751 + path = ChatViews;
  1752 + sourceTree = "<group>";
  1753 + };
  1754 + D22830F81E77C2A700627701 /* TopToolView */ = {
  1755 + isa = PBXGroup;
  1756 + children = (
  1757 + D2A803061E80BD6F009D6F1C /* TopToolView.h */,
  1758 + D2A803071E80BD6F009D6F1C /* TopToolView.m */,
  1759 + );
  1760 + path = TopToolView;
  1761 + sourceTree = "<group>";
  1762 + };
  1763 + D22830F91E77C2D900627701 /* BottomToolView */ = {
  1764 + isa = PBXGroup;
  1765 + children = (
  1766 + D22830FA1E77C2D900627701 /* BottomToolView.h */,
  1767 + D22830FB1E77C2D900627701 /* BottomToolView.m */,
  1768 + );
  1769 + path = BottomToolView;
  1770 + sourceTree = "<group>";
  1771 + };
  1772 + D22831061E77D8D500627701 /* GiftModel */ = {
  1773 + isa = PBXGroup;
  1774 + children = (
  1775 + D22831071E77D8D500627701 /* GiftModel.h */,
  1776 + D22831081E77D8D500627701 /* GiftModel.m */,
  1777 + );
  1778 + path = GiftModel;
  1779 + sourceTree = "<group>";
  1780 + };
  1781 + D236968F1E7FC83800E4BF71 /* ChatMsgModel */ = {
  1782 + isa = PBXGroup;
  1783 + children = (
  1784 + D23696901E7FC83800E4BF71 /* chatMsgModel.h */,
  1785 + D23696911E7FC83800E4BF71 /* chatMsgModel.m */,
  1786 + );
  1787 + path = ChatMsgModel;
  1788 + sourceTree = "<group>";
  1789 + };
  1790 + D24571591E83A61E00AA85D6 /* BounceView */ = {
  1791 + isa = PBXGroup;
  1792 + children = (
  1793 + D245715A1E83A62B00AA85D6 /* BounceView.h */,
  1794 + D245715B1E83A62B00AA85D6 /* BounceView.m */,
  1795 + );
  1796 + name = BounceView;
  1797 + sourceTree = "<group>";
  1798 + };
  1799 + D24571601E83C3F900AA85D6 /* PrivateView */ = {
  1800 + isa = PBXGroup;
  1801 + children = (
  1802 + D24571611E83C40B00AA85D6 /* PrivateView.h */,
  1803 + D24571621E83C40B00AA85D6 /* PrivateView.m */,
  1804 + D29E81EB1E88DC5B008C9906 /* PriChatCell.h */,
  1805 + D29E81EC1E88DC5B008C9906 /* PriChatCell.m */,
  1806 + );
  1807 + path = PrivateView;
  1808 + sourceTree = "<group>";
  1809 + };
  1810 + D2575C431E76846900E3A8FC /* InteractionSections */ = {
  1811 + isa = PBXGroup;
  1812 + children = (
  1813 + D24571601E83C3F900AA85D6 /* PrivateView */,
  1814 + D24571591E83A61E00AA85D6 /* BounceView */,
  1815 + D22830F91E77C2D900627701 /* BottomToolView */,
  1816 + D22830F81E77C2A700627701 /* TopToolView */,
  1817 + D22830F61E77C26C00627701 /* Chat */,
  1818 + D245715D1E83B09900AA85D6 /* userInfoModel.h */,
  1819 + D245715E1E83B09900AA85D6 /* userInfoModel.m */,
  1820 + D207BE9F1E84C1EC006A0CE8 /* AnimationBaseView.h */,
  1821 + D207BEA01E84C1EC006A0CE8 /* AnimationBaseView.m */,
  1822 + D22830EF1E778C0F00627701 /* LiveBaseView.h */,
  1823 + D22830F01E778C0F00627701 /* LiveBaseView.m */,
  1824 + D2575C651E76A25400E3A8FC /* LVCInteractionController.h */,
  1825 + D2575C661E76A25400E3A8FC /* LVCInteractionController.m */,
  1826 + D2575C681E76A42B00E3A8FC /* Gift */,
  1827 + D2575C471E7685C500E3A8FC /* heartAnimation */,
  1828 + );
  1829 + path = InteractionSections;
  1830 + sourceTree = "<group>";
  1831 + };
  1832 + D2575C471E7685C500E3A8FC /* heartAnimation */ = {
  1833 + isa = PBXGroup;
  1834 + children = (
  1835 + D2575C491E7685DE00E3A8FC /* UIView+Bubbling.h */,
  1836 + D2575C481E7685DE00E3A8FC /* UIView+Bubbling.m */,
  1837 + D2575C441E76857100E3A8FC /* LVCAnimationManager.h */,
  1838 + D2575C451E76857100E3A8FC /* LVCAnimationManager.m */,
  1839 + );
  1840 + path = heartAnimation;
  1841 + sourceTree = "<group>";
  1842 + };
  1843 + D2575C681E76A42B00E3A8FC /* Gift */ = {
  1844 + isa = PBXGroup;
  1845 + children = (
  1846 + D217A2441E7B76C7003B44CB /* Present */,
  1847 + D217A24C1E7B77C7003B44CB /* ComboCell.h */,
  1848 + D217A24D1E7B77C7003B44CB /* ComboCell.m */,
  1849 + D25530041E7911A800DF38A5 /* GiftAnimationAction.h */,
  1850 + D25530051E7911A800DF38A5 /* GiftAnimationAction.m */,
  1851 + D25530011E79115100DF38A5 /* AnimQueueManager.h */,
  1852 + D25530021E79115100DF38A5 /* AnimQueueManager.m */,
  1853 + D2552FFE1E7909AC00DF38A5 /* GiftAnimOperation.h */,
  1854 + D2552FFF1E7909AC00DF38A5 /* GiftAnimOperation.m */,
  1855 + D22830F51E77C24900627701 /* GiftViews */,
  1856 + D2575C6C1E76A4F300E3A8FC /* GiftResource */,
  1857 + D22831061E77D8D500627701 /* GiftModel */,
  1858 + );
  1859 + path = Gift;
  1860 + sourceTree = "<group>";
  1861 + };
  1862 + D2575C6C1E76A4F300E3A8FC /* GiftResource */ = {
  1863 + isa = PBXGroup;
  1864 + children = (
  1865 + D255300A1E793F8200DF38A5 /* NHFighterView+animDelegagte.h */,
  1866 + D255300B1E793F8200DF38A5 /* NHFighterView+animDelegagte.m */,
  1867 + D2575C6D1E76A4F300E3A8FC /* NHCarView.h */,
  1868 + D2575C6E1E76A4F300E3A8FC /* NHCarViews.h */,
  1869 + D2575C6F1E76A4F300E3A8FC /* NHCarViews.m */,
  1870 + D2575C701E76A4F300E3A8FC /* NHCarViews.xib */,
  1871 + D2575C711E76A4F300E3A8FC /* NHFighterView.h */,
  1872 + D2575C721E76A4F300E3A8FC /* NHFighterView.nib */,
  1873 + D2575C731E76A4F300E3A8FC /* NHGiftAnimtionSDK.a */,
  1874 + D2575C741E76A4F300E3A8FC /* NHHeader.h */,
  1875 + D2575C751E76A4F300E3A8FC /* NHPlaneView.h */,
  1876 + D2575C761E76A4F300E3A8FC /* NHPlaneViews.h */,
  1877 + D2575C771E76A4F300E3A8FC /* NHPlaneViews.m */,
  1878 + D2575C781E76A4F300E3A8FC /* NHPlaneViews.xib */,
  1879 + D2575C791E76A4F300E3A8FC /* resource.bundle */,
  1880 + );
  1881 + path = GiftResource;
  1882 + sourceTree = "<group>";
  1883 + };
  1884 + D25BF8741E7B8A59007FB138 /* Model */ = {
  1885 + isa = PBXGroup;
  1886 + children = (
  1887 + );
  1888 + path = Model;
  1889 + sourceTree = "<group>";
  1890 + };
  1891 + D25BF8751E7B8A59007FB138 /* View */ = {
  1892 + isa = PBXGroup;
  1893 + children = (
  1894 + D25BF8761E7B8A82007FB138 /* FilterFunctionView.h */,
  1895 + D25BF8771E7B8A82007FB138 /* FilterFunctionView.m */,
  1896 + D25BF8781E7B8A82007FB138 /* SliderView.h */,
  1897 + D25BF8791E7B8A82007FB138 /* SliderView.m */,
  1898 + D29D88461E88C53300543A03 /* LVCUGCLivePrepareView.h */,
  1899 + D29D88471E88C53300543A03 /* LVCUGCLivePrepareView.m */,
  1900 + D2B2ED7E1E88FC5200F7538A /* LVCUGCLiveEndView.h */,
  1901 + D2B2ED7F1E88FC5200F7538A /* LVCUGCLiveEndView.m */,
  1902 + );
  1903 + path = View;
  1904 + sourceTree = "<group>";
  1905 + };
  1906 + D25BF88A1E7F7F77007FB138 /* Resource */ = {
  1907 + isa = PBXGroup;
  1908 + children = (
  1909 + D25BF88C1E7F7F77007FB138 /* Images */,
  1910 + D25BF88B1E7F7F77007FB138 /* Fonts */,
  1911 + D25BF88D1E7F7F77007FB138 /* Sound */,
  1912 + D25BF88E1E7F7F77007FB138 /* Videos */,
  1913 + );
  1914 + path = Resource;
  1915 + sourceTree = "<group>";
  1916 + };
  1917 + D25BF88B1E7F7F77007FB138 /* Fonts */ = {
  1918 + isa = PBXGroup;
  1919 + children = (
  1920 + );
  1921 + path = Fonts;
  1922 + sourceTree = "<group>";
  1923 + };
  1924 + D25BF88C1E7F7F77007FB138 /* Images */ = {
  1925 + isa = PBXGroup;
  1926 + children = (
  1927 + D2D7D18C1E8A581000217771 /* timg.jpeg */,
  1928 + D25BF88F1E7F7F8F007FB138 /* UGCLoading.jpeg */,
  1929 + D25BF8A41E80EC76007FB138 /* 头像.jpg */,
  1930 + );
  1931 + path = Images;
  1932 + sourceTree = "<group>";
  1933 + };
  1934 + D25BF88D1E7F7F77007FB138 /* Sound */ = {
  1935 + isa = PBXGroup;
  1936 + children = (
  1937 + );
  1938 + path = Sound;
  1939 + sourceTree = "<group>";
  1940 + };
  1941 + D25BF88E1E7F7F77007FB138 /* Videos */ = {
  1942 + isa = PBXGroup;
  1943 + children = (
  1944 + );
  1945 + path = Videos;
  1946 + sourceTree = "<group>";
  1947 + };
  1948 + D25BF8A11E80C4FC007FB138 /* Frameworks */ = {
  1949 + isa = PBXGroup;
  1950 + children = (
  1951 + 4BD855D21EBAC8B20082061D /* CNLiveUserSystemSDK.framework */,
  1952 + D25BF8A21E80C4FC007FB138 /* Accelerate.framework */,
  1953 + );
  1954 + name = Frameworks;
  1955 + sourceTree = "<group>";
  1956 + };
  1957 + D2888D911E6EB897003A77C8 /* View */ = {
  1958 + isa = PBXGroup;
  1959 + children = (
  1960 + D2888D921E6EB8B4003A77C8 /* LVCTabBar.h */,
  1961 + D2888D931E6EB8B4003A77C8 /* LVCTabBar.m */,
  1962 + );
  1963 + path = View;
  1964 + sourceTree = "<group>";
  1965 + };
  1966 + D2888D951E6EBAA7003A77C8 /* LiveSections */ = {
  1967 + isa = PBXGroup;
  1968 + children = (
  1969 + D2888D991E6EBF1B003A77C8 /* Controller */,
  1970 + D25BF8741E7B8A59007FB138 /* Model */,
  1971 + D25BF8751E7B8A59007FB138 /* View */,
  1972 + );
  1973 + path = LiveSections;
  1974 + sourceTree = "<group>";
  1975 + };
  1976 + D2888D991E6EBF1B003A77C8 /* Controller */ = {
  1977 + isa = PBXGroup;
  1978 + children = (
  1979 + D2888D9A1E6EBF1B003A77C8 /* LVCLiveViewController.h */,
  1980 + D2888D9B1E6EBF1B003A77C8 /* LVCLiveViewController.m */,
  1981 + );
  1982 + path = Controller;
  1983 + sourceTree = "<group>";
  1984 + };
  1985 + D2888DA71E6EC014003A77C8 /* homeSections */ = {
  1986 + isa = PBXGroup;
  1987 + children = (
  1988 + D2888DA81E6EC014003A77C8 /* Controller */,
  1989 + 81A482FC1E88B0130097A80A /* Model */,
  1990 + D2888DAA1E6EC014003A77C8 /* View */,
  1991 + );
  1992 + path = homeSections;
  1993 + sourceTree = "<group>";
  1994 + };
  1995 + D2888DA81E6EC014003A77C8 /* Controller */ = {
  1996 + isa = PBXGroup;
  1997 + children = (
  1998 + D2888DB21E6EC154003A77C8 /* HomeViewController.h */,
  1999 + D2888DB31E6EC154003A77C8 /* HomeViewController.m */,
  2000 + 810B64E11E779AFE00133E15 /* LVCLivePlayerController.h */,
  2001 + 810B64E21E779AFE00133E15 /* LVCLivePlayerController.m */,
  2002 + 810B65081E77B39D00133E15 /* LVCFullScreenPlayerController.h */,
  2003 + 810B65091E77B39D00133E15 /* LVCFullScreenPlayerController.m */,
  2004 + D25BF87E1E7BD266007FB138 /* LVCUGCLivePlayerController.h */,
  2005 + D25BF87F1E7BD266007FB138 /* LVCUGCLivePlayerController.m */,
  2006 + 81A483151E88BED00097A80A /* LVCTVLiveViewController.h */,
  2007 + 81A483161E88BED00097A80A /* LVCTVLiveViewController.m */,
  2008 + 81A483181E88E19C0097A80A /* LVCMoreProgramViewController.h */,
  2009 + 81A483191E88E19C0097A80A /* LVCMoreProgramViewController.m */,
  2010 + D2A089EC1E8A336A0071412C /* LiveLIstService.h */,
  2011 + D2A089ED1E8A336A0071412C /* LiveLIstService.m */,
  2012 + );
  2013 + path = Controller;
  2014 + sourceTree = "<group>";
  2015 + };
  2016 + D2888DAA1E6EC014003A77C8 /* View */ = {
  2017 + isa = PBXGroup;
  2018 + children = (
  2019 + 8128E2831E8A6A3600B40E75 /* Barrage */,
  2020 + 811BB67B1E80F858005C6291 /* ChatView */,
  2021 + 810B64DE1E779AE900133E15 /* LVCPlayer.h */,
  2022 + 810B64DF1E779AE900133E15 /* LVCPlayer.m */,
  2023 + 81A482F31E88ACC80097A80A /* LVCTelevisionView.h */,
  2024 + 81A482F41E88ACC80097A80A /* LVCTelevisionView.m */,
  2025 + 81A482F61E88AFA20097A80A /* LVCFirstHeaderReusableView.h */,
  2026 + 81A482F71E88AFA20097A80A /* LVCFirstHeaderReusableView.m */,
  2027 + 81A483091E88B7EE0097A80A /* LVCOtherHeaderReusableView.h */,
  2028 + 81A4830A1E88B7EE0097A80A /* LVCOtherHeaderReusableView.m */,
  2029 + 81A483121E88BA420097A80A /* LVCLiveListCollectionViewCell.h */,
  2030 + 81A483131E88BA420097A80A /* LVCLiveListCollectionViewCell.m */,
  2031 + 81A483031E88B32C0097A80A /* LVCHeaderRollCollectionViewCell.h */,
  2032 + 81A483041E88B32C0097A80A /* LVCHeaderRollCollectionViewCell.m */,
  2033 + 8112D42F1E7927A5002E00F6 /* LVCPlayerLoadingView.h */,
  2034 + 8112D4301E7927A5002E00F6 /* LVCPlayerLoadingView.m */,
  2035 + 81CE9E191E8CF567000F8F6B /* LVCRequestFailedView.h */,
  2036 + 81CE9E1A1E8CF567000F8F6B /* LVCRequestFailedView.m */,
  2037 + D28F5FFD1E8BC7EF00914142 /* LVCUGCLiveListView.h */,
  2038 + D28F5FFE1E8BC7EF00914142 /* LVCUGCLiveListView.m */,
  2039 + D2A089E61E89FA720071412C /* LVCUGCLivePlayerCell.h */,
  2040 + D2A089E71E89FA720071412C /* LVCUGCLivePlayerCell.m */,
  2041 + D25BF8811E7F775F007FB138 /* LVCUGCPlayerLoadingView.h */,
  2042 + D25BF8821E7F775F007FB138 /* LVCUGCPlayerLoadingView.m */,
  2043 + D25BF8911E7FBAEA007FB138 /* LVCUGCBackgroundView.h */,
  2044 + D25BF8921E7FBAEA007FB138 /* LVCUGCBackgroundView.m */,
  2045 + 81A4831B1E88E1EB0097A80A /* LVCMoreSortTableViewCell.h */,
  2046 + 81A4831C1E88E1EB0097A80A /* LVCMoreSortTableViewCell.m */,
  2047 + );
  2048 + path = View;
  2049 + sourceTree = "<group>";
  2050 + };
  2051 + D2B7B24E1E8247B500ED084E /* ChatBarrageManager */ = {
  2052 + isa = PBXGroup;
  2053 + children = (
  2054 + D2B7B2551E8261EF00ED084E /* ChatBarrOperation.h */,
  2055 + D2B7B2561E8261EF00ED084E /* ChatBarrOperation.m */,
  2056 + D2B7B24F1E8247D400ED084E /* ChatBarrageManager.h */,
  2057 + D2B7B2501E8247D400ED084E /* ChatBarrageManager.m */,
  2058 + D2B7B2521E824B2D00ED084E /* ChatBarrageView.h */,
  2059 + D2B7B2531E824B2D00ED084E /* ChatBarrageView.m */,
  2060 + D224B1951E826ED800CC61D0 /* ChatBarrageAnimAction.h */,
  2061 + D224B1961E826ED800CC61D0 /* ChatBarrageAnimAction.m */,
  2062 + );
  2063 + path = ChatBarrageManager;
  2064 + sourceTree = "<group>";
  2065 + };
  2066 +/* End PBXGroup section */
  2067 +
  2068 +/* Begin PBXNativeTarget section */
  2069 + D2029B801E6EAAA50027CD92 /* LiveVideoCloud */ = {
  2070 + isa = PBXNativeTarget;
  2071 + buildConfigurationList = D2029BAE1E6EAAA50027CD92 /* Build configuration list for PBXNativeTarget "LiveVideoCloud" */;
  2072 + buildPhases = (
  2073 + D2029B7D1E6EAAA50027CD92 /* Sources */,
  2074 + D2029B7E1E6EAAA50027CD92 /* Frameworks */,
  2075 + D2029B7F1E6EAAA50027CD92 /* Resources */,
  2076 + 812E50591E7699E9004F5FCD /* Embed Frameworks */,
  2077 + );
  2078 + buildRules = (
  2079 + );
  2080 + dependencies = (
  2081 + );
  2082 + name = LiveVideoCloud;
  2083 + productName = LiveVideoCloud;
  2084 + productReference = D2029B811E6EAAA50027CD92 /* LiveVideoCloud.app */;
  2085 + productType = "com.apple.product-type.application";
  2086 + };
  2087 + D2029B991E6EAAA50027CD92 /* LiveVideoCloudTests */ = {
  2088 + isa = PBXNativeTarget;
  2089 + buildConfigurationList = D2029BB11E6EAAA50027CD92 /* Build configuration list for PBXNativeTarget "LiveVideoCloudTests" */;
  2090 + buildPhases = (
  2091 + D2029B961E6EAAA50027CD92 /* Sources */,
  2092 + D2029B971E6EAAA50027CD92 /* Frameworks */,
  2093 + D2029B981E6EAAA50027CD92 /* Resources */,
  2094 + );
  2095 + buildRules = (
  2096 + );
  2097 + dependencies = (
  2098 + D2029B9C1E6EAAA50027CD92 /* PBXTargetDependency */,
  2099 + );
  2100 + name = LiveVideoCloudTests;
  2101 + productName = LiveVideoCloudTests;
  2102 + productReference = D2029B9A1E6EAAA50027CD92 /* LiveVideoCloudTests.xctest */;
  2103 + productType = "com.apple.product-type.bundle.unit-test";
  2104 + };
  2105 + D2029BA41E6EAAA50027CD92 /* LiveVideoCloudUITests */ = {
  2106 + isa = PBXNativeTarget;
  2107 + buildConfigurationList = D2029BB41E6EAAA50027CD92 /* Build configuration list for PBXNativeTarget "LiveVideoCloudUITests" */;
  2108 + buildPhases = (
  2109 + D2029BA11E6EAAA50027CD92 /* Sources */,
  2110 + D2029BA21E6EAAA50027CD92 /* Frameworks */,
  2111 + D2029BA31E6EAAA50027CD92 /* Resources */,
  2112 + );
  2113 + buildRules = (
  2114 + );
  2115 + dependencies = (
  2116 + D2029BA71E6EAAA50027CD92 /* PBXTargetDependency */,
  2117 + );
  2118 + name = LiveVideoCloudUITests;
  2119 + productName = LiveVideoCloudUITests;
  2120 + productReference = D2029BA51E6EAAA50027CD92 /* LiveVideoCloudUITests.xctest */;
  2121 + productType = "com.apple.product-type.bundle.ui-testing";
  2122 + };
  2123 +/* End PBXNativeTarget section */
  2124 +
  2125 +/* Begin PBXProject section */
  2126 + D2029B791E6EAAA50027CD92 /* Project object */ = {
  2127 + isa = PBXProject;
  2128 + attributes = {
  2129 + CLASSPREFIX = LVC;
  2130 + LastUpgradeCheck = 0820;
  2131 + ORGANIZATIONNAME = cnlive;
  2132 + TargetAttributes = {
  2133 + D2029B801E6EAAA50027CD92 = {
  2134 + CreatedOnToolsVersion = 8.2.1;
  2135 + DevelopmentTeam = 94X49GG3ZW;
  2136 + ProvisioningStyle = Automatic;
  2137 + };
  2138 + D2029B991E6EAAA50027CD92 = {
  2139 + CreatedOnToolsVersion = 8.2.1;
  2140 + ProvisioningStyle = Automatic;
  2141 + TestTargetID = D2029B801E6EAAA50027CD92;
  2142 + };
  2143 + D2029BA41E6EAAA50027CD92 = {
  2144 + CreatedOnToolsVersion = 8.2.1;
  2145 + ProvisioningStyle = Automatic;
  2146 + TestTargetID = D2029B801E6EAAA50027CD92;
  2147 + };
  2148 + };
  2149 + };
  2150 + buildConfigurationList = D2029B7C1E6EAAA50027CD92 /* Build configuration list for PBXProject "LiveVideoCloud" */;
  2151 + compatibilityVersion = "Xcode 3.2";
  2152 + developmentRegion = English;
  2153 + hasScannedForEncodings = 0;
  2154 + knownRegions = (
  2155 + en,
  2156 + Base,
  2157 + );
  2158 + mainGroup = D2029B781E6EAAA50027CD92;
  2159 + productRefGroup = D2029B821E6EAAA50027CD92 /* Products */;
  2160 + projectDirPath = "";
  2161 + projectRoot = "";
  2162 + targets = (
  2163 + D2029B801E6EAAA50027CD92 /* LiveVideoCloud */,
  2164 + D2029B991E6EAAA50027CD92 /* LiveVideoCloudTests */,
  2165 + D2029BA41E6EAAA50027CD92 /* LiveVideoCloudUITests */,
  2166 + );
  2167 + };
  2168 +/* End PBXProject section */
  2169 +
  2170 +/* Begin PBXResourcesBuildPhase section */
  2171 + D2029B7F1E6EAAA50027CD92 /* Resources */ = {
  2172 + isa = PBXResourcesBuildPhase;
  2173 + buildActionMask = 2147483647;
  2174 + files = (
  2175 + D2029C971E6EADE10027CD92 /* Info.plist in Resources */,
  2176 + D2575C7F1E76A4F300E3A8FC /* NHPlaneViews.xib in Resources */,
  2177 + D2575C7B1E76A4F300E3A8FC /* NHCarViews.xib in Resources */,
  2178 + D25BF8901E7F7F8F007FB138 /* UGCLoading.jpeg in Resources */,
  2179 + D25BF8A51E80EC76007FB138 /* 头像.jpg in Resources */,
  2180 + D2029CC91E6EADE10027CD92 /* SVProgressHUD.bundle in Resources */,
  2181 + D2575C801E76A4F300E3A8FC /* resource.bundle in Resources */,
  2182 + D2029B941E6EAAA50027CD92 /* LaunchScreen.storyboard in Resources */,
  2183 + D2029B911E6EAAA50027CD92 /* animation.xcassets in Resources */,
  2184 + D2D7D18D1E8A581000217771 /* timg.jpeg in Resources */,
  2185 + D2029CB01E6EADE10027CD92 /* MJRefresh.bundle in Resources */,
  2186 + D2575C7C1E76A4F300E3A8FC /* NHFighterView.nib in Resources */,
  2187 + D25BF87D1E7B8C78007FB138 /* KSYGPUResource.bundle in Resources */,
  2188 + );
  2189 + runOnlyForDeploymentPostprocessing = 0;
  2190 + };
  2191 + D2029B981E6EAAA50027CD92 /* Resources */ = {
  2192 + isa = PBXResourcesBuildPhase;
  2193 + buildActionMask = 2147483647;
  2194 + files = (
  2195 + );
  2196 + runOnlyForDeploymentPostprocessing = 0;
  2197 + };
  2198 + D2029BA31E6EAAA50027CD92 /* Resources */ = {
  2199 + isa = PBXResourcesBuildPhase;
  2200 + buildActionMask = 2147483647;
  2201 + files = (
  2202 + );
  2203 + runOnlyForDeploymentPostprocessing = 0;
  2204 + };
  2205 +/* End PBXResourcesBuildPhase section */
  2206 +
  2207 +/* Begin PBXSourcesBuildPhase section */
  2208 + D2029B7D1E6EAAA50027CD92 /* Sources */ = {
  2209 + isa = PBXSourcesBuildPhase;
  2210 + buildActionMask = 2147483647;
  2211 + files = (
  2212 + D2029CC31E6EADE10027CD92 /* UIImageView+HighlightedWebCache.m in Sources */,
  2213 + D22830FF1E77C69E00627701 /* GiftListView.m in Sources */,
  2214 + 4B45CE8A1EB86A590079AFB7 /* LVCPersonCommonCell.m in Sources */,
  2215 + 81F1C83D1E8BBDE40085C2B8 /* V8HorizontalPickerView.m in Sources */,
  2216 + D2029CC01E6EADE10027CD92 /* UIImage+GIF.m in Sources */,
  2217 + 4B45CE851EB86A590079AFB7 /* LVCClearCachesCell.m in Sources */,
  2218 + D25BF8831E7F775F007FB138 /* LVCUGCPlayerLoadingView.m in Sources */,
  2219 + 81A4831A1E88E19C0097A80A /* LVCMoreProgramViewController.m in Sources */,
  2220 + 4B45CE9B1EB86A760079AFB7 /* ZXUIKit.m in Sources */,
  2221 + D2029BCF1E6EADD70027CD92 /* ZXTabBarController.m in Sources */,
  2222 + D2029CB81E6EADE10027CD92 /* SDImageCache.m in Sources */,
  2223 + D2029CBB1E6EADE10027CD92 /* SDWebImageDownloader.m in Sources */,
  2224 + D2029CA71E6EADE10027CD92 /* MJRefreshAutoGifFooter.m in Sources */,
  2225 + D28F5FFF1E8BC7EF00914142 /* LVCUGCLiveListView.m in Sources */,
  2226 + D2029CC11E6EADE10027CD92 /* UIImage+MultiFormat.m in Sources */,
  2227 + D245715F1E83B09900AA85D6 /* userInfoModel.m in Sources */,
  2228 + D2029C861E6EADE10027CD92 /* Tools.m in Sources */,
  2229 + 4B42A6C41EC00CC800DA09D7 /* UIAlertView+Blocks.m in Sources */,
  2230 + D25BF8931E7FBAEA007FB138 /* LVCUGCBackgroundView.m in Sources */,
  2231 + 4B45CE861EB86A590079AFB7 /* LVCLoginShowView.m in Sources */,
  2232 + D2029CA01E6EADE10027CD92 /* NSObject+MJProperty.m in Sources */,
  2233 + 4BD855FE1EBACD530082061D /* AFSecurityPolicy.m in Sources */,
  2234 + D2029CB51E6EADE10027CD92 /* SDiOSVersion.m in Sources */,
  2235 + 4B45CE981EB86A760079AFB7 /* UILabel+createLabel.m in Sources */,
  2236 + D2029C9C1E6EADE10027CD92 /* MJPropertyType.m in Sources */,
  2237 + 81A4830E1E88B8300097A80A /* LVCChannelsModel.m in Sources */,
  2238 + D22831091E77D8D500627701 /* GiftModel.m in Sources */,
  2239 + D2029CCD1E6EADE10027CD92 /* SearchModel.m in Sources */,
  2240 + 4BD8560F1EBACEF80082061D /* CNLiveWebView.m in Sources */,
  2241 + 810B65051E779B1F00133E15 /* NSLayoutConstraint+MASDebugAdditions.m in Sources */,
  2242 + D2029CCB1E6EADE10027CD92 /* SVRadialGradientLayer.m in Sources */,
  2243 + 8130911E1E84C0F0005F0BFF /* LVCMessage.m in Sources */,
  2244 + D23696841E7FC6A900E4BF71 /* chatListCell.m in Sources */,
  2245 + 4B45CE7B1EB86A590079AFB7 /* MinePersonalDataController.m in Sources */,
  2246 + D2029CAF1E6EADE10027CD92 /* MJRefreshStateHeader.m in Sources */,
  2247 + 4BD856091EBACD530082061D /* UIRefreshControl+AFNetworking.m in Sources */,
  2248 + 81F1C8401E8BC5CC0085C2B8 /* NSArray+Safety.m in Sources */,
  2249 + D2A089EE1E8A336A0071412C /* LiveLIstService.m in Sources */,
  2250 + D2A089E81E89FA720071412C /* LVCUGCLivePlayerCell.m in Sources */,
  2251 + 81A483111E88B8630097A80A /* LVCChannelDetailsModel.m in Sources */,
  2252 + D2029D011E6EAE2E0027CD92 /* UIColor+HexString.m in Sources */,
  2253 + 4B45CE7D1EB86A590079AFB7 /* ModifyInfomationController.m in Sources */,
  2254 + D2029CA41E6EADE10027CD92 /* MJRefreshComponent.m in Sources */,
  2255 + D2575C7A1E76A4F300E3A8FC /* NHCarViews.m in Sources */,
  2256 + D209AD711EC583D100D82E3B /* MineAccountController.m in Sources */,
  2257 + D2029CBC1E6EADE10027CD92 /* SDWebImageDownloaderOperation.m in Sources */,
  2258 + D2029CA51E6EADE10027CD92 /* MJRefreshFooter.m in Sources */,
  2259 + D22830FC1E77C2D900627701 /* BottomToolView.m in Sources */,
  2260 + 4BD856021EBACD530082061D /* AFURLSessionManager.m in Sources */,
  2261 + 4BD855FD1EBACD530082061D /* AFNetworkReachabilityManager.m in Sources */,
  2262 + 810B65061E779B1F00133E15 /* View+MASAdditions.m in Sources */,
  2263 + D2029D161E6EB00D0027CD92 /* AppDelegate.m in Sources */,
  2264 + 4B45CEA51EB86B9F0079AFB7 /* CNLiveThirdLoginManager.m in Sources */,
  2265 + 4BD8561D1EBAD6490082061D /* ZXConst.m in Sources */,
  2266 + D2029CB71E6EADE10027CD92 /* NSData+ImageContentType.m in Sources */,
  2267 + D29E81ED1E88DC5B008C9906 /* PriChatCell.m in Sources */,
  2268 + D2029CD01E6EADE10027CD92 /* SearchPresenter.m in Sources */,
  2269 + D2029CBE1E6EADE10027CD92 /* SDWebImagePrefetcher.m in Sources */,
  2270 + 8128E2891E8A6A3600B40E75 /* CNBarrageView.m in Sources */,
  2271 + D2A803081E80BD6F009D6F1C /* TopToolView.m in Sources */,
  2272 + D2B7B2571E8261EF00ED084E /* ChatBarrOperation.m in Sources */,
  2273 + D209AD6B1EC580F100D82E3B /* LVCWebViewController.m in Sources */,
  2274 + 810B65011E779B1F00133E15 /* MASLayoutConstraint.m in Sources */,
  2275 + D2029CCE1E6EADE10027CD92 /* SearchRecomListModel.m in Sources */,
  2276 + D2029CA11E6EADE10027CD92 /* NSString+MJExtension.m in Sources */,
  2277 + 4B45CE7A1EB86A590079AFB7 /* MineLiveController.m in Sources */,
  2278 + D2029BCB1E6EADD70027CD92 /* BaseTableViewCell.m in Sources */,
  2279 + 81F1C8381E8BBDDA0085C2B8 /* MHPagingScrollView.m in Sources */,
  2280 + D2029CAA1E6EADE10027CD92 /* MJRefreshBackGifFooter.m in Sources */,
  2281 + 4BD855FB1EBACD530082061D /* AFHTTPRequestOperationManager.m in Sources */,
  2282 + D217A24B1E7B76C7003B44CB /* PresentViewCell.m in Sources */,
  2283 + D2029C9B1E6EADE10027CD92 /* MJPropertyKey.m in Sources */,
  2284 + 4B45CE821EB86A590079AFB7 /* LVCMineCommonModel.m in Sources */,
  2285 + D2029CBF1E6EADE10027CD92 /* UIButton+WebCache.m in Sources */,
  2286 + 810B64E31E779AFE00133E15 /* LVCLivePlayerController.m in Sources */,
  2287 + D2575C7E1E76A4F300E3A8FC /* NHPlaneViews.m in Sources */,
  2288 + 4B45CE761EB86A590079AFB7 /* BeingAnchorController.m in Sources */,
  2289 + D2029CC51E6EADE10027CD92 /* UIView+WebCacheOperation.m in Sources */,
  2290 + D2029CAB1E6EADE10027CD92 /* MJRefreshBackNormalFooter.m in Sources */,
  2291 + 4B45CEA61EB86B9F0079AFB7 /* NSNumber+ScaleHeight.m in Sources */,
  2292 + 810B65031E779B1F00133E15 /* MASViewConstraint.m in Sources */,
  2293 + D2029BCE1E6EADD70027CD92 /* ZXNavigationController.m in Sources */,
  2294 + 81A482F51E88ACC80097A80A /* LVCTelevisionView.m in Sources */,
  2295 + D2029CA21E6EADE10027CD92 /* MJRefreshAutoFooter.m in Sources */,
  2296 + D2029CC71E6EADE10027CD92 /* SVIndefiniteAnimatedView.m in Sources */,
  2297 + D2029CA31E6EADE10027CD92 /* MJRefreshBackFooter.m in Sources */,
  2298 + 4B45CE7E1EB86A590079AFB7 /* LoginViewController.m in Sources */,
  2299 + D255300C1E793F8200DF38A5 /* NHFighterView+animDelegagte.m in Sources */,
  2300 + 81A4831D1E88E1EB0097A80A /* LVCMoreSortTableViewCell.m in Sources */,
  2301 + 4BD856181EBAD35C0082061D /* NSDictionary+Safety.m in Sources */,
  2302 + 4BD856011EBACD530082061D /* AFURLResponseSerialization.m in Sources */,
  2303 + D2575C4A1E7685DE00E3A8FC /* UIView+Bubbling.m in Sources */,
  2304 + D2029CA61E6EADE10027CD92 /* MJRefreshHeader.m in Sources */,
  2305 + D2029CC41E6EADE10027CD92 /* UIImageView+WebCache.m in Sources */,
  2306 + 4B45CE801EB86A590079AFB7 /* idAndPwdView.m in Sources */,
  2307 + D236967E1E7F9E4100E4BF71 /* GiftPayButton.m in Sources */,
  2308 + 4BD8560A1EBACD530082061D /* UIWebView+AFNetworking.m in Sources */,
  2309 + 4B45CE831EB86A590079AFB7 /* LVCMineModel.m in Sources */,
  2310 + 4B45CE791EB86A590079AFB7 /* MineAboutUsController.m in Sources */,
  2311 + 81A483081E88B6140097A80A /* UIView+ViewController.m in Sources */,
  2312 + D2A089EB1E8A09CB0071412C /* LVCUGCLivePlayerModel.m in Sources */,
  2313 + D2029CC81E6EADE10027CD92 /* SVProgressAnimatedView.m in Sources */,
  2314 + 4B45CE891EB86A590079AFB7 /* LVCPersonalImageCell.m in Sources */,
  2315 + D2029C961E6EADE10027CD92 /* MBProgressHUD.m in Sources */,
  2316 + 810B65071E779B1F00133E15 /* ViewController+MASAdditions.m in Sources */,
  2317 + D2029C9A1E6EADE10027CD92 /* MJProperty.m in Sources */,
  2318 + 4BD856031EBACD530082061D /* AFNetworkActivityIndicatorManager.m in Sources */,
  2319 + 4BD855CD1EBAC4B70082061D /* CNLiveKeychainWrapper.m in Sources */,
  2320 + D2029CB91E6EADE10027CD92 /* SDWebImageCompat.m in Sources */,
  2321 + D2029CB61E6EADE10027CD92 /* MKAnnotationView+WebCache.m in Sources */,
  2322 + 4BD856121EBAD2640082061D /* ProgramModel.m in Sources */,
  2323 + D2B2ED801E88FC5200F7538A /* LVCUGCLiveEndView.m in Sources */,
  2324 + 810B64FE1E779B1F00133E15 /* MASCompositeConstraint.m in Sources */,
  2325 + 8128E2881E8A6A3600B40E75 /* CNBarrageManager.m in Sources */,
  2326 + D2029C981E6EADE10027CD92 /* MJExtensionConst.m in Sources */,
  2327 + D2575C671E76A25400E3A8FC /* LVCInteractionController.m in Sources */,
  2328 + D2029CAE1E6EADE10027CD92 /* MJRefreshNormalHeader.m in Sources */,
  2329 + D23696921E7FC83800E4BF71 /* chatMsgModel.m in Sources */,
  2330 + 4BD856071EBACD530082061D /* UIImageView+AFNetworking.m in Sources */,
  2331 + D2029CC61E6EADE10027CD92 /* SSKeychain.m in Sources */,
  2332 + 4B45CE871EB86A590079AFB7 /* LVCMineCommonCell.m in Sources */,
  2333 + 811BB68E1E8116C8005C6291 /* NSString+StringSize.m in Sources */,
  2334 + 4BD856051EBACD530082061D /* UIAlertView+AFNetworking.m in Sources */,
  2335 + D224B1971E826ED800CC61D0 /* ChatBarrageAnimAction.m in Sources */,
  2336 + D2029C9E1E6EADE10027CD92 /* NSObject+MJCoding.m in Sources */,
  2337 + 81A483021E88B0130097A80A /* LVCChatRoomModel.m in Sources */,
  2338 + D2029C991E6EADE10027CD92 /* MJFoundation.m in Sources */,
  2339 + 4B45CE8B1EB86A590079AFB7 /* LVCTextField.m in Sources */,
  2340 + D2575C461E76857100E3A8FC /* LVCAnimationManager.m in Sources */,
  2341 + D2A089F11E8A41120071412C /* LVCUGCLiveListModel.m in Sources */,
  2342 + D2029D041E6EAE2E0027CD92 /* UILabel+ContentSize.m in Sources */,
  2343 + 4B45CE7C1EB86A590079AFB7 /* MineSettingViewController.m in Sources */,
  2344 + 4BD855D11EBAC7220082061D /* DESUtility.m in Sources */,
  2345 + D25530031E79115100DF38A5 /* AnimQueueManager.m in Sources */,
  2346 + 81A482F81E88AFA20097A80A /* LVCFirstHeaderReusableView.m in Sources */,
  2347 + D2029B861E6EAAA50027CD92 /* main.m in Sources */,
  2348 + 4B45CEA71EB86B9F0079AFB7 /* NSObject+UserModel.m in Sources */,
  2349 + 4BD856061EBACD530082061D /* UIButton+AFNetworking.m in Sources */,
  2350 + D2029C9F1E6EADE10027CD92 /* NSObject+MJKeyValue.m in Sources */,
  2351 + D209AD6E1EC583B700D82E3B /* MineMessageController.m in Sources */,
  2352 + D25BF8A01E80C4BD007FB138 /* UIImage+LVCVagueImage.m in Sources */,
  2353 + D2888DB11E6EC05F003A77C8 /* TempViewController.m in Sources */,
  2354 + 810B65021E779B1F00133E15 /* MASViewAttribute.m in Sources */,
  2355 + D2B7B2511E8247D400ED084E /* ChatBarrageManager.m in Sources */,
  2356 + D2029CAC1E6EADE10027CD92 /* MJRefreshBackStateFooter.m in Sources */,
  2357 + D2029CB11E6EADE10027CD92 /* MJRefreshConst.m in Sources */,
  2358 + D2029CAD1E6EADE10027CD92 /* MJRefreshGifHeader.m in Sources */,
  2359 + 81A483141E88BA420097A80A /* LVCLiveListCollectionViewCell.m in Sources */,
  2360 + D2029CB31E6EADE10027CD92 /* UIScrollView+MJRefresh.m in Sources */,
  2361 + 4BD856151EBAD31A0082061D /* NSString+UrlEncode.m in Sources */,
  2362 + 4B45CE7F1EB86A590079AFB7 /* RegisterCommonController.m in Sources */,
  2363 + 4BD855FA1EBACD530082061D /* AFHTTPRequestOperation.m in Sources */,
  2364 + D2029D051E6EAE2E0027CD92 /* UILabel+labelFitSize.m in Sources */,
  2365 + D2029CB21E6EADE10027CD92 /* UIScrollView+MJExtension.m in Sources */,
  2366 + D29D88481E88C53300543A03 /* LVCUGCLivePrepareView.m in Sources */,
  2367 + D2029D091E6EAE2E0027CD92 /* Foundation+Log.m in Sources */,
  2368 + 4B45CEAB1EB86BFA0079AFB7 /* NSString+ZXExtension.m in Sources */,
  2369 + 81A483201E88F4BF0097A80A /* LVCProgramModel.m in Sources */,
  2370 + D2029BCA1E6EADD70027CD92 /* BaseModel.m in Sources */,
  2371 + D25BF87B1E7B8A82007FB138 /* SliderView.m in Sources */,
  2372 + 810B65041E779B1F00133E15 /* NSArray+MASAdditions.m in Sources */,
  2373 + 81A4830B1E88B7EE0097A80A /* LVCOtherHeaderReusableView.m in Sources */,
  2374 + D25BF8801E7BD266007FB138 /* LVCUGCLivePlayerController.m in Sources */,
  2375 + D2029D031E6EAE2E0027CD92 /* UIImage+ZXExtension.m in Sources */,
  2376 + 4BD855FC1EBACD530082061D /* AFHTTPSessionManager.m in Sources */,
  2377 + 4B45CE841EB86A590079AFB7 /* ModifyCommonView.m in Sources */,
  2378 + 4BD856081EBACD530082061D /* UIProgressView+AFNetworking.m in Sources */,
  2379 + D24571581E8393EB00AA85D6 /* UIImageView+ZXExtension.m in Sources */,
  2380 + D2029D0A1E6EAE2E0027CD92 /* ZXServerUrl.m in Sources */,
  2381 + D2029CCA1E6EADE10027CD92 /* SVProgressHUD.m in Sources */,
  2382 + 81A483051E88B32C0097A80A /* LVCHeaderRollCollectionViewCell.m in Sources */,
  2383 + D2029CA81E6EADE10027CD92 /* MJRefreshAutoNormalFooter.m in Sources */,
  2384 + 4B45CE991EB86A760079AFB7 /* UITextField+createTextField.m in Sources */,
  2385 + 4B45CEA81EB86B9F0079AFB7 /* UserTools.m in Sources */,
  2386 + D217A24A1E7B76C7003B44CB /* PresentView.m in Sources */,
  2387 + D22830F11E778C0F00627701 /* LiveBaseView.m in Sources */,
  2388 + 4B45CEAE1EB873630079AFB7 /* UserInformationModel.m in Sources */,
  2389 + D2029CBA1E6EADE10027CD92 /* SDWebImageDecoder.m in Sources */,
  2390 + 8112D4311E7927A5002E00F6 /* LVCPlayerLoadingView.m in Sources */,
  2391 + 4B45CE9A1EB86A760079AFB7 /* ZXLabel.m in Sources */,
  2392 + D2029D081E6EAE2E0027CD92 /* ZXDeviceInfo.m in Sources */,
  2393 + D24571631E83C40B00AA85D6 /* PrivateView.m in Sources */,
  2394 + D2029CC21E6EADE10027CD92 /* UIImage+WebP.m in Sources */,
  2395 + 4BD856001EBACD530082061D /* AFURLRequestSerialization.m in Sources */,
  2396 + D2029BCD1E6EADD70027CD92 /* BaseViewController.m in Sources */,
  2397 + 810B64E01E779AE900133E15 /* LVCPlayer.m in Sources */,
  2398 + 4B45CE811EB86A590079AFB7 /* RegistBasicInformationView.m in Sources */,
  2399 + 810B64FF1E779B1F00133E15 /* MASConstraint.m in Sources */,
  2400 + D25BF87A1E7B8A82007FB138 /* FilterFunctionView.m in Sources */,
  2401 + D207BEA11E84C1EC006A0CE8 /* AnimationBaseView.m in Sources */,
  2402 + 4B45CE971EB86A760079AFB7 /* UIButton+createButton.m in Sources */,
  2403 + D2029D001E6EAE2E0027CD92 /* NSNumber+ScaleHeight.m in Sources */,
  2404 + 4BD856041EBACD530082061D /* UIActivityIndicatorView+AFNetworking.m in Sources */,
  2405 + 4B45CE781EB86A590079AFB7 /* LVCMineViewController.m in Sources */,
  2406 + 81CE9E1B1E8CF567000F8F6B /* LVCRequestFailedView.m in Sources */,
  2407 + D2888D9E1E6EBF1B003A77C8 /* LVCLiveViewController.m in Sources */,
  2408 + 810B650A1E77B39D00133E15 /* LVCFullScreenPlayerController.m in Sources */,
  2409 + 4B42A6C71EC0171800DA09D7 /* PlayRecordCell.m in Sources */,
  2410 + D217A24E1E7B77C7003B44CB /* ComboCell.m in Sources */,
  2411 + D2029CBD1E6EADE10027CD92 /* SDWebImageManager.m in Sources */,
  2412 + 811BB6881E8107B4005C6291 /* LVCChatViewTableViewCell.m in Sources */,
  2413 + 811BB6801E80F858005C6291 /* LVCChatView.m in Sources */,
  2414 + D2029CB41E6EADE10027CD92 /* UIView+MJExtension.m in Sources */,
  2415 + 81FB5B3C1E7A6FFC00F98E1D /* SevenSwitch.m in Sources */,
  2416 + D2029CA91E6EADE10027CD92 /* MJRefreshAutoStateFooter.m in Sources */,
  2417 + D2029D061E6EAE2E0027CD92 /* UIView+Extension.m in Sources */,
  2418 + D25530001E7909AC00DF38A5 /* GiftAnimOperation.m in Sources */,
  2419 + D2029C9D1E6EADE10027CD92 /* NSObject+MJClass.m in Sources */,
  2420 + D2029CCF1E6EADE10027CD92 /* SearchHttp.m in Sources */,
  2421 + 810B65001E779B1F00133E15 /* MASConstraintMaker.m in Sources */,
  2422 + D245715C1E83A62B00AA85D6 /* BounceView.m in Sources */,
  2423 + D2029D021E6EAE2E0027CD92 /* UIImage+ScaleImageSize.m in Sources */,
  2424 + D2029BCC1E6EADD70027CD92 /* BaseView.m in Sources */,
  2425 + D2888D941E6EB8B4003A77C8 /* LVCTabBar.m in Sources */,
  2426 + 4B45CE771EB86A590079AFB7 /* IDViewController.m in Sources */,
  2427 + 4BD855FF1EBACD530082061D /* AFURLConnectionOperation.m in Sources */,
  2428 + D2888DB41E6EC154003A77C8 /* HomeViewController.m in Sources */,
  2429 + D2B7B2541E824B2D00ED084E /* ChatBarrageView.m in Sources */,
  2430 + D25530061E7911A800DF38A5 /* GiftAnimationAction.m in Sources */,
  2431 + 81A483171E88BED00097A80A /* LVCTVLiveViewController.m in Sources */,
  2432 + 81A1B9A91E8277410079FF5F /* LVCInputView.m in Sources */,
  2433 + 4B45CE881EB86A590079AFB7 /* LVCMineShowCell.m in Sources */,
  2434 + D2029CD41E6EADE70027CD92 /* HttpService.m in Sources */,
  2435 + );
  2436 + runOnlyForDeploymentPostprocessing = 0;
  2437 + };
  2438 + D2029B961E6EAAA50027CD92 /* Sources */ = {
  2439 + isa = PBXSourcesBuildPhase;
  2440 + buildActionMask = 2147483647;
  2441 + files = (
  2442 + D2029B9F1E6EAAA50027CD92 /* LiveVideoCloudTests.m in Sources */,
  2443 + );
  2444 + runOnlyForDeploymentPostprocessing = 0;
  2445 + };
  2446 + D2029BA11E6EAAA50027CD92 /* Sources */ = {
  2447 + isa = PBXSourcesBuildPhase;
  2448 + buildActionMask = 2147483647;
  2449 + files = (
  2450 + D2029BAA1E6EAAA50027CD92 /* LiveVideoCloudUITests.m in Sources */,
  2451 + );
  2452 + runOnlyForDeploymentPostprocessing = 0;
  2453 + };
  2454 +/* End PBXSourcesBuildPhase section */
  2455 +
  2456 +/* Begin PBXTargetDependency section */
  2457 + D2029B9C1E6EAAA50027CD92 /* PBXTargetDependency */ = {
  2458 + isa = PBXTargetDependency;
  2459 + target = D2029B801E6EAAA50027CD92 /* LiveVideoCloud */;
  2460 + targetProxy = D2029B9B1E6EAAA50027CD92 /* PBXContainerItemProxy */;
  2461 + };
  2462 + D2029BA71E6EAAA50027CD92 /* PBXTargetDependency */ = {
  2463 + isa = PBXTargetDependency;
  2464 + target = D2029B801E6EAAA50027CD92 /* LiveVideoCloud */;
  2465 + targetProxy = D2029BA61E6EAAA50027CD92 /* PBXContainerItemProxy */;
  2466 + };
  2467 +/* End PBXTargetDependency section */
  2468 +
  2469 +/* Begin PBXVariantGroup section */
  2470 + D2029B921E6EAAA50027CD92 /* LaunchScreen.storyboard */ = {
  2471 + isa = PBXVariantGroup;
  2472 + children = (
  2473 + D2029B931E6EAAA50027CD92 /* Base */,
  2474 + );
  2475 + name = LaunchScreen.storyboard;
  2476 + sourceTree = "<group>";
  2477 + };
  2478 +/* End PBXVariantGroup section */
  2479 +
  2480 +/* Begin XCBuildConfiguration section */
  2481 + D2029BAC1E6EAAA50027CD92 /* Debug */ = {
  2482 + isa = XCBuildConfiguration;
  2483 + buildSettings = {
  2484 + ALWAYS_SEARCH_USER_PATHS = NO;
  2485 + CLANG_ANALYZER_NONNULL = YES;
  2486 + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
  2487 + CLANG_CXX_LIBRARY = "libc++";
  2488 + CLANG_ENABLE_MODULES = YES;
  2489 + CLANG_ENABLE_OBJC_ARC = YES;
  2490 + CLANG_WARN_BOOL_CONVERSION = YES;
  2491 + CLANG_WARN_CONSTANT_CONVERSION = YES;
  2492 + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
  2493 + CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
  2494 + CLANG_WARN_EMPTY_BODY = YES;
  2495 + CLANG_WARN_ENUM_CONVERSION = YES;
  2496 + CLANG_WARN_INFINITE_RECURSION = YES;
  2497 + CLANG_WARN_INT_CONVERSION = YES;
  2498 + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
  2499 + CLANG_WARN_SUSPICIOUS_MOVE = YES;
  2500 + CLANG_WARN_UNREACHABLE_CODE = YES;
  2501 + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
  2502 + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
  2503 + COPY_PHASE_STRIP = NO;
  2504 + DEBUG_INFORMATION_FORMAT = dwarf;
  2505 + ENABLE_STRICT_OBJC_MSGSEND = YES;
  2506 + ENABLE_TESTABILITY = YES;
  2507 + GCC_C_LANGUAGE_STANDARD = gnu99;
  2508 + GCC_DYNAMIC_NO_PIC = NO;
  2509 + GCC_NO_COMMON_BLOCKS = YES;
  2510 + GCC_OPTIMIZATION_LEVEL = 0;
  2511 + GCC_PREPROCESSOR_DEFINITIONS = (
  2512 + "DEBUG=1",
  2513 + "$(inherited)",
  2514 + );
  2515 + GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
  2516 + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
  2517 + GCC_WARN_UNDECLARED_SELECTOR = YES;
  2518 + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
  2519 + GCC_WARN_UNUSED_FUNCTION = YES;
  2520 + GCC_WARN_UNUSED_VARIABLE = YES;
  2521 + IPHONEOS_DEPLOYMENT_TARGET = 10.2;
  2522 + MTL_ENABLE_DEBUG_INFO = YES;
  2523 + ONLY_ACTIVE_ARCH = YES;
  2524 + SDKROOT = iphoneos;
  2525 + TARGETED_DEVICE_FAMILY = "1,2";
  2526 + };
  2527 + name = Debug;
  2528 + };
  2529 + D2029BAD1E6EAAA50027CD92 /* Release */ = {
  2530 + isa = XCBuildConfiguration;
  2531 + buildSettings = {
  2532 + ALWAYS_SEARCH_USER_PATHS = NO;
  2533 + CLANG_ANALYZER_NONNULL = YES;
  2534 + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
  2535 + CLANG_CXX_LIBRARY = "libc++";
  2536 + CLANG_ENABLE_MODULES = YES;
  2537 + CLANG_ENABLE_OBJC_ARC = YES;
  2538 + CLANG_WARN_BOOL_CONVERSION = YES;
  2539 + CLANG_WARN_CONSTANT_CONVERSION = YES;
  2540 + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
  2541 + CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
  2542 + CLANG_WARN_EMPTY_BODY = YES;
  2543 + CLANG_WARN_ENUM_CONVERSION = YES;
  2544 + CLANG_WARN_INFINITE_RECURSION = YES;
  2545 + CLANG_WARN_INT_CONVERSION = YES;
  2546 + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
  2547 + CLANG_WARN_SUSPICIOUS_MOVE = YES;
  2548 + CLANG_WARN_UNREACHABLE_CODE = YES;
  2549 + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
  2550 + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
  2551 + COPY_PHASE_STRIP = NO;
  2552 + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
  2553 + ENABLE_NS_ASSERTIONS = NO;
  2554 + ENABLE_STRICT_OBJC_MSGSEND = YES;
  2555 + GCC_C_LANGUAGE_STANDARD = gnu99;
  2556 + GCC_NO_COMMON_BLOCKS = YES;
  2557 + GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
  2558 + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
  2559 + GCC_WARN_UNDECLARED_SELECTOR = YES;
  2560 + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
  2561 + GCC_WARN_UNUSED_FUNCTION = YES;
  2562 + GCC_WARN_UNUSED_VARIABLE = YES;
  2563 + IPHONEOS_DEPLOYMENT_TARGET = 10.2;
  2564 + MTL_ENABLE_DEBUG_INFO = NO;
  2565 + SDKROOT = iphoneos;
  2566 + TARGETED_DEVICE_FAMILY = "1,2";
  2567 + VALIDATE_PRODUCT = YES;
  2568 + };
  2569 + name = Release;
  2570 + };
  2571 + D2029BAF1E6EAAA50027CD92 /* Debug */ = {
  2572 + isa = XCBuildConfiguration;
  2573 + buildSettings = {
  2574 + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
  2575 + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
  2576 + CLANG_ENABLE_OBJC_WEAK = YES;
  2577 + DEVELOPMENT_TEAM = 94X49GG3ZW;
  2578 + FRAMEWORK_SEARCH_PATHS = (
  2579 + "$(inherited)",
  2580 + "$(PROJECT_DIR)/LiveVideoCloud/Classes/CNLiveSDK",
  2581 + "$(PROJECT_DIR)",
  2582 + );
  2583 + GCC_PREFIX_HEADER = "$(SRCROOT)/LiveVideoCloud/PrefixHeader.pch";
  2584 + INFOPLIST_FILE = LiveVideoCloud/Info.plist;
  2585 + IPHONEOS_DEPLOYMENT_TARGET = 8.0;
  2586 + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
  2587 + LIBRARY_SEARCH_PATHS = (
  2588 + "$(inherited)",
  2589 + "$(PROJECT_DIR)/LiveVideoCloud/Classes/Sections/InteractionSections/Gift/GiftResource",
  2590 + );
  2591 + OTHER_LDFLAGS = "";
  2592 + PRODUCT_BUNDLE_IDENTIFIER = com.cnlive.shipinzhongguo;
  2593 + PRODUCT_NAME = "$(TARGET_NAME)";
  2594 + };
  2595 + name = Debug;
  2596 + };
  2597 + D2029BB01E6EAAA50027CD92 /* Release */ = {
  2598 + isa = XCBuildConfiguration;
  2599 + buildSettings = {
  2600 + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
  2601 + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
  2602 + CLANG_ENABLE_OBJC_WEAK = YES;
  2603 + DEVELOPMENT_TEAM = 94X49GG3ZW;
  2604 + FRAMEWORK_SEARCH_PATHS = (
  2605 + "$(inherited)",
  2606 + "$(PROJECT_DIR)/LiveVideoCloud/Classes/CNLiveSDK",
  2607 + "$(PROJECT_DIR)",
  2608 + );
  2609 + GCC_PREFIX_HEADER = "$(SRCROOT)/LiveVideoCloud/PrefixHeader.pch";
  2610 + INFOPLIST_FILE = LiveVideoCloud/Info.plist;
  2611 + IPHONEOS_DEPLOYMENT_TARGET = 8.0;
  2612 + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
  2613 + LIBRARY_SEARCH_PATHS = (
  2614 + "$(inherited)",
  2615 + "$(PROJECT_DIR)/LiveVideoCloud/Classes/Sections/InteractionSections/Gift/GiftResource",
  2616 + );
  2617 + OTHER_LDFLAGS = "";
  2618 + PRODUCT_BUNDLE_IDENTIFIER = com.cnlive.shipinzhongguo;
  2619 + PRODUCT_NAME = "$(TARGET_NAME)";
  2620 + };
  2621 + name = Release;
  2622 + };
  2623 + D2029BB21E6EAAA50027CD92 /* Debug */ = {
  2624 + isa = XCBuildConfiguration;
  2625 + buildSettings = {
  2626 + BUNDLE_LOADER = "$(TEST_HOST)";
  2627 + INFOPLIST_FILE = LiveVideoCloudTests/Info.plist;
  2628 + IPHONEOS_DEPLOYMENT_TARGET = 8.0;
  2629 + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
  2630 + PRODUCT_BUNDLE_IDENTIFIER = com.cnlive.zhangxu.LiveVideoCloudTests;
  2631 + PRODUCT_NAME = "$(TARGET_NAME)";
  2632 + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/LiveVideoCloud.app/LiveVideoCloud";
  2633 + };
  2634 + name = Debug;
  2635 + };
  2636 + D2029BB31E6EAAA50027CD92 /* Release */ = {
  2637 + isa = XCBuildConfiguration;
  2638 + buildSettings = {
  2639 + BUNDLE_LOADER = "$(TEST_HOST)";
  2640 + INFOPLIST_FILE = LiveVideoCloudTests/Info.plist;
  2641 + IPHONEOS_DEPLOYMENT_TARGET = 8.0;
  2642 + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
  2643 + PRODUCT_BUNDLE_IDENTIFIER = com.cnlive.zhangxu.LiveVideoCloudTests;
  2644 + PRODUCT_NAME = "$(TARGET_NAME)";
  2645 + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/LiveVideoCloud.app/LiveVideoCloud";
  2646 + };
  2647 + name = Release;
  2648 + };
  2649 + D2029BB51E6EAAA50027CD92 /* Debug */ = {
  2650 + isa = XCBuildConfiguration;
  2651 + buildSettings = {
  2652 + INFOPLIST_FILE = LiveVideoCloudUITests/Info.plist;
  2653 + IPHONEOS_DEPLOYMENT_TARGET = 8.0;
  2654 + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
  2655 + PRODUCT_BUNDLE_IDENTIFIER = com.cnlive.zhangxu.LiveVideoCloudUITests;
  2656 + PRODUCT_NAME = "$(TARGET_NAME)";
  2657 + TEST_TARGET_NAME = LiveVideoCloud;
  2658 + };
  2659 + name = Debug;
  2660 + };
  2661 + D2029BB61E6EAAA50027CD92 /* Release */ = {
  2662 + isa = XCBuildConfiguration;
  2663 + buildSettings = {
  2664 + INFOPLIST_FILE = LiveVideoCloudUITests/Info.plist;
  2665 + IPHONEOS_DEPLOYMENT_TARGET = 8.0;
  2666 + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
  2667 + PRODUCT_BUNDLE_IDENTIFIER = com.cnlive.zhangxu.LiveVideoCloudUITests;
  2668 + PRODUCT_NAME = "$(TARGET_NAME)";
  2669 + TEST_TARGET_NAME = LiveVideoCloud;
  2670 + };
  2671 + name = Release;
  2672 + };
  2673 +/* End XCBuildConfiguration section */
  2674 +
  2675 +/* Begin XCConfigurationList section */
  2676 + D2029B7C1E6EAAA50027CD92 /* Build configuration list for PBXProject "LiveVideoCloud" */ = {
  2677 + isa = XCConfigurationList;
  2678 + buildConfigurations = (
  2679 + D2029BAC1E6EAAA50027CD92 /* Debug */,
  2680 + D2029BAD1E6EAAA50027CD92 /* Release */,
  2681 + );
  2682 + defaultConfigurationIsVisible = 0;
  2683 + defaultConfigurationName = Release;
  2684 + };
  2685 + D2029BAE1E6EAAA50027CD92 /* Build configuration list for PBXNativeTarget "LiveVideoCloud" */ = {
  2686 + isa = XCConfigurationList;
  2687 + buildConfigurations = (
  2688 + D2029BAF1E6EAAA50027CD92 /* Debug */,
  2689 + D2029BB01E6EAAA50027CD92 /* Release */,
  2690 + );
  2691 + defaultConfigurationIsVisible = 0;
  2692 + defaultConfigurationName = Release;
  2693 + };
  2694 + D2029BB11E6EAAA50027CD92 /* Build configuration list for PBXNativeTarget "LiveVideoCloudTests" */ = {
  2695 + isa = XCConfigurationList;
  2696 + buildConfigurations = (
  2697 + D2029BB21E6EAAA50027CD92 /* Debug */,
  2698 + D2029BB31E6EAAA50027CD92 /* Release */,
  2699 + );
  2700 + defaultConfigurationIsVisible = 0;
  2701 + defaultConfigurationName = Release;
  2702 + };
  2703 + D2029BB41E6EAAA50027CD92 /* Build configuration list for PBXNativeTarget "LiveVideoCloudUITests" */ = {
  2704 + isa = XCConfigurationList;
  2705 + buildConfigurations = (
  2706 + D2029BB51E6EAAA50027CD92 /* Debug */,
  2707 + D2029BB61E6EAAA50027CD92 /* Release */,
  2708 + );
  2709 + defaultConfigurationIsVisible = 0;
  2710 + defaultConfigurationName = Release;
  2711 + };
  2712 +/* End XCConfigurationList section */
  2713 + };
  2714 + rootObject = D2029B791E6EAAA50027CD92 /* Project object */;
  2715 +}
LiveVideoCloud/LiveVideoCloud.xcodeproj/project.xcworkspace/contents.xcworkspacedata 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<Workspace
  3 + version = "1.0">
  4 + <FileRef
  5 + location = "self:">
  6 + </FileRef>
  7 +</Workspace>
LiveVideoCloud/LiveVideoCloud.xcodeproj/xcuserdata/cnlive.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<Bucket
  3 + type = "1"
  4 + version = "2.0">
  5 +</Bucket>
LiveVideoCloud/LiveVideoCloud.xcodeproj/xcuserdata/lc.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<Bucket
  3 + type = "1"
  4 + version = "2.0">
  5 + <Breakpoints>
  6 + <BreakpointProxy
  7 + BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
  8 + <BreakpointContent
  9 + shouldBeEnabled = "Yes"
  10 + ignoreCount = "0"
  11 + continueAfterRunningActions = "No"
  12 + filePath = "LiveVideoCloud/Classes/Sections/Mine/Controllers/JCMineViewController.m"
  13 + timestampString = "515916643.15339"
  14 + startingColumnNumber = "9223372036854775807"
  15 + endingColumnNumber = "9223372036854775807"
  16 + startingLineNumber = "265"
  17 + endingLineNumber = "265"
  18 + landmarkName = "-anchorCheck"
  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/Mine/Controllers/JCMineViewController.m"
  29 + timestampString = "515916647.414347"
  30 + startingColumnNumber = "9223372036854775807"
  31 + endingColumnNumber = "9223372036854775807"
  32 + startingLineNumber = "306"
  33 + endingLineNumber = "306"
  34 + landmarkName = "-anchorCheck"
  35 + landmarkType = "7">
  36 + </BreakpointContent>
  37 + </BreakpointProxy>
  38 + <BreakpointProxy
  39 + BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
  40 + <BreakpointContent
  41 + shouldBeEnabled = "No"
  42 + ignoreCount = "0"
  43 + continueAfterRunningActions = "No"
  44 + filePath = "LiveVideoCloud/Classes/Sections/Mine/Controllers/MineLiveController.m"
  45 + timestampString = "516189759.841928"
  46 + startingColumnNumber = "9223372036854775807"
  47 + endingColumnNumber = "9223372036854775807"
  48 + startingLineNumber = "65"
  49 + endingLineNumber = "65"
  50 + landmarkName = "-getData"
  51 + landmarkType = "7">
  52 + </BreakpointContent>
  53 + </BreakpointProxy>
  54 + <BreakpointProxy
  55 + BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
  56 + <BreakpointContent
  57 + shouldBeEnabled = "Yes"
  58 + ignoreCount = "0"
  59 + continueAfterRunningActions = "No"
  60 + filePath = "LiveVideoCloud/UtilKits/UserTools/UserTools.m"
  61 + timestampString = "515918863.212581"
  62 + startingColumnNumber = "9223372036854775807"
  63 + endingColumnNumber = "9223372036854775807"
  64 + startingLineNumber = "293"
  65 + endingLineNumber = "293"
  66 + landmarkName = "+getPlayRecord:success:failure:"
  67 + landmarkType = "7">
  68 + </BreakpointContent>
  69 + </BreakpointProxy>
  70 + <BreakpointProxy
  71 + BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
  72 + <BreakpointContent
  73 + shouldBeEnabled = "Yes"
  74 + ignoreCount = "0"
  75 + continueAfterRunningActions = "No"
  76 + filePath = "LiveVideoCloud/Classes/Sections/homeSections/Controller/LVCLivePlayerController.m"
  77 + timestampString = "516077750.886842"
  78 + startingColumnNumber = "9223372036854775807"
  79 + endingColumnNumber = "9223372036854775807"
  80 + startingLineNumber = "192"
  81 + endingLineNumber = "192"
  82 + landmarkName = "-toFullWithrotationAngle:"
  83 + landmarkType = "7">
  84 + <Locations>
  85 + <Location
  86 + shouldBeEnabled = "Yes"
  87 + ignoreCount = "0"
  88 + continueAfterRunningActions = "No"
  89 + symbolName = "-[LVCLivePlayerController toFullWithrotationAngle:]"
  90 + moduleName = "LiveVideoCloud"
  91 + usesParentBreakpointCondition = "Yes"
  92 + urlString = "file:///Users/lc/Downloads/5.2%E6%97%A5/LiveCloud/LiveVideoCloud/Classes/Sections/homeSections/Controller/LVCLivePlayerController.m"
  93 + timestampString = "516189760.961485"
  94 + startingColumnNumber = "9223372036854775807"
  95 + endingColumnNumber = "9223372036854775807"
  96 + startingLineNumber = "192"
  97 + endingLineNumber = "192"
  98 + offsetFromSymbolStart = "162">
  99 + </Location>
  100 + <Location
  101 + shouldBeEnabled = "Yes"
  102 + ignoreCount = "0"
  103 + continueAfterRunningActions = "No"
  104 + symbolName = "__51-[LVCLivePlayerController toFullWithrotationAngle:]_block_invoke"
  105 + moduleName = "LiveVideoCloud"
  106 + usesParentBreakpointCondition = "Yes"
  107 + urlString = "file:///Users/lc/Downloads/5.2%E6%97%A5/LiveCloud/LiveVideoCloud/Classes/Sections/homeSections/Controller/LVCLivePlayerController.m"
  108 + timestampString = "516189760.964039"
  109 + startingColumnNumber = "9223372036854775807"
  110 + endingColumnNumber = "9223372036854775807"
  111 + startingLineNumber = "192"
  112 + endingLineNumber = "192"
  113 + offsetFromSymbolStart = "15">
  114 + </Location>
  115 + </Locations>
  116 + </BreakpointContent>
  117 + </BreakpointProxy>
  118 + <BreakpointProxy
  119 + BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
  120 + <BreakpointContent
  121 + shouldBeEnabled = "Yes"
  122 + ignoreCount = "0"
  123 + continueAfterRunningActions = "No"
  124 + filePath = "LiveVideoCloud/Classes/Sections/homeSections/Controller/LVCFullScreenPlayerController.m"
  125 + timestampString = "516077876.413046"
  126 + startingColumnNumber = "9223372036854775807"
  127 + endingColumnNumber = "9223372036854775807"
  128 + startingLineNumber = "35"
  129 + endingLineNumber = "35"
  130 + landmarkName = "-viewDidLoad"
  131 + landmarkType = "7">
  132 + </BreakpointContent>
  133 + </BreakpointProxy>
  134 + <BreakpointProxy
  135 + BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
  136 + <BreakpointContent
  137 + shouldBeEnabled = "Yes"
  138 + ignoreCount = "0"
  139 + continueAfterRunningActions = "No"
  140 + filePath = "LiveVideoCloud/Classes/Sections/homeSections/Controller/HomeViewController.m"
  141 + timestampString = "516077952.321735"
  142 + startingColumnNumber = "9223372036854775807"
  143 + endingColumnNumber = "9223372036854775807"
  144 + startingLineNumber = "82"
  145 + endingLineNumber = "82"
  146 + landmarkName = "-liveAction"
  147 + landmarkType = "7">
  148 + </BreakpointContent>
  149 + </BreakpointProxy>
  150 + <BreakpointProxy
  151 + BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
  152 + <BreakpointContent
  153 + shouldBeEnabled = "Yes"
  154 + ignoreCount = "0"
  155 + continueAfterRunningActions = "No"
  156 + filePath = "LiveVideoCloud/Classes/Sections/homeSections/Controller/HomeViewController.m"
  157 + timestampString = "516077953.326985"
  158 + startingColumnNumber = "9223372036854775807"
  159 + endingColumnNumber = "9223372036854775807"
  160 + startingLineNumber = "88"
  161 + endingLineNumber = "88"
  162 + landmarkName = "-UGCLiveAction"
  163 + landmarkType = "7">
  164 + </BreakpointContent>
  165 + </BreakpointProxy>
  166 + <BreakpointProxy
  167 + BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
  168 + <BreakpointContent
  169 + shouldBeEnabled = "Yes"
  170 + ignoreCount = "0"
  171 + continueAfterRunningActions = "No"
  172 + filePath = "LiveVideoCloud/Classes/Sections/homeSections/Controller/LVCMoreProgramViewController.m"
  173 + timestampString = "516077983.900036"
  174 + startingColumnNumber = "9223372036854775807"
  175 + endingColumnNumber = "9223372036854775807"
  176 + startingLineNumber = "142"
  177 + endingLineNumber = "142"
  178 + landmarkName = "-tableView:didSelectRowAtIndexPath:"
  179 + landmarkType = "7">
  180 + </BreakpointContent>
  181 + </BreakpointProxy>
  182 + <BreakpointProxy
  183 + BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
  184 + <BreakpointContent
  185 + shouldBeEnabled = "Yes"
  186 + ignoreCount = "0"
  187 + continueAfterRunningActions = "No"
  188 + filePath = "LiveVideoCloud/Classes/Sections/homeSections/View/LVCFirstHeaderReusableView.m"
  189 + timestampString = "516078043.358761"
  190 + startingColumnNumber = "9223372036854775807"
  191 + endingColumnNumber = "9223372036854775807"
  192 + startingLineNumber = "206"
  193 + endingLineNumber = "206"
  194 + landmarkName = "-collectionView:didSelectItemAtIndexPath:"
  195 + landmarkType = "7">
  196 + </BreakpointContent>
  197 + </BreakpointProxy>
  198 + <BreakpointProxy
  199 + BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
  200 + <BreakpointContent
  201 + shouldBeEnabled = "Yes"
  202 + ignoreCount = "0"
  203 + continueAfterRunningActions = "No"
  204 + filePath = "LiveVideoCloud/Classes/Sections/homeSections/Controller/LVCUGCLiveListView.m"
  205 + timestampString = "516078065.133543"
  206 + startingColumnNumber = "9223372036854775807"
  207 + endingColumnNumber = "9223372036854775807"
  208 + startingLineNumber = "105"
  209 + endingLineNumber = "105"
  210 + landmarkName = "-collectionView:didSelectItemAtIndexPath:"
  211 + landmarkType = "7">
  212 + </BreakpointContent>
  213 + </BreakpointProxy>
  214 + <BreakpointProxy
  215 + BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
  216 + <BreakpointContent
  217 + shouldBeEnabled = "No"
  218 + ignoreCount = "0"
  219 + continueAfterRunningActions = "No"
  220 + filePath = "LiveVideoCloud/Classes/Sections/homeSections/Controller/LVCUGCLiveListView.m"
  221 + timestampString = "516079075.378843"
  222 + startingColumnNumber = "9223372036854775807"
  223 + endingColumnNumber = "9223372036854775807"
  224 + startingLineNumber = "68"
  225 + endingLineNumber = "68"
  226 + landmarkName = "-loadData"
  227 + landmarkType = "7">
  228 + </BreakpointContent>
  229 + </BreakpointProxy>
  230 + <BreakpointProxy
  231 + BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
  232 + <BreakpointContent
  233 + shouldBeEnabled = "Yes"
  234 + ignoreCount = "0"
  235 + continueAfterRunningActions = "No"
  236 + filePath = "LiveVideoCloud/Classes/Sections/homeSections/Controller/LVCUGCLivePlayerController.m"
  237 + timestampString = "516189759.841928"
  238 + startingColumnNumber = "9223372036854775807"
  239 + endingColumnNumber = "9223372036854775807"
  240 + startingLineNumber = "636"
  241 + endingLineNumber = "636"
  242 + landmarkName = "-liveBaseView"
  243 + landmarkType = "7">
  244 + </BreakpointContent>
  245 + </BreakpointProxy>
  246 + <BreakpointProxy
  247 + BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
  248 + <BreakpointContent
  249 + shouldBeEnabled = "Yes"
  250 + ignoreCount = "0"
  251 + continueAfterRunningActions = "No"
  252 + filePath = "LiveVideoCloud/Classes/Sections/homeSections/Controller/LVCUGCLivePlayerController.m"
  253 + timestampString = "516189759.841928"
  254 + startingColumnNumber = "9223372036854775807"
  255 + endingColumnNumber = "9223372036854775807"
  256 + startingLineNumber = "112"
  257 + endingLineNumber = "112"
  258 + landmarkName = "-quitBtnClick"
  259 + landmarkType = "7">
  260 + </BreakpointContent>
  261 + </BreakpointProxy>
  262 + </Breakpoints>
  263 +</Bucket>
LiveVideoCloud/LiveVideoCloud/AppCustoms/Base/BaseModel.h 0 → 100644
  1 +//
  2 +// BaseModel.h
  3 +// ZXBaseProject
  4 +//
  5 +// Created by 张旭 on 2017/1/10.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import <Foundation/Foundation.h>
  10 +
  11 +@interface BaseModel : NSObject
  12 +
  13 +/** 字典初始化模型 dic -> model */
  14 ++ (id _Nullable)modelWithDic:(NSDictionary <NSString * , id>*_Nullable)dic;
  15 +
  16 +/**
  17 + 子类重写
  18 + */
  19 +- (void)loadModel; // init时调用
  20 +@end
LiveVideoCloud/LiveVideoCloud/AppCustoms/Base/BaseModel.m 0 → 100644
  1 +//
  2 +// BaseModel.m
  3 +// ZXBaseProject
  4 +//
  5 +// Created by 张旭 on 2017/1/10.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import "BaseModel.h"
  10 +
  11 +@implementation BaseModel
  12 +
  13 +/** 字典初始化模型 dic -> models */
  14 ++ (id _Nullable)modelWithDic:(NSDictionary <NSString * , id>*_Nullable)dic
  15 +{
  16 + return [[[self alloc] init] mj_setKeyValues:dic];
  17 +}
  18 +
  19 +- (instancetype)init
  20 +{
  21 + if (self = [super init]) {
  22 + [self loadModel];
  23 + }
  24 + return self;
  25 +}
  26 +
  27 +- (void)loadModel {}
  28 +
  29 +@end
LiveVideoCloud/LiveVideoCloud/AppCustoms/Base/BaseTableViewCell.h 0 → 100644
  1 +//
  2 +// BaseTableViewCell.h
  3 +// ZXBaseProject
  4 +//
  5 +// Created by 张旭 on 2017/1/10.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +
  11 +@interface BaseTableViewCell : UITableViewCell
  12 +
  13 +/**
  14 + * 加载视图
  15 + */
  16 +- (void)bindView;
  17 +
  18 +/**
  19 + * 加载模型
  20 + */
  21 +- (void)bindModel;
  22 +
  23 +/**
  24 + * 加载方法
  25 + */
  26 +- (void)bindAction;
  27 +
  28 +- (void)loadUIWithModel:(id)model;
  29 +
  30 +@end
LiveVideoCloud/LiveVideoCloud/AppCustoms/Base/BaseTableViewCell.m 0 → 100644
  1 +//
  2 +// BaseTableViewCell.m
  3 +// ZXBaseProject
  4 +//
  5 +// Created by 张旭 on 2017/1/10.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import "BaseTableViewCell.h"
  10 +
  11 +@implementation BaseTableViewCell
  12 +
  13 +- (void)loadUIWithModel:(id)model
  14 +{
  15 +
  16 +}
  17 +
  18 +- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
  19 +{
  20 + self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
  21 + if (self) {
  22 + [self bindModel];
  23 + [self bindView];
  24 + [self bindAction];
  25 + }
  26 + return self;
  27 +}
  28 +
  29 +/**
  30 + * 加载视图
  31 + */
  32 +- (void)bindView {}
  33 +
  34 +/**
  35 + * 加载模型
  36 + */
  37 +- (void)bindModel {}
  38 +
  39 +/**
  40 + * 加载方法
  41 + */
  42 +- (void)bindAction {}
  43 +
  44 +- (void)awakeFromNib {
  45 + [super awakeFromNib];
  46 +}
  47 +
  48 +- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
  49 + [super setSelected:selected animated:animated];
  50 +}
  51 +
  52 +@end
LiveVideoCloud/LiveVideoCloud/AppCustoms/Base/BaseView.h 0 → 100644
  1 +//
  2 +// BaseView.h
  3 +// ZXBaseProject
  4 +//
  5 +// Created by 张旭 on 2017/1/11.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +
  11 +@interface BaseView : UIView
  12 +
  13 +- (void) binView;
  14 +
  15 +@end
LiveVideoCloud/LiveVideoCloud/AppCustoms/Base/BaseView.m 0 → 100644
  1 +//
  2 +// BaseView.m
  3 +// ZXBaseProject
  4 +//
  5 +// Created by 张旭 on 2017/1/11.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import "BaseView.h"
  10 +
  11 +@implementation BaseView
  12 +
  13 +/**
  14 + * 初始化
  15 + *
  16 + * @return self
  17 + */
  18 +- (instancetype)init {
  19 + self = [super init];
  20 +
  21 + if (self) {
  22 + [self binView];
  23 + }
  24 + return self;
  25 +}
  26 +
  27 +- (void) binView {
  28 +
  29 +}
  30 +
  31 +/*
  32 +// Only override drawRect: if you perform custom drawing.
  33 +// An empty implementation adversely affects performance during animation.
  34 +- (void)drawRect:(CGRect)rect {
  35 + // Drawing code
  36 +}
  37 +*/
  38 +
  39 +@end
LiveVideoCloud/LiveVideoCloud/AppCustoms/Base/BaseViewController.h 0 → 100644
  1 +//
  2 +// BaseViewController.h
  3 +// ZXBaseProject
  4 +//
  5 +// Created by 张旭 on 2017/1/10.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +
  11 +@interface BaseViewController : UIViewController
  12 +
  13 +@property (nonatomic, strong) UIButton *btnRight;
  14 +@property (nonatomic, strong) UIButton *btnLeft;
  15 +
  16 +@property (nonatomic) BOOL isModalButton;
  17 +
  18 +/**
  19 + * 加载视图
  20 + */
  21 +- (void)bindView;
  22 +
  23 +/**
  24 + * 加载模型
  25 + */
  26 +- (void)bindModel;
  27 +
  28 +/**
  29 + * 加载方法
  30 + */
  31 +- (void)bindAction;
  32 +
  33 +- (void)onBackAction;
  34 +
  35 +- (void)onRightAction;
  36 +
  37 +/**
  38 + * 词典转换为字符串
  39 + */
  40 +- (NSString*)dictionaryToJson:(NSDictionary *)dic;
  41 +
  42 +@end
LiveVideoCloud/LiveVideoCloud/AppCustoms/Base/BaseViewController.m 0 → 100644
  1 +//
  2 +// BaseViewController.m
  3 +// ZXBaseProject
  4 +//
  5 +// Created by 张旭 on 2017/1/10.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import "BaseViewController.h"
  10 +
  11 +@interface BaseViewController ()
  12 +
  13 +@end
  14 +
  15 +@implementation BaseViewController
  16 +
  17 +- (id)init {
  18 + self = [super init];
  19 + if (self) {
  20 +
  21 + [self initParameters];
  22 + self.isModalButton = NO;
  23 + }
  24 + return self;
  25 +}
  26 +
  27 +- (void)viewDidLoad {
  28 + [super viewDidLoad];
  29 + // Do any additional setup after loading the view.
  30 +
  31 + self.view.backgroundColor = [UIColor whiteColor];
  32 +
  33 + [self navigationSet];
  34 + [self bindModel];
  35 + [self bindView];
  36 + [self bindAction];
  37 +}
  38 +
  39 +- (void)initParameters {}
  40 +
  41 +/**
  42 + * 导航按钮设置
  43 + */
  44 +- (void)navigationSet{
  45 +
  46 + self.btnRight = [UIButton buttonWithType:UIButtonTypeCustom];
  47 + [_btnRight setFrame:CGRectMake(0, 0, 25, 20)];
  48 + [_btnRight addTarget:self action:@selector(onRightAction) forControlEvents:UIControlEventTouchUpInside];
  49 +
  50 + _btnRight.titleLabel.textAlignment = NSTextAlignmentRight;
  51 + _btnRight.titleLabel.font = [UIFont systemFontOfSize:15];
  52 + UIBarButtonItem *rightBtn = [[UIBarButtonItem alloc]initWithCustomView:_btnRight];
  53 + self.navigationItem.rightBarButtonItem = rightBtn;
  54 + self.btnRight.hidden = YES;
  55 +
  56 + self.btnLeft = [UIButton buttonWithType:UIButtonTypeCustom];
  57 + [_btnLeft setFrame:CGRectMake(0, 0, 30, 30)];
  58 + [_btnLeft addTarget:self action:@selector(onBackAction) forControlEvents:UIControlEventTouchUpInside];
  59 +
  60 + [_btnLeft setBackgroundImage:[UIImage imageNamed:@"fanhui_default"] forState:UIControlStateNormal];
  61 + [_btnLeft setBackgroundImage:[UIImage imageNamed:@"fanhui_focused"] forState:UIControlStateHighlighted];
  62 + _btnLeft.highlighted = NO;
  63 + UIBarButtonItem *backItem = [[UIBarButtonItem alloc]initWithCustomView:_btnLeft];
  64 +
  65 + UIBarButtonItem * negativeSpacer = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
  66 + negativeSpacer.width = -8;//默认leftItemX == 18,要求距左边10
  67 + [self.navigationItem setLeftBarButtonItems:[NSArray arrayWithObjects:negativeSpacer,backItem, nil]];
  68 +
  69 + if (self.navigationController.viewControllers[0] == self) {
  70 + _btnLeft.hidden = YES;
  71 + }
  72 +}
  73 +
  74 +/**
  75 + * 加载视图
  76 + */
  77 +- (void)bindView {
  78 +}
  79 +
  80 +/**
  81 + * 加载模型
  82 + */
  83 +- (void)bindModel {
  84 +}
  85 +
  86 +/**
  87 + * 加载方法
  88 + */
  89 +- (void)bindAction {
  90 +}
  91 +
  92 +- (void)loadViews {
  93 +
  94 +}
  95 +
  96 +//*****************************************************************
  97 +// MARK: - actions
  98 +//*****************************************************************
  99 +
  100 +/**
  101 + * 导航控制器上角按钮方法
  102 + */
  103 +- (void)onBackAction {
  104 +
  105 + if(self.isModalButton) {
  106 + [self dismissViewControllerAnimated:YES completion:NULL];
  107 + } else {
  108 + [self.navigationController popViewControllerAnimated:YES];
  109 + }
  110 +}
  111 +- (void)onRightAction
  112 +{
  113 +}
  114 +
  115 +/** 词典转换为字符串 */
  116 +- (NSString*)dictionaryToJson:(NSDictionary *)dic {
  117 +
  118 + NSError *parseError = nil;
  119 +
  120 + NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:&parseError];
  121 + return [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
  122 +}
  123 +
  124 +- (void)didReceiveMemoryWarning {
  125 + [super didReceiveMemoryWarning];
  126 + // Dispose of any resources that can be recreated.
  127 +}
  128 +
  129 +/*
  130 +#pragma mark - Navigation
  131 +
  132 +// In a storyboard-based application, you will often want to do a little preparation before navigation
  133 +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
  134 + // Get the new view controller using [segue destinationViewController].
  135 + // Pass the selected object to the new view controller.
  136 +}
  137 +*/
  138 +
  139 +@end
LiveVideoCloud/LiveVideoCloud/AppCustoms/Main/View/LVCTabBar.h 0 → 100644
  1 +//
  2 +// LVCTabBar.h
  3 +// LiveVideoCloud
  4 +//
  5 +// Created by 张旭 on 2017/3/7.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +
  11 +@class LVCTabBar;
  12 +
  13 +@protocol LVCTabBarDelegate <NSObject>
  14 +
  15 +-(void)liveBtnClick:(LVCTabBar *)tabBar;
  16 +
  17 +@end
  18 +
  19 +@interface LVCTabBar : UITabBar
  20 +
  21 +@property (nonatomic,weak) id<LVCTabBarDelegate> LVCTabBarDelegate;
  22 +
  23 +@end
LiveVideoCloud/LiveVideoCloud/AppCustoms/Main/View/LVCTabBar.m 0 → 100644
  1 +
  2 +//
  3 +// LVCTabBar.m
  4 +// LiveVideoCloud
  5 +//
  6 +// Created by 张旭 on 2017/3/7.
  7 +// Copyright © 2017年 cnlive. All rights reserved.
  8 +//
  9 +
  10 +#import "LVCTabBar.h"
  11 +#import "UIView+Extension.h"
  12 +
  13 +@interface LVCTabBar()
  14 +
  15 +@property (nonatomic ,strong)UIButton *liveBtn;
  16 +
  17 +@end
  18 +
  19 +@implementation LVCTabBar
  20 +
  21 +- (instancetype)initWithFrame:(CGRect)frame
  22 +{
  23 + if (self = [super initWithFrame:frame]) {
  24 +
  25 + // self.backgroundImage = [UIImage imageNamed:@""];
  26 + }
  27 + return self;
  28 +}
  29 +
  30 +- (UIButton *)liveBtn
  31 +{
  32 + if (!_liveBtn) {
  33 +
  34 + _liveBtn = [UIButton buttonWithType:UIButtonTypeCustom];
  35 + [_liveBtn setImage:[UIImage imageNamed:@"Begin to live"] forState:UIControlStateNormal];
  36 + [_liveBtn addTarget:self action:@selector(liveBtnClick) forControlEvents:UIControlEventTouchUpInside];
  37 + [self addSubview:_liveBtn];
  38 + }
  39 + return _liveBtn;
  40 +}
  41 +
  42 +- (void)layoutSubviews
  43 +{
  44 + [super layoutSubviews];
  45 +
  46 + self.liveBtn.top = self.height - 195 / 3;
  47 + _liveBtn.left = SCREEN_WIDTH * 0.5 - 195 / 6;
  48 + _liveBtn.width = 195 / 3;
  49 + _liveBtn.height = 195 / 3;
  50 +
  51 + CGFloat buttonY = 19 - 3;//19 - 3.5;
  52 + CGFloat buttonW = (self.width - 195 / 3)/ 2;
  53 + CGFloat buttonH = 30;
  54 +
  55 + NSInteger index = 0;
  56 + for (UIView *subView in self.subviews) {
  57 + if(subView.class != NSClassFromString(@"UITabBarButton"))continue;
  58 +
  59 + CGFloat buttonX = index * buttonW;
  60 + if (index >= 1)
  61 + {
  62 + buttonX += 195 / 3;
  63 + }
  64 +
  65 + subView.frame = CGRectMake(buttonX, buttonY, buttonW, buttonH);
  66 + // 增加索引
  67 + index++;
  68 + }
  69 +}
  70 +
  71 +//直播按钮点击事件
  72 +- (void)liveBtnClick
  73 +{
  74 + if([self.LVCTabBarDelegate respondsToSelector:@selector(liveBtnClick:)])
  75 + {
  76 + [self.LVCTabBarDelegate liveBtnClick:self];
  77 + }
  78 +}
  79 +@end
LiveVideoCloud/LiveVideoCloud/AppCustoms/Main/ZXNavigationController.h 0 → 100644
  1 +//
  2 +// ZXNavigationController.h
  3 +// ZXBaseProject
  4 +//
  5 +// Created by 张旭 on 2017/1/10.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +
  11 +@interface ZXNavigationController : UINavigationController
  12 +
  13 +@end
LiveVideoCloud/LiveVideoCloud/AppCustoms/Main/ZXNavigationController.m 0 → 100644
  1 +//
  2 +// ZXNavigationController.m
  3 +// ZXBaseProject
  4 +//
  5 +// Created by 张旭 on 2017/1/10.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import "ZXNavigationController.h"
  10 +
  11 +@interface ZXNavigationController ()<UIGestureRecognizerDelegate>
  12 +
  13 +@end
  14 +
  15 +@implementation ZXNavigationController
  16 +
  17 +- (void)viewDidLoad {
  18 + [super viewDidLoad];
  19 + // Do any additional setup after loading the view.
  20 + [UINavigationBar appearance].translucent = YES;
  21 +
  22 + self.interactivePopGestureRecognizer.delegate = self;
  23 + self.interactivePopGestureRecognizer.enabled = YES;
  24 +
  25 + [[UINavigationBar appearance] setBarTintColor:[UIColor whiteColor]];
  26 +
  27 +}
  28 +
  29 +/**
  30 + * 重写push目的:拦截所有push进来的子控制器
  31 + *
  32 + *
  33 + */
  34 +-(void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated
  35 +{
  36 + if(self.childViewControllers.count >= 1)
  37 + {
  38 + //隐藏底部的工具条
  39 + viewController.hidesBottomBarWhenPushed = YES;
  40 + }
  41 + //所有设置完成后再push控制器
  42 + [super pushViewController:viewController animated:animated];//tabbar的根控制器也是push进来的childViewControllers = 1
  43 +
  44 +}
  45 +
  46 +- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
  47 +{
  48 + if (self.viewControllers.count < 2)
  49 + return NO;
  50 +
  51 + return YES;
  52 +}
  53 +
  54 +-(BOOL)shouldAutorotate{
  55 + return NO;
  56 +}
  57 +
  58 +- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
  59 +
  60 + return UIInterfaceOrientationMaskPortrait;
  61 +}
  62 +
  63 +
  64 +- (void)didReceiveMemoryWarning {
  65 + [super didReceiveMemoryWarning];
  66 + // Dispose of any resources that can be recreated.
  67 +}
  68 +
  69 +/*
  70 +#pragma mark - Navigation
  71 +
  72 +// In a storyboard-based application, you will often want to do a little preparation before navigation
  73 +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
  74 + // Get the new view controller using [segue destinationViewController].
  75 + // Pass the selected object to the new view controller.
  76 +}
  77 +*/
  78 +
  79 +@end
LiveVideoCloud/LiveVideoCloud/AppCustoms/Main/ZXTabBarController.h 0 → 100644
  1 +//
  2 +// ZXTabBarController.h
  3 +// ZXBaseProject
  4 +//
  5 +// Created by 张旭 on 2017/1/10.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +
  11 +@interface ZXTabBarController : UITabBarController
  12 +
  13 +@end
LiveVideoCloud/LiveVideoCloud/AppCustoms/Main/ZXTabBarController.m 0 → 100644
  1 +//
  2 +// ZXTabBarController.m
  3 +// ZXBaseProject
  4 +//
  5 +// Created by 张旭 on 2017/1/10.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import "ZXTabBarController.h"
  10 +#import "ZXNavigationController.h"
  11 +#import "HomeViewController.h"
  12 +#import "LVCLiveViewController.h"
  13 +#import "LVCMineViewController.h"
  14 +#import "LVCTabBar.h"
  15 +
  16 +#import "LVCMineViewController.h"
  17 +
  18 +@interface ZXTabBarController ()<LVCTabBarDelegate>
  19 +
  20 +@end
  21 +
  22 +@implementation ZXTabBarController
  23 +
  24 +- (void)viewDidLoad {
  25 + [super viewDidLoad];
  26 + // Do any additional setup after loading the view.
  27 +
  28 + [[UITabBar appearance] setBarTintColor:[UIColor blackColorZX]];
  29 + //取消tabBar的透明效果
  30 + [UITabBar appearance].translucent = NO;
  31 +
  32 + [self setupItemTitleTextAttributes];
  33 + [self createUI];
  34 + [self setTabBar];
  35 +}
  36 +
  37 +- (void)setupItemTitleTextAttributes
  38 +{
  39 + UITabBarItem *item = [UITabBarItem appearance];
  40 + //普通状态下的文字属性
  41 + NSMutableDictionary *nomalAttrs = [NSMutableDictionary dictionary];
  42 + nomalAttrs[NSFontAttributeName] = [UIFont systemFontOfSize:14.0];
  43 + nomalAttrs[NSForegroundColorAttributeName] = [UIColor grayColor];
  44 + [item setTitleTextAttributes:nomalAttrs forState:UIControlStateNormal];
  45 + //选中状态下的文字属性
  46 + NSMutableDictionary *selectedAttrs = [NSMutableDictionary dictionary];
  47 + selectedAttrs[NSForegroundColorAttributeName] = [UIColor redColor];
  48 + [item setTitleTextAttributes:selectedAttrs forState:UIControlStateSelected];
  49 +}
  50 +
  51 +- (void)createUI
  52 +{
  53 + [self setupOneChildViewController:[[ZXNavigationController alloc]initWithRootViewController:[[HomeViewController alloc]init]] title:@"" image:@"home page" selectedImage:@"home page-click on"];
  54 +// [self setupOneChildViewController:[[ZXNavigationController alloc]initWithRootViewController:[[LVCMyViewController alloc]init]] title:@"" image:@"my" selectedImage:@"my-click on"];
  55 + [self setupOneChildViewController:[[ZXNavigationController alloc]initWithRootViewController:[[LVCMineViewController alloc]init]] title:@"" image:@"my" selectedImage:@"my-click on"];
  56 +}
  57 +
  58 +- (void)setupOneChildViewController:(UIViewController *)vc title:(NSString *)title image:(NSString *)image selectedImage:(NSString *)selectedImage
  59 +{
  60 + if (![title isEqualToString:@""]) {
  61 + vc.title = title;
  62 + }
  63 +
  64 + if(image.length)//图片名有值
  65 + {
  66 + vc.tabBarItem.image = [UIImage imageNamed:image];
  67 + vc.tabBarItem.selectedImage = [UIImage imageNamed:selectedImage];
  68 + }
  69 + [self addChildViewController:vc];
  70 +}
  71 +
  72 +- (void)setTabBar
  73 +{
  74 + LVCTabBar *tabbar = [[LVCTabBar alloc] init];
  75 + [self setValue:tabbar forKeyPath:@"tabBar"];
  76 + tabbar.LVCTabBarDelegate = self;
  77 +}
  78 +
  79 +
  80 +#pragma mark - LVCTabBarDelegate
  81 +
  82 +-(void)liveBtnClick:(LVCTabBar *)tabBar
  83 +{
  84 +// if ([UserTools isLogin]) {
  85 + LVCLiveViewController *liveCtrl = [[LVCLiveViewController alloc] init];
  86 + [self presentViewController:liveCtrl animated:YES completion:nil];
  87 +// }else {
  88 +// LoginViewController *loginCtrl = [[LoginViewController alloc] init];
  89 +// ZXNavigationController *navCtrl = [[ZXNavigationController alloc] initWithRootViewController:loginCtrl];
  90 +// loginCtrl.isModalButton = YES;
  91 +// [self presentViewController:navCtrl animated:YES completion:NULL];
  92 +// }
  93 +
  94 +}
  95 +
  96 +-(BOOL)shouldAutorotate{
  97 + return NO;
  98 +}
  99 +
  100 +- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
  101 +
  102 + return UIInterfaceOrientationMaskPortrait;
  103 +}
  104 +
  105 +- (void)didReceiveMemoryWarning {
  106 + [super didReceiveMemoryWarning];
  107 + // Dispose of any resources that can be recreated.
  108 +}
  109 +
  110 +/*
  111 +#pragma mark - Navigation
  112 +
  113 +// In a storyboard-based application, you will often want to do a little preparation before navigation
  114 +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
  115 + // Get the new view controller using [segue destinationViewController].
  116 + // Pass the selected object to the new view controller.
  117 +}
  118 +*/
  119 +
  120 +@end
LiveVideoCloud/LiveVideoCloud/AppDelegate/AppDelegate.h 0 → 100644
  1 +//
  2 +// AppDelegate.h
  3 +// LiveVideoCloud
  4 +//
  5 +// Created by 张旭 on 2017/3/7.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +
  11 +@interface AppDelegate : UIResponder <UIApplicationDelegate>
  12 +
  13 +@property (strong, nonatomic) UIWindow *_Nonnull window;
  14 +@property (nonatomic ,copy) NSString *_Nonnull deviceName;
  15 +
  16 +@end
  17 +
LiveVideoCloud/LiveVideoCloud/AppDelegate/AppDelegate.m 0 → 100644
  1 +//
  2 +// AppDelegate.m
  3 +// LiveVideoCloud
  4 +//
  5 +// Created by 张旭 on 2017/3/7.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import "AppDelegate.h"
  10 +#import "ZXTabBarController.h"
  11 +
  12 +#define KAppId @"60_irn9edco29"
  13 +#define KAppKey @"69fe70bda67e059286ad509d9f5377f815955645b52f94"
  14 +
  15 +@interface AppDelegate ()
  16 +
  17 +@end
  18 +
  19 +@implementation AppDelegate
  20 +
  21 +
  22 +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  23 + // Override point for customization after application launch.
  24 +
  25 + self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
  26 + self.window.rootViewController = [[ZXTabBarController alloc] init];
  27 +
  28 + //初始化直播SDK
  29 + [[CNLiveWebcastManager manager] initWithAppId:UserAppId appKey:UserAppKey];
  30 +
  31 + //初始化聊天SDK并连接服务器
  32 + [[CNLiveChatManager sharedCNLiveChatManager] initWithAppKey:UserAppKey appId:UserAppId];
  33 +
  34 + [CNLiveUserSystemCenter setAppId:UserAppId appKey:UserAppKey appSecret:UserAppSceret];
  35 +
  36 + /*
  37 + [[CNLiveChatManager sharedCNLiveChatManager] connectServerSuccess:^{
  38 + NSLog(@"连接服务器-----success");
  39 + } error:^(CNLiveChatConnectErrorCode errors) {
  40 + NSLog(@"连接服务器失败-----%ld", errors);
  41 + }];
  42 + */
  43 +
  44 + /*
  45 + CNLiveChatUserInfo *userInfo = [[CNLiveChatUserInfo alloc] initWithUserId:@"20170311" name:@"zzllzzzll" portrait:@"https://y3.cnliveimg.com/mobile/images/mobilehead/2017/03/30/1490844962259_small.jpg"];
  46 + */
  47 +
  48 + // 20170327 20170328
  49 +
  50 + CNLiveChatUserInfo *userInfo = [[CNLiveChatUserInfo alloc] initWithUserId:@"20170328" name:@"20170328" portrait:@""];
  51 + [[CNLiveChatManager sharedCNLiveChatManager] loginServer:userInfo success:^(NSString *userId) {
  52 + NSLog(@"连接服务器-----success");
  53 +
  54 + } error:^(CNLiveChatConnectErrorCode errors) {
  55 + NSLog(@"连接服务器失败-----%ld", errors);
  56 + }];
  57 + [self.window makeKeyAndVisible];
  58 +
  59 + return YES;
  60 +}
  61 +
  62 +
  63 +- (void)applicationWillResignActive:(UIApplication *)application {
  64 + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
  65 + // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game.
  66 +}
  67 +
  68 +
  69 +- (void)applicationDidEnterBackground:(UIApplication *)application {
  70 + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
  71 + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
  72 +}
  73 +
  74 +
  75 +- (void)applicationWillEnterForeground:(UIApplication *)application {
  76 + // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
  77 +}
  78 +
  79 +
  80 +- (void)applicationDidBecomeActive:(UIApplication *)application {
  81 + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
  82 +}
  83 +
  84 +
  85 +- (void)applicationWillTerminate:(UIApplication *)application {
  86 + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
  87 +}
  88 +
  89 +
  90 +@end
LiveVideoCloud/LiveVideoCloud/Base.lproj/LaunchScreen.storyboard 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="11134" systemVersion="15F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
  3 + <dependencies>
  4 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11106"/>
  5 + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
  6 + </dependencies>
  7 + <scenes>
  8 + <!--View Controller-->
  9 + <scene sceneID="EHf-IW-A2E">
  10 + <objects>
  11 + <viewController id="01J-lp-oVM" sceneMemberID="viewController">
  12 + <layoutGuides>
  13 + <viewControllerLayoutGuide type="top" id="Llm-lL-Icb"/>
  14 + <viewControllerLayoutGuide type="bottom" id="xb3-aO-Qok"/>
  15 + </layoutGuides>
  16 + <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
  17 + <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
  18 + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
  19 + <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  20 + </view>
  21 + </viewController>
  22 + <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
  23 + </objects>
  24 + <point key="canvasLocation" x="53" y="375"/>
  25 + </scene>
  26 + </scenes>
  27 +</document>
LiveVideoCloud/LiveVideoCloud/Classes/CNLiveSDK/CNLiveChatManager.framework/CNLiveChatManager 0 → 100755
No preview for this file type
LiveVideoCloud/LiveVideoCloud/Classes/CNLiveSDK/CNLiveChatManager.framework/Headers/CNLiveChatManager.h 0 → 100644
  1 +//
  2 +// CNLiveChatManager.h
  3 +// CNLiveChatManager
  4 +//
  5 +// Created by cnliveJunBo on 17/2/27.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import <Foundation/Foundation.h>
  10 +#import "CNLiveChatUserInfo.h"
  11 +#import "CNLiveChatStatusDefine.h"
  12 +#import "CNLiveChatMessage.h"
  13 +
  14 +@protocol CNLiveChatManagerDelegate <NSObject>
  15 +
  16 +@optional
  17 +/**
  18 + 连接状态的的监听器
  19 +
  20 + @param status 网络连接状态码
  21 + */
  22 +- (void)onConnectionStatusChanged:(CNLiveConnectionStatus)status;
  23 +
  24 +
  25 +/**
  26 + 加入聊天室成功的监听
  27 + @param chatroomId 聊天室ID
  28 + */
  29 +- (void)onChatRoomJoined:(NSString *)chatroomId;
  30 +
  31 +
  32 +/*!
  33 + 加入聊天室失败的监听
  34 +
  35 + @param chatroomId 聊天室ID
  36 + @param errorCode 加入失败的错误码
  37 +
  38 + @discussion 如果错误码是CNLive_KICKED_FROM_CHATROOM或CNLive_CHATROOM_NOT_EXIST,则不会自动重新加入聊天室,App需要按照自己的逻辑处理。
  39 + */
  40 +- (void)onChatRoomJoinFailed:(NSString *)chatroomId
  41 + errorCode:(CNLiveChatErrorCode)errorCode;
  42 +
  43 +/**
  44 + 接收消息监听
  45 +
  46 + @param message 消息实体类型对象(包括消息内容,消息ID,会话类型,目标ID,发送者的用户信息)
  47 + */
  48 +- (void)onReceived:(CNLiveChatMessage *)message;
  49 +
  50 +
  51 +/**
  52 + 当前用户在其他设备上登录,此设备被踢下线。
  53 + */
  54 +- (void)kickedByAnotherDevice;
  55 +
  56 +@end
  57 +
  58 +@interface CNLiveChatManager : NSObject
  59 +
  60 +/**
  61 + 聊天SDK代理,设置代理后,实现代理方法。
  62 + */
  63 +@property (nonatomic, weak) id<CNLiveChatManagerDelegate> delegate;
  64 +
  65 +/**
  66 + 当前登录用户的用户信息
  67 +
  68 + @discussion 用于与融云服务器建立连接之后,获取&设置当前用户的用户信息。
  69 + 用户ID不允许重新设置,只能设置昵称&头像。
  70 + */
  71 +@property(nonatomic, strong) CNLiveChatUserInfo *currentUserInfo;
  72 +
  73 +/**
  74 + 获取SDK版本号
  75 +
  76 + @return SDK版本号
  77 + */
  78 ++ (NSString *)getVersion;
  79 +
  80 +
  81 +/**
  82 + 获取视讯聊天核心类单例
  83 +
  84 + @return 视讯聊天核心类单例
  85 +
  86 + @discussion 您可以通过此方法,获取视讯聊天的单例,访问对象中的属性和方法。
  87 + */
  88 ++ (instancetype)sharedCNLiveChatManager;
  89 +
  90 +
  91 +/**
  92 + 初始化SDK方法
  93 +
  94 + @param appKey 从视讯云平台获取到的appKey
  95 + @param appId 从视讯云平台获取到的appId
  96 + @warning 必传参数
  97 + @discussion 您在使用聊天SDK所有功能之前,您必须先调用此方法初始化SDK。
  98 + 在App整个生命周期中,您只需要执行一次初始化。
  99 + */
  100 +- (void)initWithAppKey:(NSString *)appKey appId:(NSString *)appId;
  101 +
  102 +
  103 +/**
  104 + 连接到视讯云服务器
  105 +
  106 + @param successBlock 连接建立成功的回调。
  107 + @param errorBlock 连接建立成功的回调,返回错误码。
  108 + 注:连接服务器成功后才能使用聊天功能(如:单聊、加入聊天室、聊天室内 聊天);
  109 + */
  110 +- (void)connectServerSuccess:(void (^)())successBlock
  111 + error:(void (^)(CNLiveChatConnectErrorCode errors))errorBlock;
  112 +
  113 +/**
  114 + 以用户信息登陆到视讯云服务器
  115 +
  116 + @param userInfo 用户信息
  117 + @param successBlock 登陆成功的回调,返回登陆成功的用户ID。
  118 + @param errorBlock 登陆失败的回调,返回错误码。
  119 + 注:连接服务器成功后才能使用聊天功能(如:单聊、加入聊天室、聊天室内 聊天);
  120 + */
  121 +- (void)loginServer:(CNLiveChatUserInfo *)userInfo
  122 + success:(void (^)(NSString *userId))successBlock
  123 + error:(void (^)(CNLiveChatConnectErrorCode errors))errorBlock;
  124 +
  125 +
  126 +/**
  127 + 当前用户登出服务器
  128 + */
  129 +- (void)logoutServer;
  130 +
  131 +
  132 +/**
  133 + 断开与服务器的连接
  134 +
  135 + @param isReceivePush 与服务器断开后,是否还接收远程推送
  136 + */
  137 +- (void)disconnectServer:(BOOL)isReceivePush;
  138 +
  139 +
  140 +/**
  141 + 加入已经存在的聊天室(如果不存在或超限会返回聊天室不存在错误23410 或 人数超限23411)
  142 +
  143 + @param targetId 要加入的聊天室ID
  144 + @param messageCount 进入聊天室时获取历史消息的数量,-1<=messageCount<=50
  145 + -1表示不获取任何历史消息,0表示不特殊设置而使用SDK默认的设置(默认为获取10条),0<messageCount<=50为具体获取的消息数量,最大值为50。
  146 + @param successBlock 加入聊天室成功的回调,返回成功加入的聊天室ID。
  147 + @param errorBlock 加入聊天室失败的回调,返回错误码以及加入失败的聊天室ID。
  148 + */
  149 +- (void)joinExistChatRoom:(NSString *)targetId
  150 + messageCount:(int)messageCount
  151 + success:(void (^)(NSString *targetId))successBlock
  152 + error:(void (^)(CNLiveChatErrorCode errors, NSString *targetId))errorBlock;
  153 +
  154 +
  155 +/**
  156 + 加入聊天室,若不存在自动创建聊天室
  157 +
  158 + @param targetId 要加入的聊天室ID
  159 + @param messageCount 进入聊天室时获取历史消息的数量,-1<=messageCount<=50
  160 + -1表示不获取任何历史消息,0表示不特殊设置而使用SDK默认的设置(默认为获取10条),0<messageCount<=50为具体获取的消息数量,最大值为50。
  161 + @param successBlock 加入聊天室成功的回调,返回成功加入的聊天室ID
  162 + @param errorBlock 加入聊天室失败的回调,返回错误码以及加入失败的聊天室ID
  163 + */
  164 +- (void)joinChatRoom:(NSString *)targetId
  165 + messageCount:(int)messageCount
  166 + success:(void (^)(NSString *targetId))successBlock
  167 + error:(void (^)(CNLiveChatErrorCode errors, NSString *targetId))errorBlock;
  168 +
  169 +
  170 +/**
  171 + 退出聊天室
  172 +
  173 + @param targetId 要退出的聊天室ID
  174 + @param successBlock 退出聊天室成功的回调,返回成功退出的聊天室ID
  175 + @param errorBlock 退出聊天室失败的回调,返回失败的错误码以及退出失败的聊天室的ID
  176 + */
  177 +- (void)quitChatRoom:(NSString *)targetId
  178 + success:(void (^)(NSString *targetId))successBlock
  179 + error:(void (^)(CNLiveChatErrorCode errors, NSString *targetId))errorBlock;
  180 +
  181 +
  182 +/**
  183 + 发送消息
  184 +
  185 + @param message 消息内容
  186 + @param type 会话类型(私聊 / 聊天室)
  187 + @param targetId 会话目标ID(私聊:用户ID / 聊天室:聊天室ID)
  188 + @param successBlock 发送消息成功的回调,消息实体类型对象(包括消息内容,消息ID,会话类型,目标ID,发送者的用户信息)
  189 + @param errorBlock 发送消息失败的回调,返回错误码,消息ID,目标ID
  190 + */
  191 +- (void)sendMessage:(NSString *)message
  192 + type:(CNLiveConversationType)type
  193 + targetId:(NSString *)targetId
  194 + success:(void (^)(CNLiveChatMessage *message))successBlock
  195 + error:(void (^)(CNLiveChatErrorCode errors, NSString *messageId, NSString *targetId))errorBlock;
  196 +
  197 +
  198 +/**
  199 + 获取当前SDK的连接状态
  200 +
  201 + @return 当前SDK的连接状态
  202 + */
  203 +- (CNLiveConnectionStatus)getConnectionStatus;
  204 +
  205 +
  206 +/**
  207 + 获取某个会话中指定数量的最新消息
  208 +
  209 + @param conversationType 会话类型(私聊 / 聊天室)
  210 + @param targetId 会话目标ID(私聊:用户ID / 聊天室:聊天室ID)
  211 + @param count 所要获取的消息数量
  212 +
  213 + @return 消息数组(CNLiveChatMessage类型)
  214 + @discussion
  215 + 此方法会获取该会话中指定数量的最新消息实体,返回的消息实体按照时间从新到旧排列。
  216 + 如果会话中的消息数量小于参数count的值,会将该会话中的所有消息返回。
  217 + */
  218 +- (NSArray *)getLatestMessages:(CNLiveConversationType)conversationType
  219 + targetId:(NSString *)targetId
  220 + count:(int)count;
  221 +
  222 +
  223 +@end
LiveVideoCloud/LiveVideoCloud/Classes/CNLiveSDK/CNLiveChatManager.framework/Headers/CNLiveChatMessage.h 0 → 100644
  1 +//
  2 +// CNLiveChatMessage.h
  3 +// CNLiveChatManager
  4 +//
  5 +// Created by cnliveJunBo on 17/3/3.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import <Foundation/Foundation.h>
  10 +#import "CNLiveChatStatusDefine.h"
  11 +#import "CNLiveChatUserInfo.h"
  12 +
  13 +@interface CNLiveChatMessage : NSObject
  14 +
  15 +/**
  16 + 会话类型(私聊 / 聊天室)
  17 + */
  18 +@property (nonatomic, assign) CNLiveConversationType conversationType;
  19 +
  20 +/**
  21 + 目标ID(消息来自聊天室的ID / 接收者ID)
  22 + */
  23 +@property (nonatomic, copy) NSString *targetId;
  24 +
  25 +/**
  26 + 消息ID(本地存储的消息的唯一值(数据库索引唯一值))
  27 + */
  28 +@property (nonatomic, copy) NSString *messageId;
  29 +
  30 +/**
  31 + 消息内容
  32 + */
  33 +@property (nonatomic, copy) NSString *messageContent;
  34 +
  35 +/**
  36 + 发送者的用户信息(userId, name, portraitUri)
  37 + */
  38 +@property (nonatomic, strong) CNLiveChatUserInfo *userInfo;
  39 +
  40 +/**
  41 + 消息的接收时间(Unix时间戳、毫秒)
  42 + */
  43 +@property(nonatomic, assign) long long receivedTime;
  44 +
  45 +/**
  46 + 消息的发送时间(Unix时间戳、毫秒)
  47 + */
  48 +@property(nonatomic, assign) long long sentTime;
  49 +
  50 +@end
LiveVideoCloud/LiveVideoCloud/Classes/CNLiveSDK/CNLiveChatManager.framework/Headers/CNLiveChatStatusDefine.h 0 → 100644
  1 +//
  2 +// CNLiveChatStatusDefine.h
  3 +// CNLiveChatManager
  4 +//
  5 +// Created by cnliveJunBo on 17/3/1.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import <Foundation/Foundation.h>
  10 +
  11 +#pragma mark - 错误码相关
  12 +
  13 +#pragma mark CNLiveChatConnectErrorCode - 建立连接返回的错误码
  14 +/*!
  15 + 建立连接返回的错误码
  16 +
  17 + @discussion
  18 + 开发者仅需要关注以下几种连接错误码,其余错误码SDK均会进行自动重连,开发者无须处理。
  19 + CNLive_CONN_ID_REJECT, CNLive_CONN_TOKEN_INCORRECT, CNLive_CONN_NOT_AUTHRORIZED,
  20 + CNLive_CONN_PACKAGE_NAME_INVALID, CNLive_CONN_APP_BLOCKED_OR_DELETED,
  21 + CNLive_CONN_USER_BLOCKED, CNLive_DISCONN_KICK, CNLive_CLIENT_NOT_INIT, CNLive_INVALID_PARAMETER, CNLive_INVALID_ARGUMENT
  22 + */
  23 +typedef NS_ENUM(NSInteger, CNLiveChatConnectErrorCode) {
  24 +
  25 + /*!
  26 + 连接已被释放
  27 +
  28 + @discussion 建立连接的临时错误码,SDK会做好自动重连,开发者无须处理。
  29 + */
  30 + CNLive_NET_CHANNEL_INVALID = 30001,
  31 +
  32 + /*!
  33 + 连接不可用
  34 +
  35 + @discussion 建立连接的临时错误码,SDK会做好自动重连,开发者无须处理。
  36 + */
  37 + CNLive_NET_UNAVAILABLE = 30002,
  38 +
  39 + /*!
  40 + 导航HTTP发送失败
  41 +
  42 + @discussion 建立连接的临时错误码,SDK会做好自动重连,开发者无须处理。
  43 + */
  44 + CNLive_NAVI_REQUEST_FAIL = 30004,
  45 +
  46 + /*!
  47 + 导航HTTP请求失败
  48 +
  49 + @discussion 建立连接的临时错误码,SDK会做好自动重连,开发者无须处理。
  50 + */
  51 + CNLive_NAVI_RESPONSE_ERROR = 30007,
  52 +
  53 + /*!
  54 + 导航HTTP返回数据格式错误
  55 +
  56 + @discussion 建立连接的临时错误码,SDK会做好自动重连,开发者无须处理。
  57 + */
  58 + CNLive_NODE_NOT_FOUND = 30008,
  59 +
  60 + /*!
  61 + 创建Socket连接失败
  62 +
  63 + @discussion 建立连接的临时错误码,SDK会做好自动重连,开发者无须处理。
  64 + */
  65 + CNLive_SOCKET_NOT_CONNECTED = 30010,
  66 +
  67 + /*!
  68 + Socket断开
  69 +
  70 + @discussion 建立连接的临时错误码,SDK会做好自动重连,开发者无须处理。
  71 + */
  72 + CNLive_SOCKET_DISCONNECTED = 30011,
  73 +
  74 + /*!
  75 + PING失败
  76 +
  77 + @discussion 建立连接的临时错误码,SDK会做好自动重连,开发者无须处理。
  78 + */
  79 + CNLive_PING_SEND_FAIL = 30012,
  80 +
  81 + /*!
  82 + PING超时
  83 +
  84 + @discussion 建立连接的临时错误码,SDK会做好自动重连,开发者无须处理。
  85 + */
  86 + CNLive_PONG_RECV_FAIL = 30013,
  87 +
  88 + /*!
  89 + 信令发送失败
  90 +
  91 + @discussion 建立连接的临时错误码,SDK会做好自动重连,开发者无须处理。
  92 + */
  93 + CNLive_MSG_SEND_FAIL = 30014,
  94 +
  95 + /*!
  96 + 连接过于频繁
  97 +
  98 + @discussion 建立连接的临时错误码,SDK会做好自动重连,开发者无须处理。
  99 + */
  100 + CNLive_CONN_OVERFREQUENCY = 30015,
  101 +
  102 + /*!
  103 + 连接ACK超时
  104 +
  105 + @discussion 建立连接的临时错误码,SDK会做好自动重连,开发者无须处理。
  106 + */
  107 + CNLive_CONN_ACK_TIMEOUT = 31000,
  108 +
  109 + /*!
  110 + 信令版本错误
  111 +
  112 + @discussion 建立连接的临时错误码,SDK会做好自动重连,开发者无须处理。
  113 + */
  114 + CNLive_CONN_PROTO_VERSION_ERROR = 31001,
  115 +
  116 + /*!
  117 + AppKey错误
  118 +
  119 + @discussion 请检查您使用的AppKey是否正确。(*自行处理)
  120 + */
  121 + CNLive_CONN_ID_REJECT = 31002,
  122 +
  123 + /*!
  124 + 服务器当前不可用(预留)
  125 +
  126 + @discussion 建立连接的临时错误码,SDK会做好自动重连,开发者无须处理。
  127 + */
  128 + CNLive_CONN_SERVER_UNAVAILABLE = 31003,
  129 +
  130 + /*!
  131 + Token无效
  132 +
  133 + @discussion Token无效一般有以下两种原因。(*自行处理)
  134 + 一是token错误,请您检查客户端初始化使用的AppKey和您服务器获取token使用的AppKey是否一致;
  135 + 二是token过期,是因为您在开发者后台设置了token过期时间,您需要请求您的服务器重新获取token并再次用新的token建立连接。
  136 + */
  137 + CNLive_CONN_TOKEN_INCORRECT = 31004,
  138 +
  139 + /*!
  140 + AppKey与Token不匹配
  141 +
  142 + @discussion
  143 + 请检查您使用的AppKey与Token是否正确,是否匹配。一般有以下两种原因。(*自行处理)
  144 + 一是token错误,请您检查客户端初始化使用的AppKey和您服务器获取token使用的AppKey是否一致;
  145 + 二是token过期,是因为您在开发者后台设置了token过期时间,您需要请求您的服务器重新获取token并再次用新的token建立连接。
  146 + */
  147 + CNLive_CONN_NOT_AUTHRORIZED = 31005,
  148 +
  149 + /*!
  150 + 连接重定向
  151 +
  152 + @discussion 建立连接的临时错误码,SDK会做好自动重连,开发者无须处理。
  153 + */
  154 + CNLive_CONN_REDIRECTED = 31006,
  155 +
  156 + /*!
  157 + BundleID不正确
  158 +
  159 + @discussion 请检查您App的BundleID是否正确。(*自行处理)
  160 + */
  161 + CNLive_CONN_PACKAGE_NAME_INVALID = 31007,
  162 +
  163 + /*!
  164 + AppKey被封禁或已删除
  165 +
  166 + @discussion 请检查您使用的AppKey是否正确。(*自行处理)
  167 + */
  168 + CNLive_CONN_APP_BLOCKED_OR_DELETED = 31008,
  169 +
  170 + /*!
  171 + 用户被封禁
  172 +
  173 + @discussion 请检查您使用的Token是否正确,以及对应的UserId是否被封禁。(*自行处理)
  174 + */
  175 + CNLive_CONN_USER_BLOCKED = 31009,
  176 +
  177 + /*!
  178 + Token请求失败
  179 +
  180 + @discussion 请检查连接服务器方法的参数是否正确,特别是用户信息中的用户ID。也可能是无网络。(*自行处理)
  181 + */
  182 + CNLive_CONN_TOKEN_NULL = 31012,
  183 +
  184 + /*!
  185 + 当前用户在其他设备上登陆,此设备被踢下线。(*自行处理)
  186 + */
  187 + CNLive_DISCONN_KICK = 31010,
  188 +
  189 + /*!
  190 + SDK没有初始化
  191 +
  192 + @discussion 在使用SDK任何功能之前,必须先Init。(*自行处理)
  193 + */
  194 + CNLive_CONN_CLIENT_NOT_INIT = 33001,
  195 +
  196 + /*!
  197 + 开发者接口调用时传入的参数错误
  198 +
  199 + @discussion 请检查接口调用时传入的参数类型和值。(*自行处理)
  200 + */
  201 + CNLive_CONN_INVALID_PARAMETER = 33003,
  202 +
  203 + /*!
  204 + Connection已经存在
  205 +
  206 + @discussion
  207 + 调用过connect之后,建议在token错误或者被踢下线或者用户logout的情况下才需要再次调用connect。SDK会自动重连,不需要应用多次调用connect来保证连接性。(*自行处理)
  208 + */
  209 + CNLive_CONNECTION_EXIST = 34001,
  210 +
  211 + /*!
  212 + Connection正在连接
  213 +
  214 + @discussion
  215 + Connection正在连接,此时不能再次做connect操作,稍后再做操作(*自行处理)
  216 + */
  217 + CNLive_CONNECTION_CONNING = 34002,
  218 +
  219 + /*!
  220 + 开发者接口调用时传入的参数错误
  221 +
  222 + @discussion 请检查接口调用时传入的参数类型和值。(*自行处理)
  223 + */
  224 + CNLive_INVALID_ARGUMENT = -1000
  225 +};
  226 +
  227 +#pragma mark CNLiveChatErrorCode - 具体业务错误码
  228 +/*!
  229 + 具体业务错误码
  230 + */
  231 +typedef NS_ENUM(NSInteger, CNLiveChatErrorCode) {
  232 + /*!
  233 + 未知错误(预留)
  234 + */
  235 + CNLive_ERRORCODE_UNKNOWN = -1,
  236 +
  237 + /*!
  238 + token错误
  239 + */
  240 + CNLive_ERRORCODE_BY_TOKENERROR = 302,
  241 +
  242 + /*!
  243 + 鉴权失败 此AppId无权加入此targetId的聊天室
  244 + */
  245 + CNLive_ERRORCODE_BY_AUTHENTICATIONERROR = 303,
  246 +
  247 + /*!
  248 + 不合法的 targetId
  249 + */
  250 + CNLive_ERRORCODE_BY_TARGETIDERROR = 304,
  251 +
  252 + /*!
  253 + 不合法的 会话类型 type
  254 + */
  255 + CNLive_ERRORCODE_BY_CONVERSATIONTYPEERROR = 305,
  256 +
  257 + /*!
  258 + 已被对方加入黑名单
  259 + */
  260 + CNLive_REJECTED_BY_BLACKLIST = 405,
  261 +
  262 + /*!
  263 + 超时
  264 + */
  265 + CNLive_ERRORCODE_TIMEOUT = 5004,
  266 +
  267 + /*!
  268 + 发送消息频率过高,1秒钟最多只允许发送5条消息
  269 + */
  270 + CNLive_SEND_MSG_FREQUENCY_OVERRUN = 20604,
  271 +
  272 + /*!
  273 + 不在该聊天室中
  274 + */
  275 + CNLive_NOT_IN_CHATROOM = 23406,
  276 +
  277 + /*!
  278 + 在该聊天室中已被禁言
  279 + */
  280 + CNLive_FORBIDDEN_IN_CHATROOM = 23408,
  281 +
  282 + /*!
  283 + 已被踢出聊天室
  284 + */
  285 + CNLive_KICKED_FROM_CHATROOM = 23409,
  286 +
  287 + /*!
  288 + 聊天室不存在
  289 + */
  290 + CNLive_CHATROOM_NOT_EXIST = 23410,
  291 +
  292 + /*!
  293 + 聊天室成员超限
  294 + */
  295 + CNLive_CHATROOM_IS_FULL = 23411,
  296 +
  297 + /*!
  298 + 聊天室接口参数无效
  299 + */
  300 + CNLive_PARAMETER_INVALID_CHATROOM = 23412,
  301 +
  302 + /*!
  303 + 聊天室云存储业务未开通
  304 + */
  305 + CNLive_ROAMING_SERVICE_UNAVAILABLE_CHATROOM = 23414,
  306 +
  307 + /*!
  308 + 当前连接不可用(连接已经被释放)
  309 + */
  310 + CNLive_CHANNEL_INVALID = 30001,
  311 +
  312 + /*!
  313 + 当前连接不可用
  314 + */
  315 + CNLive_NETWORK_UNAVAILABLE = 30002,
  316 +
  317 + /*!
  318 + 消息响应超时
  319 + */
  320 + CNLive_MSG_RESPONSE_TIMEOUT = 30003,
  321 +
  322 + /*!
  323 + SDK没有初始化
  324 +
  325 + @discussion 在使用SDK任何功能之前,必须先Init。
  326 + */
  327 + CNLive_CLIENT_NOT_INIT = 33001,
  328 +
  329 + /*!
  330 + 数据库错误
  331 +
  332 + @discussion 请检查您使用的Token和userId是否正确。
  333 + */
  334 + CNLive_DATABASE_ERROR = 33002,
  335 +
  336 + /*!
  337 + 开发者接口调用时传入的参数错误
  338 +
  339 + @discussion 请检查接口调用时传入的参数类型和值。
  340 + */
  341 + CNLive_INVALID_PARAMETER = 33003,
  342 +
  343 + /*!
  344 + 历史消息云存储业务未开通
  345 + */
  346 + CNLive_MSG_ROAMING_SERVICE_UNAVAILABLE = 33007,
  347 +
  348 + /*!
  349 + 消息大小超限,消息体(序列化成json格式之后的内容)最大128k bytes。
  350 + */
  351 + CNLive_MSG_SIZE_OUT_OF_LIMIT = 30016
  352 +};
  353 +
  354 +#pragma mark - 会话相关
  355 +
  356 +#pragma mark CNLiveConversationType - 会话类型
  357 +/*!
  358 + 会话类型
  359 + */
  360 +typedef NS_ENUM(NSUInteger, CNLiveConversationType) {
  361 + /*!
  362 + 私聊
  363 + */
  364 + CNLive_ConversationType_PRIVATE = 1,
  365 +
  366 + /*!
  367 + 聊天室
  368 + */
  369 + CNLive_ConversationType_CHATROOM = 4,
  370 +};
  371 +
  372 +#pragma mark - 线上状态
  373 +
  374 +#pragma mark CNLiveConnectionStatus - 网络连接状态码
  375 +/*!
  376 + 网络连接状态码
  377 +
  378 + @discussion 开发者仅需要关注以下几种连接状态,其余状态SDK均会进行自动重连。
  379 + CNLive_ConnectionStatus_Connected, CNLive_ConnectionStatus_Connecting,
  380 + CNLive_ConnectionStatus_Unconnected,
  381 + CNLive_ConnectionStatus_SignUp, CNLive_ConnectionStatus_KICKED_OFFLINE_BY_OTHER_CLIENT,
  382 + CNLive_ConnectionStatus_TOKEN_INCORRECT
  383 + */
  384 +typedef NS_ENUM(NSInteger, CNLiveConnectionStatus) {
  385 + /*!
  386 + 未知状态
  387 +
  388 + @discussion 建立连接中出现异常的临时状态,SDK会做好自动重连,开发者无须处理。
  389 + */
  390 + CNLive_ConnectionStatus_UNKNOWN = -1,
  391 +
  392 + /*!
  393 + 连接成功
  394 + */
  395 + CNLive_ConnectionStatus_Connected = 0,
  396 +
  397 + /*!
  398 + 当前设备网络不可用
  399 +
  400 + @discussion 建立连接的临时状态,SDK会做好自动重连,开发者无须处理。
  401 + */
  402 + CNLive_ConnectionStatus_NETWORK_UNAVAILABLE = 1,
  403 +
  404 + /*!
  405 + 当前设备切换到飞行模式
  406 +
  407 + @discussion 建立连接的临时状态,SDK会做好自动重连,开发者无须处理。
  408 + */
  409 + CNLive_ConnectionStatus_AIRPLANE_MODE = 2,
  410 +
  411 + /*!
  412 + 当前设备切换到 2G(GPRS、EDGE)低速网络
  413 +
  414 + @discussion 建立连接的临时状态,SDK会做好自动重连,开发者无须处理。
  415 + */
  416 + CNLive_ConnectionStatus_Cellular_2G = 3,
  417 +
  418 + /*!
  419 + 当前设备切换到 3G 或 4G 高速网络
  420 +
  421 + @discussion 建立连接的临时状态,SDK会做好自动重连,开发者无须处理。
  422 + */
  423 + CNLive_ConnectionStatus_Cellular_3G_4G = 4,
  424 +
  425 + /*!
  426 + 当前设备切换到 WIFI 网络
  427 +
  428 + @discussion 建立连接的临时状态,SDK会做好自动重连,开发者无须处理。
  429 + */
  430 + CNLive_ConnectionStatus_WIFI = 5,
  431 +
  432 + /*!
  433 + 当前用户在其他设备上登录,此设备被踢下线
  434 + */
  435 + CNLive_ConnectionStatus_KICKED_OFFLINE_BY_OTHER_CLIENT = 6,
  436 +
  437 + /*!
  438 + 当前用户在 Web 端登录
  439 +
  440 + @discussion 建立连接的临时状态,SDK会做好自动重连,开发者无须处理。
  441 + */
  442 + CNLive_ConnectionStatus_LOGIN_ON_WEB = 7,
  443 +
  444 + /*!
  445 + 服务器异常
  446 +
  447 + @discussion 建立连接的临时状态,SDK会做好自动重连,开发者无须处理。
  448 + */
  449 + CNLive_ConnectionStatus_SERVER_INVALID = 8,
  450 +
  451 + /*!
  452 + 连接验证异常
  453 +
  454 + @discussion 建立连接的临时状态,SDK会做好自动重连,开发者无须处理。
  455 + */
  456 + CNLive_ConnectionStatus_VALIDATE_INVALID = 9,
  457 +
  458 + /*!
  459 + 连接中
  460 + */
  461 + CNLive_ConnectionStatus_Connecting = 10,
  462 +
  463 + /*!
  464 + 连接失败或未连接
  465 + */
  466 + CNLive_ConnectionStatus_Unconnected = 11,
  467 +
  468 + /*!
  469 + 已注销
  470 + */
  471 + CNLive_ConnectionStatus_SignUp = 12,
  472 +
  473 + /*!
  474 + Token无效
  475 +
  476 + @discussion
  477 + Token无效一般有两种原因。一是token错误,请您检查客户端初始化使用的AppKey和您服务器获取token使用的AppKey是否一致;二是token过期,是因为您在开发者后台设置了token过期时间,您需要请求您的服务器重新获取token并再次用新的token建立连接。
  478 + */
  479 + CNLive_ConnectionStatus_TOKEN_INCORRECT = 31004,
  480 +
  481 + /*!
  482 + 与服务器的连接已断开
  483 +
  484 + @discussion 建立连接的临时状态,SDK会做好自动重连,开发者无须处理。
  485 + */
  486 + CNLive_ConnectionStatus_DISCONN_EXCEPTION = 31011,
  487 +
  488 + /*!
  489 + 与服务器的连接已断开
  490 +
  491 + @discussion 无法自动重连,需手动重新连接服务器connectServerSuccess:error:。
  492 + */
  493 + CNLive_ConnectionStatus_DISCONN_MANUALCONN = 32011
  494 +};
  495 +
  496 +
LiveVideoCloud/LiveVideoCloud/Classes/CNLiveSDK/CNLiveChatManager.framework/Headers/CNLiveChatUserInfo.h 0 → 100644
  1 +//
  2 +// CNLiveChatUserInfo.h
  3 +// CNLiveChatManager
  4 +//
  5 +// Created by cnliveJunBo on 17/3/1.
  6 +// Copyright © 2017年 cnlive. All rights reserved.
  7 +//
  8 +
  9 +#import <Foundation/Foundation.h>
  10 +
  11 +@interface CNLiveChatUserInfo : NSObject
  12 +
  13 +/*!
  14 + 用户ID(一旦以一个用户ID连接到服务器,就不能再修改用户ID了,如果修改也会被忽略)
  15 + */
  16 +@property(nonatomic, copy, readonly) NSString *userId;
  17 +
  18 +/*!
  19 + 用户名称
  20 + */
  21 +@property(nonatomic, copy) NSString *name;
  22 +
  23 +/*!
  24 + 用户头像的URL
  25 + */
  26 +@property(nonatomic, copy) NSString *portraitUri;
  27 +
  28 +/*!
  29 + 用户信息的初始化方法,
  30 +
  31 + @param userId 用户ID
  32 + @param username 用户名称
  33 + @param portrait 用户头像的URL
  34 + @return 用户信息对象
  35 + */
  36 +- (instancetype)initWithUserId:(NSString *)userId
  37 + name:(NSString *)username
  38 + portrait:(NSString *)portrait;
  39 +
  40 +@end
LiveVideoCloud/LiveVideoCloud/Classes/CNLiveSDK/CNLiveChatManager.framework/Info.plist 0 → 100644
No preview for this file type
LiveVideoCloud/LiveVideoCloud/Classes/CNLiveSDK/CNLiveMsgTools.framework/CNLiveMsgTools 0 → 100755
No preview for this file type
LiveVideoCloud/LiveVideoCloud/Classes/CNLiveSDK/CNLiveMsgTools.framework/Emoji.plist 0 → 100644
No preview for this file type