Commit 8d9549d34f7f2557e5e4c697edf7408a91e25e50

Authored by zhangxiaowen
1 parent 548ae3d9

no message

CNLiveLoginModule.podspec
@@ -113,6 +113,9 @@ TODO: 网家家-登录模块. @@ -113,6 +113,9 @@ TODO: 网家家-登录模块.
113 113
114 # 类别 114 # 类别
115 s.dependency 'CNLiveCategory' 115 s.dependency 'CNLiveCategory'
  116 +
  117 + # 自定义控件
  118 + s.dependency 'CNLiveCustomControl'
116 119
117 s.static_framework = true 120 s.static_framework = true
118 121
CNLiveLoginModule/Classes/Controller/CNLiveCompleteInfoController.m
@@ -12,12 +12,12 @@ @@ -12,12 +12,12 @@
12 #import "QMUIKit.h" 12 #import "QMUIKit.h"
13 #import "YYKit.h" 13 #import "YYKit.h"
14 14
15 -#import "CNLiveLoginNavigationBar.h" 15 +#import "CNLiveNavigationBar.h"
16 #import "CNLiveCompleteInfoView.h" 16 #import "CNLiveCompleteInfoView.h"
17 17
18 -@interface CNLiveCompleteInfoController()<CNLiveCompleteInfoViewDelegate,CNLiveLoginNavigationBarDelegate> 18 +@interface CNLiveCompleteInfoController()<CNLiveCompleteInfoViewDelegate>
19 @property (nonatomic, strong) CNLiveCompleteInfoView *infoView; 19 @property (nonatomic, strong) CNLiveCompleteInfoView *infoView;
20 -@property (nonatomic, strong) CNLiveLoginNavigationBar *navigationBar; 20 +@property (nonatomic, strong) CNLiveNavigationBar *navigationBar;
21 21
22 @end 22 @end
23 23
@@ -64,12 +64,15 @@ @@ -64,12 +64,15 @@
64 */ 64 */
65 65
66 #pragma mark - 懒加载 66 #pragma mark - 懒加载
67 -- (CNLiveLoginNavigationBar *)navigationBar { 67 +- (CNLiveNavigationBar *)navigationBar {
68 if (!_navigationBar) { 68 if (!_navigationBar) {
69 - _navigationBar = [[CNLiveLoginNavigationBar alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, NavigationContentTop)]; 69 + _navigationBar = [CNLiveNavigationBar navigationBar];
70 _navigationBar.backgroundColor = [UIColor whiteColor]; 70 _navigationBar.backgroundColor = [UIColor whiteColor];
71 - _navigationBar.delegate = self;  
72 _navigationBar.title.text = @"完善信息"; 71 _navigationBar.title.text = @"完善信息";
  72 + __weak typeof(self) weakSelf = self;
  73 + _navigationBar.onClickLeftButton = ^{
  74 + [weakSelf.navigationController popViewControllerAnimated:YES];
  75 + };
73 _navigationBar.right = nil; 76 _navigationBar.right = nil;
74 } 77 }
75 return _navigationBar; 78 return _navigationBar;
@@ -84,18 +87,4 @@ @@ -84,18 +87,4 @@
84 return _infoView; 87 return _infoView;
85 } 88 }
86 89
87 -#pragma mark - CNLiveLoginNavigationBarDelegate  
88 -- (void)navigationBar:(CNLiveLoginNavigationBar *)navigationBar actionEvents:(NSString *)actionEvents{  
89 - if ([actionEvents isEqualToString:@"1"]) {  
90 - if (self.navigationController.topViewController == self) {  
91 - [self.navigationController popViewControllerAnimated:YES];  
92 - }else{  
93 - [self dismissViewControllerAnimated:YES completion:nil];  
94 - }  
95 -  
96 - }else if ([actionEvents isEqualToString:@"2"]){  
97 -  
98 - }  
99 -}  
100 -  
101 @end 90 @end
CNLiveLoginModule/Classes/Controller/CNLiveLoginController.m
@@ -94,7 +94,6 @@ @@ -94,7 +94,6 @@
94 - (void)loginSuccess:(CNLiveLoginView *)view isNewUser:(BOOL)isNewUser result:(id _Nonnull)result{ 94 - (void)loginSuccess:(CNLiveLoginView *)view isNewUser:(BOOL)isNewUser result:(id _Nonnull)result{
95 if (isNewUser) { 95 if (isNewUser) {
96 // 新用户 -> 设置昵称和头像 96 // 新用户 -> 设置昵称和头像
97 -// [OpenInstallSDK reportRegister];  
98 CNLiveCompleteInfoController *vc = [[CNLiveCompleteInfoController alloc]init]; 97 CNLiveCompleteInfoController *vc = [[CNLiveCompleteInfoController alloc]init];
99 vc.hidesBottomBarWhenPushed = YES; 98 vc.hidesBottomBarWhenPushed = YES;
100 [self.navigationController pushViewController:vc animated:YES]; 99 [self.navigationController pushViewController:vc animated:YES];
@@ -150,7 +149,7 @@ @@ -150,7 +149,7 @@
150 - (UIButton *)close{ 149 - (UIButton *)close{
151 if (!_close) { 150 if (!_close) {
152 _close = [UIButton buttonWithType:UIButtonTypeCustom]; 151 _close = [UIButton buttonWithType:UIButtonTypeCustom];
153 - _close.frame = CGRectMake(SCREEN_WIDTH-44-10, StatusBarHeight, 44, 44); 152 + _close.frame = CGRectMake(SCREEN_WIDTH-NavigationBarHeight-10, StatusBarHeight, NavigationBarHeight, NavigationBarHeight);
154 _close.hidden = !self.isShowClose; 153 _close.hidden = !self.isShowClose;
155 UIImage *image = [self getImageWithImageName:@"login_close" bundleName:@"CNLiveLoginModule" targetClass:[self class]]; 154 UIImage *image = [self getImageWithImageName:@"login_close" bundleName:@"CNLiveLoginModule" targetClass:[self class]];
156 [_close setImage:image forState:UIControlStateNormal]; 155 [_close setImage:image forState:UIControlStateNormal];
CNLiveLoginModule/Classes/ThreeLogin/CNLiveBindingTelController.m
@@ -12,12 +12,12 @@ @@ -12,12 +12,12 @@
12 #import "NSAttributedString+YYText.h" 12 #import "NSAttributedString+YYText.h"
13 #import "QMUIKit.h" 13 #import "QMUIKit.h"
14 14
15 -#import "CNLiveLoginNavigationBar.h" 15 +#import "CNLiveNavigationBar.h"
16 #import "CNLiveBindingTelView.h" 16 #import "CNLiveBindingTelView.h"
17 17
18 -@interface CNLiveBindingTelController()<CNLiveBindingTelViewDelegate, CNLiveLoginNavigationBarDelegate> 18 +@interface CNLiveBindingTelController()<CNLiveBindingTelViewDelegate>
19 @property (nonatomic, assign) CNLiveThreeLoginType type; 19 @property (nonatomic, assign) CNLiveThreeLoginType type;
20 -@property (nonatomic, strong) CNLiveLoginNavigationBar *navigationBar; 20 +@property (nonatomic, strong) CNLiveNavigationBar *navigationBar;
21 21
22 @property (nonatomic, strong) CNLiveBindingTelView *bindingTelView; 22 @property (nonatomic, strong) CNLiveBindingTelView *bindingTelView;
23 @property (nonatomic, strong) YYLabel *protocol; 23 @property (nonatomic, strong) YYLabel *protocol;
@@ -63,19 +63,6 @@ @@ -63,19 +63,6 @@
63 - (void)bindingSuccess:(CNLiveBindingTelView *)view type:(CNLiveThreeLoginType)type{ 63 - (void)bindingSuccess:(CNLiveBindingTelView *)view type:(CNLiveThreeLoginType)type{
64 64
65 } 65 }
66 -#pragma mark - CNLiveLoginNavigationBarDelegate  
67 -- (void)navigationBar:(CNLiveLoginNavigationBar *)navigationBar actionEvents:(NSString *)actionEvents{  
68 - if ([actionEvents isEqualToString:@"1"]) {  
69 - if (self.navigationController.topViewController == self) {  
70 - [self.navigationController popViewControllerAnimated:YES];  
71 - }else{  
72 - [self dismissViewControllerAnimated:YES completion:nil];  
73 - }  
74 -  
75 - }else if ([actionEvents isEqualToString:@"2"]){  
76 -  
77 - }  
78 -}  
79 66
80 /* 67 /*
81 #pragma mark - Navigation 68 #pragma mark - Navigation
@@ -87,12 +74,15 @@ @@ -87,12 +74,15 @@
87 } 74 }
88 */ 75 */
89 #pragma mark - 懒加载 76 #pragma mark - 懒加载
90 -- (CNLiveLoginNavigationBar *)navigationBar { 77 +- (CNLiveNavigationBar *)navigationBar {
91 if (!_navigationBar) { 78 if (!_navigationBar) {
92 - _navigationBar = [[CNLiveLoginNavigationBar alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, NavigationContentTop)]; 79 + _navigationBar = [CNLiveNavigationBar navigationBar];
93 _navigationBar.backgroundColor = [UIColor whiteColor]; 80 _navigationBar.backgroundColor = [UIColor whiteColor];
94 - _navigationBar.delegate = self;  
95 _navigationBar.title.text = @"绑定手机号"; 81 _navigationBar.title.text = @"绑定手机号";
  82 + __weak typeof(self) weakSelf = self;
  83 + _navigationBar.onClickLeftButton = ^{
  84 + [weakSelf.navigationController popViewControllerAnimated:YES];
  85 + };
96 _navigationBar.right = nil; 86 _navigationBar.right = nil;
97 } 87 }
98 return _navigationBar; 88 return _navigationBar;
CNLiveLoginModule/Classes/View/CNLiveCountDownButton.h deleted 100644 → 0
1 -//  
2 -// XWCountDownButton.h  
3 -// CNLiveLoginModule  
4 -//  
5 -// Created by 153993236@qq.com on 11/12/2019.  
6 -// Copyright (c) 2019 153993236@qq.com. All rights reserved.  
7 -//  
8 -  
9 -/**  
10 - * 倒计时按钮  
11 - */  
12 -#import <UIKit/UIKit.h>  
13 -  
14 -NS_ASSUME_NONNULL_BEGIN  
15 -  
16 -@class CNLiveCountDownButton;  
17 -  
18 -@protocol CNLiveCountDownButtonDataSource <NSObject>  
19 -// 设置起始倒计时秒数  
20 -- (NSInteger)startCountDownNumOfCountDownButton:(CNLiveCountDownButton *)button;  
21 -  
22 -@end  
23 -  
24 -@protocol CNLiveCountDownButtonDelegate <NSObject>  
25 -// 倒计时按钮点击时回调  
26 -- (void)countDownButtonDidClick:(CNLiveCountDownButton *)button;  
27 -// 倒计时进行中的回调  
28 -- (void)countDownButtonDidCountDown:(CNLiveCountDownButton *)button countDownNum:(NSInteger)countDownNum;  
29 -// 倒计时结束时的回调  
30 -- (void)countDownButtonDidEndCountDown:(CNLiveCountDownButton *)button;  
31 -  
32 -@end  
33 -  
34 -@interface CNLiveCountDownButton : UIButton  
35 -  
36 -@property (nonatomic, weak) id <CNLiveCountDownButtonDataSource> dataSource;  
37 -@property (nonatomic, weak) id <CNLiveCountDownButtonDelegate> delegate;  
38 -  
39 -/** 开始倒计时 */  
40 -- (void)startCountDown;  
41 -/** 释放timer */  
42 -- (void)releaseTimer;  
43 -  
44 -@end  
45 -  
46 -NS_ASSUME_NONNULL_END  
CNLiveLoginModule/Classes/View/CNLiveCountDownButton.m deleted 100644 → 0
1 -//  
2 -// CNLiveCountDownButton.m  
3 -// CNLiveLoginModule  
4 -//  
5 -// Created by 153993236@qq.com on 11/12/2019.  
6 -// Copyright (c) 2019 153993236@qq.com. All rights reserved.  
7 -//  
8 -  
9 -#import "CNLiveCountDownButton.h"  
10 -@interface CNLiveCountDownButton()  
11 -@property (nonatomic, strong) NSTimer *timer;  
12 -  
13 -@end  
14 -  
15 -@implementation CNLiveCountDownButton{  
16 - // 剩余倒计时  
17 - NSInteger _countDownNum;  
18 -}  
19 -  
20 -- (instancetype)initWithFrame:(CGRect)frame {  
21 - if (self = [super initWithFrame:frame]) {  
22 - [self addTarget:self action:@selector(onClick) forControlEvents:UIControlEventTouchUpInside];  
23 - }  
24 - return self;  
25 -}  
26 -  
27 -// 按钮点击  
28 -- (void)onClick {  
29 - if ([self.dataSource respondsToSelector:@selector(startCountDownNumOfCountDownButton:)]) {  
30 - _countDownNum = [self.dataSource startCountDownNumOfCountDownButton:self];  
31 - }  
32 - if ([self.delegate respondsToSelector:@selector(countDownButtonDidClick:)]) {  
33 - [self.delegate countDownButtonDidClick:self];  
34 - }  
35 -}  
36 -  
37 -// 开始倒计时  
38 -- (void)startCountDown {  
39 - if (self.timer) {  
40 - [self releaseTimer];  
41 - }  
42 -  
43 - self.timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(refreshButton) userInfo:nil repeats:YES];  
44 - [[NSRunLoop currentRunLoop] addTimer:self.timer forMode:NSRunLoopCommonModes];  
45 -}  
46 -  
47 -// 刷新按钮  
48 -- (void)refreshButton {  
49 - _countDownNum --;  
50 -  
51 - if ([self.delegate respondsToSelector:@selector(countDownButtonDidCountDown:countDownNum:)]) {  
52 - [self.delegate countDownButtonDidCountDown:self countDownNum:_countDownNum];  
53 - }  
54 -  
55 - if (_countDownNum == 0) {  
56 - [self releaseTimer];  
57 - if ([self.delegate respondsToSelector:@selector(countDownButtonDidEndCountDown:)]) {  
58 - [self.delegate countDownButtonDidEndCountDown:self];  
59 - }  
60 - }  
61 -}  
62 -  
63 -- (void)releaseTimer {  
64 - if (self.timer) {  
65 - [self.timer invalidate];  
66 - self.timer = nil;  
67 - }  
68 -}  
69 -  
70 -- (void)dealloc {  
71 - NSLog(@"倒计时按钮已释放");  
72 -}  
73 -  
74 -@end  
CNLiveLoginModule/Classes/View/CNLiveLoginNavigationBar.h deleted 100644 → 0
1 -//  
2 -// CNLiveLoginNavigationBar.m  
3 -// CNLiveLoginModule  
4 -//  
5 -// Created by 153993236@qq.com on 11/12/2019.  
6 -// Copyright (c) 2019 153993236@qq.com. All rights reserved.  
7 -//  
8 -  
9 -#import <UIKit/UIKit.h>  
10 -  
11 -NS_ASSUME_NONNULL_BEGIN  
12 -@class CNLiveLoginNavigationBar;  
13 -  
14 -@protocol CNLiveLoginNavigationBarDelegate <NSObject>  
15 -- (void)navigationBar:(CNLiveLoginNavigationBar *)navigationBar actionEvents:(NSString *)actionEvents;  
16 -  
17 -@end  
18 -  
19 -@interface CNLiveLoginNavigationBar : UIView  
20 -@property (nonatomic, weak) id<CNLiveLoginNavigationBarDelegate> delegate;  
21 -@property (nonatomic, strong) UIView *navView;  
22 -@property (nonatomic, strong) UIButton *left;  
23 -@property (nonatomic, strong) UILabel *title;  
24 -@property (nonatomic, strong, nullable) UIButton *right;  
25 -  
26 -  
27 -@end  
28 -  
29 -NS_ASSUME_NONNULL_END  
CNLiveLoginModule/Classes/View/CNLiveLoginNavigationBar.m deleted 100644 → 0
1 -//  
2 -// CNLiveLoginNavigationBar.m  
3 -// CNLiveLoginModule  
4 -//  
5 -// Created by 153993236@qq.com on 11/12/2019.  
6 -// Copyright © 2019 153993236@qq.com. All rights reserved.  
7 -//  
8 -  
9 -#import "CNLiveLoginNavigationBar.h"  
10 -#import "QMUIKit.h"  
11 -#import "CNLiveCategory.h"  
12 -  
13 -@interface CNLiveLoginNavigationBar ()  
14 -  
15 -@end  
16 -  
17 -@implementation CNLiveLoginNavigationBar  
18 -static const NSInteger margin = 15;  
19 -  
20 -- (instancetype)initWithFrame:(CGRect)frame{  
21 - self = [super initWithFrame:frame];  
22 - if(self){  
23 - self.userInteractionEnabled = YES;  
24 - self.backgroundColor = [UIColor clearColor];  
25 - [self createSubViews];  
26 - }  
27 - return self;  
28 -}  
29 -  
30 -- (void)dealloc {  
31 - NSLog(@"CNLiveSettingNavigationBar -- dealloc");  
32 -}  
33 -  
34 -- (void)createSubViews {  
35 - [self addSubview:self.navView];  
36 - [self addSubview:self.left];  
37 - [self addSubview:self.title];  
38 - [self addSubview:self.right];  
39 -}  
40 -  
41 -/*  
42 - // Only override drawRect: if you perform custom drawing.  
43 - // An empty implementation adversely affects performance during animation.  
44 - - (void)drawRect:(CGRect)rect {  
45 - // Drawing code  
46 - }  
47 - */  
48 -  
49 -#pragma mark - 懒加载  
50 -- (UIView *)navView {  
51 - if (!_navView) {  
52 - _navView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, NavigationContentTop)];  
53 - _navView.backgroundColor = [UIColor clearColor];  
54 - }  
55 - return _navView;  
56 -}  
57 -  
58 -- (UIButton *)left {  
59 - if (!_left) {  
60 - _left= [UIButton buttonWithType:UIButtonTypeCustom];  
61 - _left.adjustsImageWhenHighlighted = NO;  
62 - _left.frame = CGRectMake(margin, StatusBarHeight, NavigationBarHeight, NavigationBarHeight);  
63 - UIImage *image = [self getImageWithImageName:@"mine_back_black_b" bundleName:@"CNLiveLoginModule" targetClass:[self class]];  
64 - [_left setImage:[image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] forState:UIControlStateNormal];  
65 - _left.titleLabel.font = [UIFont systemFontOfSize:15];  
66 - [_left setContentHorizontalAlignment:UIControlContentHorizontalAlignmentLeft];  
67 - [_left addTarget:self action:@selector(goBack) forControlEvents:UIControlEventTouchUpInside];  
68 - }  
69 - return _left;  
70 -}  
71 -  
72 -- (UILabel *)title {  
73 - if (!_title) {  
74 - _title = [[UILabel alloc] initWithFrame:CGRectMake(margin+NavigationBarHeight, StatusBarHeight, SCREEN_WIDTH-2*(margin+NavigationBarHeight), NavigationBarHeight)];  
75 - [_title setFont:[UIFont systemFontOfSize:18]];  
76 - _title.textColor = [UIColor blackColor];  
77 - _title.textAlignment = NSTextAlignmentCenter;  
78 - }  
79 - return _title;  
80 -}  
81 -  
82 -- (UIButton *)right {  
83 - if (!_right) {  
84 - _right = [UIButton buttonWithType:UIButtonTypeCustom];  
85 - _right.frame = CGRectMake(SCREEN_WIDTH-NavigationBarHeight-margin, StatusBarHeight, NavigationBarHeight, NavigationBarHeight);  
86 - [_right setContentHorizontalAlignment:UIControlContentHorizontalAlignmentRight];  
87 - _right.adjustsImageWhenHighlighted = NO;  
88 - _right.titleLabel.font = [UIFont systemFontOfSize:15];  
89 - [_right setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];  
90 - [_right addTarget:self action:@selector(rightDidClicked:) forControlEvents:UIControlEventTouchUpInside];  
91 - }  
92 - return _right;  
93 -}  
94 -  
95 -#pragma mark - 响应方法  
96 -- (void)goBack{  
97 - if (self.delegate && [self.delegate respondsToSelector:@selector(navigationBar:actionEvents:)]) {  
98 - [self.delegate navigationBar:self actionEvents:@"1"];  
99 - }  
100 -}  
101 -- (void)rightDidClicked:(UIButton *)btn{  
102 - if (self.delegate && [self.delegate respondsToSelector:@selector(navigationBar:actionEvents:)]) {  
103 - [self.delegate navigationBar:self actionEvents:@"2"];  
104 - }  
105 -}  
106 -  
107 -@end  
Example/CNLiveLoginModule.xcodeproj/project.pbxproj
@@ -207,8 +207,8 @@ @@ -207,8 +207,8 @@
207 6003F586195388D20070C39A /* Sources */, 207 6003F586195388D20070C39A /* Sources */,
208 6003F587195388D20070C39A /* Frameworks */, 208 6003F587195388D20070C39A /* Frameworks */,
209 6003F588195388D20070C39A /* Resources */, 209 6003F588195388D20070C39A /* Resources */,
210 - 9E665687E99D8511B3D85BB7 /* [CP] Embed Pods Frameworks */,  
211 - ED94DF5FADC63D17850E55EE /* [CP] Copy Pods Resources */, 210 + 057461B17BCCE0389584B0ED /* [CP] Embed Pods Frameworks */,
  211 + 2A7FDE4BAF3533B61B4D4BF2 /* [CP] Copy Pods Resources */,
212 ); 212 );
213 buildRules = ( 213 buildRules = (
214 ); 214 );
@@ -299,29 +299,7 @@ @@ -299,29 +299,7 @@
299 /* End PBXResourcesBuildPhase section */ 299 /* End PBXResourcesBuildPhase section */
300 300
301 /* Begin PBXShellScriptBuildPhase section */ 301 /* Begin PBXShellScriptBuildPhase section */
302 - 479B71CB631FBB2745B895A0 /* [CP] Check Pods Manifest.lock */ = {  
303 - isa = PBXShellScriptBuildPhase;  
304 - buildActionMask = 2147483647;  
305 - files = (  
306 - );  
307 - inputFileListPaths = (  
308 - );  
309 - inputPaths = (  
310 - "${PODS_PODFILE_DIR_PATH}/Podfile.lock",  
311 - "${PODS_ROOT}/Manifest.lock",  
312 - );  
313 - name = "[CP] Check Pods Manifest.lock";  
314 - outputFileListPaths = (  
315 - );  
316 - outputPaths = (  
317 - "$(DERIVED_FILE_DIR)/Pods-CNLiveLoginModule_Tests-checkManifestLockResult.txt",  
318 - );  
319 - runOnlyForDeploymentPostprocessing = 0;  
320 - shellPath = /bin/sh;  
321 - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";  
322 - showEnvVarsInLog = 0;  
323 - };  
324 - 9E665687E99D8511B3D85BB7 /* [CP] Embed Pods Frameworks */ = { 302 + 057461B17BCCE0389584B0ED /* [CP] Embed Pods Frameworks */ = {
325 isa = PBXShellScriptBuildPhase; 303 isa = PBXShellScriptBuildPhase;
326 buildActionMask = 2147483647; 304 buildActionMask = 2147483647;
327 files = ( 305 files = (
@@ -330,6 +308,7 @@ @@ -330,6 +308,7 @@
330 "${PODS_ROOT}/Target Support Files/Pods-CNLiveLoginModule_Example/Pods-CNLiveLoginModule_Example-frameworks.sh", 308 "${PODS_ROOT}/Target Support Files/Pods-CNLiveLoginModule_Example/Pods-CNLiveLoginModule_Example-frameworks.sh",
331 "${BUILT_PRODUCTS_DIR}/AFNetworking/AFNetworking.framework", 309 "${BUILT_PRODUCTS_DIR}/AFNetworking/AFNetworking.framework",
332 "${BUILT_PRODUCTS_DIR}/CNLiveAVCamera/CNLiveAVCamera.framework", 310 "${BUILT_PRODUCTS_DIR}/CNLiveAVCamera/CNLiveAVCamera.framework",
  311 + "${BUILT_PRODUCTS_DIR}/CNLiveBaseClass/CNLiveBaseClass.framework",
333 "${BUILT_PRODUCTS_DIR}/CNLiveBaseKit/CNLiveBaseKit.framework", 312 "${BUILT_PRODUCTS_DIR}/CNLiveBaseKit/CNLiveBaseKit.framework",
334 "${BUILT_PRODUCTS_DIR}/CNLiveBaseTools/CNLiveBaseTools.framework", 313 "${BUILT_PRODUCTS_DIR}/CNLiveBaseTools/CNLiveBaseTools.framework",
335 "${BUILT_PRODUCTS_DIR}/CNLiveBeeHive/CNLiveBeeHive.framework", 314 "${BUILT_PRODUCTS_DIR}/CNLiveBeeHive/CNLiveBeeHive.framework",
@@ -338,6 +317,7 @@ @@ -338,6 +317,7 @@
338 "${BUILT_PRODUCTS_DIR}/CNLiveCategory/CNLiveCategory.framework", 317 "${BUILT_PRODUCTS_DIR}/CNLiveCategory/CNLiveCategory.framework",
339 "${BUILT_PRODUCTS_DIR}/CNLiveChooseCountry/CNLiveChooseCountry.framework", 318 "${BUILT_PRODUCTS_DIR}/CNLiveChooseCountry/CNLiveChooseCountry.framework",
340 "${BUILT_PRODUCTS_DIR}/CNLiveCommonCategory/CNLiveCommonCategory.framework", 319 "${BUILT_PRODUCTS_DIR}/CNLiveCommonCategory/CNLiveCommonCategory.framework",
  320 + "${BUILT_PRODUCTS_DIR}/CNLiveCustomControl/CNLiveCustomControl.framework",
341 "${BUILT_PRODUCTS_DIR}/CNLiveEnvironment/CNLiveEnvironment.framework", 321 "${BUILT_PRODUCTS_DIR}/CNLiveEnvironment/CNLiveEnvironment.framework",
342 "${BUILT_PRODUCTS_DIR}/CNLiveImagePickerController/CNLiveImagePickerController.framework", 322 "${BUILT_PRODUCTS_DIR}/CNLiveImagePickerController/CNLiveImagePickerController.framework",
343 "${BUILT_PRODUCTS_DIR}/CNLiveManager/CNLiveManager.framework", 323 "${BUILT_PRODUCTS_DIR}/CNLiveManager/CNLiveManager.framework",
@@ -355,12 +335,14 @@ @@ -355,12 +335,14 @@
355 "${BUILT_PRODUCTS_DIR}/SDAutoLayout/SDAutoLayout.framework", 335 "${BUILT_PRODUCTS_DIR}/SDAutoLayout/SDAutoLayout.framework",
356 "${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework", 336 "${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework",
357 "${PODS_ROOT}/TXIMSDK_iOS/ImSDK.framework", 337 "${PODS_ROOT}/TXIMSDK_iOS/ImSDK.framework",
  338 + "${BUILT_PRODUCTS_DIR}/WebViewJavascriptBridge/WebViewJavascriptBridge.framework",
358 "${BUILT_PRODUCTS_DIR}/YYKit/YYKit.framework", 339 "${BUILT_PRODUCTS_DIR}/YYKit/YYKit.framework",
359 ); 340 );
360 name = "[CP] Embed Pods Frameworks"; 341 name = "[CP] Embed Pods Frameworks";
361 outputPaths = ( 342 outputPaths = (
362 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AFNetworking.framework", 343 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AFNetworking.framework",
363 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveAVCamera.framework", 344 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveAVCamera.framework",
  345 + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveBaseClass.framework",
364 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveBaseKit.framework", 346 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveBaseKit.framework",
365 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveBaseTools.framework", 347 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveBaseTools.framework",
366 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveBeeHive.framework", 348 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveBeeHive.framework",
@@ -369,6 +351,7 @@ @@ -369,6 +351,7 @@
369 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveCategory.framework", 351 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveCategory.framework",
370 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveChooseCountry.framework", 352 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveChooseCountry.framework",
371 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveCommonCategory.framework", 353 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveCommonCategory.framework",
  354 + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveCustomControl.framework",
372 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveEnvironment.framework", 355 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveEnvironment.framework",
373 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveImagePickerController.framework", 356 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveImagePickerController.framework",
374 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveManager.framework", 357 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CNLiveManager.framework",
@@ -386,6 +369,7 @@ @@ -386,6 +369,7 @@
386 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDAutoLayout.framework", 369 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDAutoLayout.framework",
387 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework", 370 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework",
388 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ImSDK.framework", 371 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ImSDK.framework",
  372 + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/WebViewJavascriptBridge.framework",
389 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/YYKit.framework", 373 "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/YYKit.framework",
390 ); 374 );
391 runOnlyForDeploymentPostprocessing = 0; 375 runOnlyForDeploymentPostprocessing = 0;
@@ -393,7 +377,25 @@ @@ -393,7 +377,25 @@
393 shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-CNLiveLoginModule_Example/Pods-CNLiveLoginModule_Example-frameworks.sh\"\n"; 377 shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-CNLiveLoginModule_Example/Pods-CNLiveLoginModule_Example-frameworks.sh\"\n";
394 showEnvVarsInLog = 0; 378 showEnvVarsInLog = 0;
395 }; 379 };
396 - C744CFA8914B761288845DE6 /* [CP] Check Pods Manifest.lock */ = { 380 + 2A7FDE4BAF3533B61B4D4BF2 /* [CP] Copy Pods Resources */ = {
  381 + isa = PBXShellScriptBuildPhase;
  382 + buildActionMask = 2147483647;
  383 + files = (
  384 + );
  385 + inputPaths = (
  386 + "${PODS_ROOT}/Target Support Files/Pods-CNLiveLoginModule_Example/Pods-CNLiveLoginModule_Example-resources.sh",
  387 + "${PODS_CONFIGURATION_BUILD_DIR}/CNLiveLoginModule/CNLiveLoginModule.bundle",
  388 + );
  389 + name = "[CP] Copy Pods Resources";
  390 + outputPaths = (
  391 + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/CNLiveLoginModule.bundle",
  392 + );
  393 + runOnlyForDeploymentPostprocessing = 0;
  394 + shellPath = /bin/sh;
  395 + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-CNLiveLoginModule_Example/Pods-CNLiveLoginModule_Example-resources.sh\"\n";
  396 + showEnvVarsInLog = 0;
  397 + };
  398 + 479B71CB631FBB2745B895A0 /* [CP] Check Pods Manifest.lock */ = {
397 isa = PBXShellScriptBuildPhase; 399 isa = PBXShellScriptBuildPhase;
398 buildActionMask = 2147483647; 400 buildActionMask = 2147483647;
399 files = ( 401 files = (
@@ -408,29 +410,33 @@ @@ -408,29 +410,33 @@
408 outputFileListPaths = ( 410 outputFileListPaths = (
409 ); 411 );
410 outputPaths = ( 412 outputPaths = (
411 - "$(DERIVED_FILE_DIR)/Pods-CNLiveLoginModule_Example-checkManifestLockResult.txt", 413 + "$(DERIVED_FILE_DIR)/Pods-CNLiveLoginModule_Tests-checkManifestLockResult.txt",
412 ); 414 );
413 runOnlyForDeploymentPostprocessing = 0; 415 runOnlyForDeploymentPostprocessing = 0;
414 shellPath = /bin/sh; 416 shellPath = /bin/sh;
415 shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; 417 shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
416 showEnvVarsInLog = 0; 418 showEnvVarsInLog = 0;
417 }; 419 };
418 - ED94DF5FADC63D17850E55EE /* [CP] Copy Pods Resources */ = { 420 + C744CFA8914B761288845DE6 /* [CP] Check Pods Manifest.lock */ = {
419 isa = PBXShellScriptBuildPhase; 421 isa = PBXShellScriptBuildPhase;
420 buildActionMask = 2147483647; 422 buildActionMask = 2147483647;
421 files = ( 423 files = (
422 ); 424 );
  425 + inputFileListPaths = (
  426 + );
423 inputPaths = ( 427 inputPaths = (
424 - "${PODS_ROOT}/Target Support Files/Pods-CNLiveLoginModule_Example/Pods-CNLiveLoginModule_Example-resources.sh",  
425 - "${PODS_CONFIGURATION_BUILD_DIR}/CNLiveLoginModule/CNLiveLoginModule.bundle", 428 + "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
  429 + "${PODS_ROOT}/Manifest.lock",
  430 + );
  431 + name = "[CP] Check Pods Manifest.lock";
  432 + outputFileListPaths = (
426 ); 433 );
427 - name = "[CP] Copy Pods Resources";  
428 outputPaths = ( 434 outputPaths = (
429 - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/CNLiveLoginModule.bundle", 435 + "$(DERIVED_FILE_DIR)/Pods-CNLiveLoginModule_Example-checkManifestLockResult.txt",
430 ); 436 );
431 runOnlyForDeploymentPostprocessing = 0; 437 runOnlyForDeploymentPostprocessing = 0;
432 shellPath = /bin/sh; 438 shellPath = /bin/sh;
433 - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-CNLiveLoginModule_Example/Pods-CNLiveLoginModule_Example-resources.sh\"\n"; 439 + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
434 showEnvVarsInLog = 0; 440 showEnvVarsInLog = 0;
435 }; 441 };
436 /* End PBXShellScriptBuildPhase section */ 442 /* End PBXShellScriptBuildPhase section */