Commit 718383825b509be2d192f8c656b25f6120d1cf97

Authored by 朱林
1 parent e07cedc3

添加异常探针

CNLiveUserSystemDemo.xcodeproj/project.pbxproj
... ... @@ -191,8 +191,8 @@
191 191 812540FC1D87DFFB00F32D66 /* CNLiveUserInfo.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNLiveUserInfo.m; sourceTree = "<group>"; };
192 192 812642C11D86A7A800B402CA /* CNLiveUserSystemDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CNLiveUserSystemDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
193 193 812642C51D86A7A800B402CA /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
194   - 812642C71D86A7A800B402CA /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = CNLiveUserSystemDemo/AppDelegate.h; sourceTree = "<group>"; };
195   - 812642C81D86A7A800B402CA /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = CNLiveUserSystemDemo/AppDelegate.m; sourceTree = "<group>"; };
  194 + 812642C71D86A7A800B402CA /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
  195 + 812642C81D86A7A800B402CA /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
196 196 812642CE1D86A7A800B402CA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
197 197 812642D01D86A7A800B402CA /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
198 198 812642D31D86A7A800B402CA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
... ... @@ -207,6 +207,7 @@
207 207 812642F91D86A83100B402CA /* CNLiveUserSystemCenter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNLiveUserSystemCenter.m; sourceTree = "<group>"; };
208 208 812642FB1D86AFE600B402CA /* CNLiveUserSystemTypeDef.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CNLiveUserSystemTypeDef.h; sourceTree = "<group>"; };
209 209 817C6EC21D90D60E0016F211 /* ImageIO.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ImageIO.framework; path = System/Library/Frameworks/ImageIO.framework; sourceTree = SDKROOT; };
  210 + 818735211DA8FD2700046D84 /* Common.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Common.h; sourceTree = "<group>"; };
210 211 8187A8ED1D8E6394007FAFB6 /* Tools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Tools.h; sourceTree = "<group>"; };
211 212 8187A8EE1D8E6394007FAFB6 /* Tools.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Tools.m; sourceTree = "<group>"; };
212 213 8187A8F01D8E6486007FAFB6 /* NSObject+UserModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSObject+UserModel.h"; sourceTree = "<group>"; };
... ... @@ -421,8 +422,6 @@
421 422 812642B81D86A7A800B402CA = {
422 423 isa = PBXGroup;
423 424 children = (
424   - 812642C71D86A7A800B402CA /* AppDelegate.h */,
425   - 812642C81D86A7A800B402CA /* AppDelegate.m */,
426 425 810D9B7D1D8FCBC200B7A776 /* frameworks */,
427 426 812642C31D86A7A800B402CA /* CNLiveUserSystemDemo */,
428 427 812642DD1D86A7A800B402CA /* CNLiveUserSystemDemoTests */,
... ... @@ -444,6 +443,8 @@
444 443 812642C31D86A7A800B402CA /* CNLiveUserSystemDemo */ = {
445 444 isa = PBXGroup;
446 445 children = (
  446 + 812642C71D86A7A800B402CA /* AppDelegate.h */,
  447 + 812642C81D86A7A800B402CA /* AppDelegate.m */,
447 448 81D077381D911D50000A5E00 /* CNLiveNetworking */,
448 449 8187A8FF1D8E9A7B007FAFB6 /* ThirdSDK */,
449 450 8187A8EC1D8E6385007FAFB6 /* Tools */,
... ... @@ -510,6 +511,7 @@
510 511 811600FF1D92929A003CAE7D /* NSDictionary+Safety.h */,
511 512 811601001D92929A003CAE7D /* NSDictionary+Safety.m */,
512 513 812642FB1D86AFE600B402CA /* CNLiveUserSystemTypeDef.h */,
  514 + 818735211DA8FD2700046D84 /* Common.h */,
513 515 );
514 516 path = CNLiveUserSystemSDK;
515 517 sourceTree = "<group>";
... ...
CNLiveUserSystemDemo.xcodeproj/project.xcworkspace/xcuserdata/iOS.xcuserdatad/UserInterfaceState.xcuserstate
No preview for this file type
CNLiveUserSystemDemo.xcodeproj/xcuserdata/iOS.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
... ... @@ -2,4 +2,16 @@
2 2 <Bucket
3 3 type = "1"
4 4 version = "2.0">
  5 + <Breakpoints>
  6 + <BreakpointProxy
  7 + BreakpointExtensionID = "Xcode.Breakpoint.ExceptionBreakpoint">
  8 + <BreakpointContent
  9 + shouldBeEnabled = "Yes"
  10 + ignoreCount = "0"
  11 + continueAfterRunningActions = "No"
  12 + scope = "0"
  13 + stopOnStyle = "0">
  14 + </BreakpointContent>
  15 + </BreakpointProxy>
  16 + </Breakpoints>
5 17 </Bucket>
... ...
CNLiveUserSystemDemo/Assets.xcassets/AppIcon.appiconset/Contents.json
... ... @@ -2,6 +2,16 @@
2 2 "images" : [
3 3 {
4 4 "idiom" : "iphone",
  5 + "size" : "20x20",
  6 + "scale" : "2x"
  7 + },
  8 + {
  9 + "idiom" : "iphone",
  10 + "size" : "20x20",
  11 + "scale" : "3x"
  12 + },
  13 + {
  14 + "idiom" : "iphone",
5 15 "size" : "29x29",
6 16 "scale" : "2x"
7 17 },
... ... @@ -32,6 +42,16 @@
32 42 },
33 43 {
34 44 "idiom" : "ipad",
  45 + "size" : "20x20",
  46 + "scale" : "1x"
  47 + },
  48 + {
  49 + "idiom" : "ipad",
  50 + "size" : "20x20",
  51 + "scale" : "2x"
  52 + },
  53 + {
  54 + "idiom" : "ipad",
35 55 "size" : "29x29",
36 56 "scale" : "1x"
37 57 },
... ...
CNLiveUserSystemDemo/CNLiveUserSystemSDK/CNLiveFeedback.m
... ... @@ -47,11 +47,16 @@ static NSString *feedbackURL = @&quot;https://api.cnlive.com/open/api2/user/userRepo
47 47  
48 48 responseObject = [responseObject validatedDictionary];
49 49 success(responseObject);
  50 +
  51 + if (![responseObject[@"errorCode"] isEqualToString:@"0"]) {
  52 + [CNLiveUserSystemTools errorStat:responseObject[@"errorMessage"]];
  53 + }
50 54  
51 55 } failure:^(NSURLResponse * _Nullable response, NSError * _Nullable error) {
52 56  
53 57 failure(error);
54   -
  58 + [CNLiveUserSystemTools errorStat:error.localizedDescription];
  59 +
55 60 }];
56 61 }
57 62  
... ...
CNLiveUserSystemDemo/CNLiveUserSystemSDK/CNLiveLogin.m
... ... @@ -110,20 +110,24 @@ static NSString *thirdLoginURL = @&quot;https://api.cnlive.com/open/api2/user/loginI
110 110 [[CNLiveNetworkManager manager] requestPostURL:URL parameters:param success:^(NSURLResponse * _Nullable response, id _Nullable responseObject) {
111 111  
112 112 responseObject = [responseObject validatedDictionary];
113   -
  113 + success(responseObject);
  114 +
114 115 if ([[responseObject allKeys] containsObject:@"errorCode"] && [responseObject[@"errorCode"] isEqualToString:@"0"]) {
115 116  
116 117 NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
117 118 [userDefaults setObject:responseObject[@"data"][@"token"] forKey:@"CNLiveAuthToken"];
  119 + [userDefaults setObject:responseObject[@"data"][@"uid"] forKey:@"CNLiveUserSid"];
118 120 [userDefaults synchronize];
119 121  
  122 + } else {
  123 + [CNLiveUserSystemTools errorStat:responseObject[@"errorMessage"]];
120 124 }
121   - success(responseObject);
122   -
  125 +
123 126 } failure:^(NSURLResponse * _Nullable response, NSError * _Nullable error) {
124 127  
125 128 failure(error);
126   -
  129 + [CNLiveUserSystemTools errorStat:error.localizedDescription];
  130 +
127 131 }];
128 132 }
129 133  
... ...
CNLiveUserSystemDemo/CNLiveUserSystemSDK/CNLiveRegister.m
... ... @@ -50,19 +50,25 @@ static NSString *registerURL = @&quot;https://api.cnlive.com/open/api2/user/register
50 50 [[CNLiveNetworkManager manager] requestPostURL:registerURL parameters:param success:^(NSURLResponse * _Nullable response, id _Nullable responseObject) {
51 51  
52 52 responseObject = [responseObject validatedDictionary];
  53 + success(responseObject);
  54 +
53 55 if ([[responseObject allKeys] containsObject:@"errorCode"] && [responseObject[@"errorCode"] isEqualToString:@"0"]) {
54 56  
55 57 NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
56 58 [userDefaults setObject:responseObject[@"data"][@"token"] forKey:@"CNLiveAuthToken"];
  59 + [userDefaults setObject:responseObject[@"data"][@"uid"] forKey:@"CNLiveUserSid"];
  60 +
57 61 [userDefaults synchronize];
58 62  
  63 + } else {
  64 + [CNLiveUserSystemTools errorStat:responseObject[@"errorMessage"]];
59 65 }
60   - success(responseObject);
61 66  
62 67 } failure:^(NSURLResponse * _Nullable response, NSError * _Nullable error) {
63 68  
64 69 failure(error);
65   -
  70 + [CNLiveUserSystemTools errorStat:error.localizedDescription];
  71 +
66 72 }];
67 73 }
68 74  
... ...
CNLiveUserSystemDemo/CNLiveUserSystemSDK/CNLiveUploadIcon.m
... ... @@ -68,8 +68,13 @@ static NSString *uploadIconURL = @&quot;https://api.cnlive.com/open/api2/user/update
68 68 responseObject = [responseObject validatedDictionary];
69 69 success(responseObject);
70 70  
  71 + if (![responseObject[@"errorCode"] isEqualToString:@"0"]) {
  72 + [CNLiveUserSystemTools errorStat:responseObject[@"errorMessage"]];
  73 + }
  74 +
71 75 } failure:^(NSURLResponse * _Nullable response, NSError * _Nullable error) {
72 76 failure(error);
  77 + [CNLiveUserSystemTools errorStat:error.localizedDescription];
73 78 }];
74 79 }
75 80  
... ...
CNLiveUserSystemDemo/CNLiveUserSystemSDK/CNLiveUserInfo.m
... ... @@ -169,11 +169,16 @@ static NSString *updatePwdURL = @&quot;https://api.cnlive.com/open/api2/user/updateP
169 169  
170 170 responseObject = [responseObject validatedDictionary];
171 171 success(responseObject);
  172 +
  173 + if (![responseObject[@"errorCode"] isEqualToString:@"0"]) {
  174 + [CNLiveUserSystemTools errorStat:responseObject[@"errorMessage"]];
  175 + }
172 176  
173 177 } failure:^(NSURLResponse * _Nullable response, NSError * _Nullable error) {
174 178  
175 179 failure(error);
176   -
  180 + [CNLiveUserSystemTools errorStat:error.localizedDescription];
  181 +
177 182 }];
178 183 }
179 184  
... ...
CNLiveUserSystemDemo/CNLiveUserSystemSDK/CNLiveUserManager.m
... ... @@ -8,11 +8,7 @@
8 8  
9 9 #import "CNLiveUserManager.h"
10 10 #import "CNLiveUserSystemTools.h"
11   -
12   -#define kSVer @"4.0"
13   -#define StatAppVersion [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]
14   -//#define StatBundleVersion [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]
15   -#define StatBundleVersion @"1.0"
  11 +#import "Common.h"
16 12  
17 13 @interface CNLiveUserManager ()
18 14 {
... ... @@ -49,7 +45,7 @@
49 45 NSString *stamp = [NSString stringWithFormat:@"%.3f", [date timeIntervalSince1970]];
50 46 stamp = [stamp stringByReplacingOccurrencesOfString:@"." withString:@""];
51 47  
52   - NSString *vvUrl = [NSString stringWithFormat:@"http://app.sta.cnlive.com/app.js?sver=%@&uid=%@&tm=%@&from=&spid=&appid=%@&version=1005_%@&eventid=1300&uri=&sid=&plat=i&objid=",kSVer,[CNLiveUserSystemTools uidForStat:date],stamp,self.appId,StatBundleVersion];
  48 + NSString *vvUrl = [NSString stringWithFormat:@"http://app.sta.cnlive.com/app.js?sver=%@&uid=%@&tm=%@&from=&spid=&appid=%@&version=1005_%@&eventid=1300&uri=&sid=&plat=i&objid=",kSVer,[CNLiveUserSystemTools uidForStat:date],stamp,self.appId,SDKVersion];
53 49  
54 50 [NSURLConnection connectionWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:vvUrl]] delegate:nil];
55 51 }
... ... @@ -63,7 +59,7 @@
63 59 NSString *endDate = [NSString stringWithFormat:@"%.3f",[date timeIntervalSinceDate:_startDate]];
64 60 endDate = [endDate stringByReplacingOccurrencesOfString:@"." withString:@""];
65 61  
66   - NSString *vvUrl = [NSString stringWithFormat:@"http://app.sta.cnlive.com/app.js?sver=%@&uid=%@&tm=%@&from=&spid=&appid=%@&version=1005_%@&eventid=1311&uri=%@&sid=&plat=i&objid=",kSVer,[CNLiveUserSystemTools uidForStat:date],stamp,self.appId,StatBundleVersion,endDate];
  62 + NSString *vvUrl = [NSString stringWithFormat:@"http://app.sta.cnlive.com/app.js?sver=%@&uid=%@&tm=%@&from=&spid=&appid=%@&version=1005_%@&eventid=1311&uri=%@&sid=&plat=i&objid=",kSVer,[CNLiveUserSystemTools uidForStat:date],stamp,self.appId,SDKVersion,endDate];
67 63  
68 64 [NSURLConnection connectionWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:vvUrl]] delegate:nil];
69 65 }
... ...
CNLiveUserSystemDemo/CNLiveUserSystemSDK/CNLiveUserSystemTools.h
... ... @@ -26,4 +26,6 @@
26 26 */
27 27 + (NSString *)verify:(NSString *)string;
28 28  
  29 ++ (void)errorStat:(NSString *)errorString;
  30 +
29 31 @end
... ...
CNLiveUserSystemDemo/CNLiveUserSystemSDK/CNLiveUserSystemTools.m
... ... @@ -9,6 +9,8 @@
9 9 #import "CNLiveUserSystemTools.h"
10 10 #import <UIKit/UIKit.h>
11 11 #import "CommonCrypto/CommonDigest.h"
  12 +#import "Common.h"
  13 +#import "CNLiveUserManager.h"
12 14  
13 15 @implementation CNLiveUserSystemTools
14 16  
... ... @@ -83,24 +85,40 @@
83 85 return string1;
84 86 }
85 87  
86   -
  88 +//null处理
87 89 + (NSString *)verify:(NSString *)string
88 90 {
89   - NSString *newString;
90   -
91   - if ([string isKindOfClass:[NSNumber class]]) {
92   - newString = [NSString stringWithFormat:@"%@",string];
93   - } else {
94   - newString = string;
95   - }
96   -
97   - if ([newString isKindOfClass:[NSString class]] || newString.length > 0) {
  91 + if ([string isKindOfClass:[NSString class]] || string.length > 0) {
98 92 return string;
99 93 } else {
100 94 return @"";
101 95 }
102 96 }
103 97  
  98 ++ (void)errorStat:(NSString *)errorString
  99 +{
  100 + errorString = [self urlEncodeUsingEncodingString:errorString];
  101 + NSDate *date = [NSDate date];
  102 + NSString *stamp = [NSString stringWithFormat:@"%.3f", [date timeIntervalSince1970]];
  103 + stamp = [stamp stringByReplacingOccurrencesOfString:@"." withString:@""];
  104 + NSString *vvUrl = [NSString stringWithFormat:@"http://app.sta.cnlive.com/app.js?sver=%@&uid=%@&tm=%@&from=&spid=&appid=%@&version=1005_%@&eventid=1000&uri=%@&sid=%@&plat=i&objid=_", kSVer, [self uidForStat:date], stamp, [CNLiveUserManager manager].appId, SDKVersion, errorString,[self getSid]];
  105 + [NSURLConnection connectionWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:vvUrl]] delegate:nil];
  106 +}
104 107  
  108 ++ (NSString *)urlEncodeUsingEncodingString:(NSString *)string {
  109 + return (__bridge_transfer NSString *)CFURLCreateStringByAddingPercentEscapes(NULL,
  110 + (__bridge CFStringRef)string,
  111 + NULL,
  112 + (CFStringRef)@"!*'\"();:@&=+$,/?%#[]% ",
  113 + CFStringConvertNSStringEncodingToEncoding(NSUTF8StringEncoding));
  114 +}
105 115  
  116 ++ (NSString *)getSid
  117 +{
  118 + NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
  119 + if ([userDefaults objectForKey:@"CNLiveUserSid"]) {
  120 + return [userDefaults objectForKey:@"CNLiveUserSid"];
  121 + }
  122 + return @"";
  123 +}
106 124 @end
... ...
CNLiveUserSystemDemo/CNLiveUserSystemSDK/CNLiveVerificationCode.m
... ... @@ -52,10 +52,15 @@ static NSString *passwordURL = @&quot;https://api.cnlive.com/open/api2/user/sendVeri
52 52 responseObject = [responseObject validatedDictionary];
53 53 success(responseObject);
54 54  
  55 + if (![responseObject[@"errorCode"] isEqualToString:@"0"]) {
  56 + [CNLiveUserSystemTools errorStat:responseObject[@"errorMessage"]];
  57 + }
  58 +
55 59 } failure:^(NSURLResponse * _Nullable response, NSError * _Nullable error) {
56 60  
57 61 failure(error);
58   -
  62 + [CNLiveUserSystemTools errorStat:error.localizedDescription];
  63 +
59 64 }];
60 65 }
61 66  
... ...
CNLiveUserSystemDemo/CNLiveUserSystemSDK/Common.h 0 → 100644
  1 +//
  2 +// Common.h
  3 +// CNLiveUserSystemDemo
  4 +//
  5 +// Created by iOS on 16/10/8.
  6 +// Copyright © 2016年 zhulin. All rights reserved.
  7 +//
  8 +
  9 +#ifndef Common_h
  10 +#define Common_h
  11 +
  12 +#define kSVer @"4.0" //探针版本
  13 +#define StatAppVersion ([[[NSBundle mainBundle] infoDictionary] objectForKey: @"CFBundleShortVersionString"])
  14 +#define SDKVersion @"1.0.0" //SDK版本
  15 +
  16 +#endif /* Common_h */
... ...
CNLiveUserSystemSDK.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 + 818734E61DA8F5B900046D84 /* CNLiveUserSystemSDK.h in Headers */ = {isa = PBXBuildFile; fileRef = 818734E41DA8F5B900046D84 /* CNLiveUserSystemSDK.h */; settings = {ATTRIBUTES = (Public, ); }; };
  11 + 818735071DA8F60100046D84 /* CNLiveNetworkManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 818734ED1DA8F60100046D84 /* CNLiveNetworkManager.h */; };
  12 + 818735081DA8F60100046D84 /* CNLiveNetworkManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 818734EE1DA8F60100046D84 /* CNLiveNetworkManager.m */; };
  13 + 818735091DA8F60100046D84 /* CNLiveURLRequestSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 818734EF1DA8F60100046D84 /* CNLiveURLRequestSerialization.h */; };
  14 + 8187350A1DA8F60100046D84 /* CNLiveURLRequestSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = 818734F01DA8F60100046D84 /* CNLiveURLRequestSerialization.m */; };
  15 + 8187350B1DA8F60100046D84 /* CNLiveFeedback.h in Headers */ = {isa = PBXBuildFile; fileRef = 818734F21DA8F60100046D84 /* CNLiveFeedback.h */; };
  16 + 8187350C1DA8F60100046D84 /* CNLiveFeedback.m in Sources */ = {isa = PBXBuildFile; fileRef = 818734F31DA8F60100046D84 /* CNLiveFeedback.m */; };
  17 + 8187350D1DA8F60100046D84 /* CNLiveLogin.h in Headers */ = {isa = PBXBuildFile; fileRef = 818734F41DA8F60100046D84 /* CNLiveLogin.h */; };
  18 + 8187350E1DA8F60100046D84 /* CNLiveLogin.m in Sources */ = {isa = PBXBuildFile; fileRef = 818734F51DA8F60100046D84 /* CNLiveLogin.m */; };
  19 + 8187350F1DA8F60100046D84 /* CNLiveRegister.h in Headers */ = {isa = PBXBuildFile; fileRef = 818734F61DA8F60100046D84 /* CNLiveRegister.h */; };
  20 + 818735101DA8F60100046D84 /* CNLiveRegister.m in Sources */ = {isa = PBXBuildFile; fileRef = 818734F71DA8F60100046D84 /* CNLiveRegister.m */; };
  21 + 818735111DA8F60100046D84 /* CNLiveUploadIcon.h in Headers */ = {isa = PBXBuildFile; fileRef = 818734F81DA8F60100046D84 /* CNLiveUploadIcon.h */; };
  22 + 818735121DA8F60100046D84 /* CNLiveUploadIcon.m in Sources */ = {isa = PBXBuildFile; fileRef = 818734F91DA8F60100046D84 /* CNLiveUploadIcon.m */; };
  23 + 818735131DA8F60100046D84 /* CNLiveUserInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 818734FA1DA8F60100046D84 /* CNLiveUserInfo.h */; };
  24 + 818735141DA8F60100046D84 /* CNLiveUserInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 818734FB1DA8F60100046D84 /* CNLiveUserInfo.m */; };
  25 + 818735151DA8F60100046D84 /* CNLiveUserManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 818734FC1DA8F60100046D84 /* CNLiveUserManager.h */; };
  26 + 818735161DA8F60100046D84 /* CNLiveUserManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 818734FD1DA8F60100046D84 /* CNLiveUserManager.m */; };
  27 + 818735171DA8F60100046D84 /* CNLiveUserSystemCenter.h in Headers */ = {isa = PBXBuildFile; fileRef = 818734FE1DA8F60100046D84 /* CNLiveUserSystemCenter.h */; };
  28 + 818735181DA8F60100046D84 /* CNLiveUserSystemCenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 818734FF1DA8F60100046D84 /* CNLiveUserSystemCenter.m */; };
  29 + 818735191DA8F60100046D84 /* CNLiveUserSystemTools.h in Headers */ = {isa = PBXBuildFile; fileRef = 818735001DA8F60100046D84 /* CNLiveUserSystemTools.h */; };
  30 + 8187351A1DA8F60100046D84 /* CNLiveUserSystemTools.m in Sources */ = {isa = PBXBuildFile; fileRef = 818735011DA8F60100046D84 /* CNLiveUserSystemTools.m */; };
  31 + 8187351B1DA8F60100046D84 /* CNLiveUserSystemTypeDef.h in Headers */ = {isa = PBXBuildFile; fileRef = 818735021DA8F60100046D84 /* CNLiveUserSystemTypeDef.h */; };
  32 + 8187351C1DA8F60100046D84 /* CNLiveVerificationCode.h in Headers */ = {isa = PBXBuildFile; fileRef = 818735031DA8F60100046D84 /* CNLiveVerificationCode.h */; };
  33 + 8187351D1DA8F60100046D84 /* CNLiveVerificationCode.m in Sources */ = {isa = PBXBuildFile; fileRef = 818735041DA8F60100046D84 /* CNLiveVerificationCode.m */; };
  34 + 8187351E1DA8F60100046D84 /* NSDictionary+Safety.h in Headers */ = {isa = PBXBuildFile; fileRef = 818735051DA8F60100046D84 /* NSDictionary+Safety.h */; };
  35 + 8187351F1DA8F60100046D84 /* NSDictionary+Safety.m in Sources */ = {isa = PBXBuildFile; fileRef = 818735061DA8F60100046D84 /* NSDictionary+Safety.m */; };
  36 +/* End PBXBuildFile section */
  37 +
  38 +/* Begin PBXFileReference section */
  39 + 818734E11DA8F5B900046D84 /* CNLiveUserSystemSDK.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CNLiveUserSystemSDK.framework; sourceTree = BUILT_PRODUCTS_DIR; };
  40 + 818734E41DA8F5B900046D84 /* CNLiveUserSystemSDK.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CNLiveUserSystemSDK.h; sourceTree = "<group>"; };
  41 + 818734E51DA8F5B900046D84 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
  42 + 818734ED1DA8F60100046D84 /* CNLiveNetworkManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNLiveNetworkManager.h; sourceTree = "<group>"; };
  43 + 818734EE1DA8F60100046D84 /* CNLiveNetworkManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNLiveNetworkManager.m; sourceTree = "<group>"; };
  44 + 818734EF1DA8F60100046D84 /* CNLiveURLRequestSerialization.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNLiveURLRequestSerialization.h; sourceTree = "<group>"; };
  45 + 818734F01DA8F60100046D84 /* CNLiveURLRequestSerialization.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNLiveURLRequestSerialization.m; sourceTree = "<group>"; };
  46 + 818734F21DA8F60100046D84 /* CNLiveFeedback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNLiveFeedback.h; sourceTree = "<group>"; };
  47 + 818734F31DA8F60100046D84 /* CNLiveFeedback.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNLiveFeedback.m; sourceTree = "<group>"; };
  48 + 818734F41DA8F60100046D84 /* CNLiveLogin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNLiveLogin.h; sourceTree = "<group>"; };
  49 + 818734F51DA8F60100046D84 /* CNLiveLogin.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNLiveLogin.m; sourceTree = "<group>"; };
  50 + 818734F61DA8F60100046D84 /* CNLiveRegister.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNLiveRegister.h; sourceTree = "<group>"; };
  51 + 818734F71DA8F60100046D84 /* CNLiveRegister.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNLiveRegister.m; sourceTree = "<group>"; };
  52 + 818734F81DA8F60100046D84 /* CNLiveUploadIcon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNLiveUploadIcon.h; sourceTree = "<group>"; };
  53 + 818734F91DA8F60100046D84 /* CNLiveUploadIcon.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNLiveUploadIcon.m; sourceTree = "<group>"; };
  54 + 818734FA1DA8F60100046D84 /* CNLiveUserInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNLiveUserInfo.h; sourceTree = "<group>"; };
  55 + 818734FB1DA8F60100046D84 /* CNLiveUserInfo.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNLiveUserInfo.m; sourceTree = "<group>"; };
  56 + 818734FC1DA8F60100046D84 /* CNLiveUserManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNLiveUserManager.h; sourceTree = "<group>"; };
  57 + 818734FD1DA8F60100046D84 /* CNLiveUserManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNLiveUserManager.m; sourceTree = "<group>"; };
  58 + 818734FE1DA8F60100046D84 /* CNLiveUserSystemCenter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNLiveUserSystemCenter.h; sourceTree = "<group>"; };
  59 + 818734FF1DA8F60100046D84 /* CNLiveUserSystemCenter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNLiveUserSystemCenter.m; sourceTree = "<group>"; };
  60 + 818735001DA8F60100046D84 /* CNLiveUserSystemTools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNLiveUserSystemTools.h; sourceTree = "<group>"; };
  61 + 818735011DA8F60100046D84 /* CNLiveUserSystemTools.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNLiveUserSystemTools.m; sourceTree = "<group>"; };
  62 + 818735021DA8F60100046D84 /* CNLiveUserSystemTypeDef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNLiveUserSystemTypeDef.h; sourceTree = "<group>"; };
  63 + 818735031DA8F60100046D84 /* CNLiveVerificationCode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNLiveVerificationCode.h; sourceTree = "<group>"; };
  64 + 818735041DA8F60100046D84 /* CNLiveVerificationCode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNLiveVerificationCode.m; sourceTree = "<group>"; };
  65 + 818735051DA8F60100046D84 /* NSDictionary+Safety.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDictionary+Safety.h"; sourceTree = "<group>"; };
  66 + 818735061DA8F60100046D84 /* NSDictionary+Safety.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDictionary+Safety.m"; sourceTree = "<group>"; };
  67 +/* End PBXFileReference section */
  68 +
  69 +/* Begin PBXFrameworksBuildPhase section */
  70 + 818734DD1DA8F5B900046D84 /* Frameworks */ = {
  71 + isa = PBXFrameworksBuildPhase;
  72 + buildActionMask = 2147483647;
  73 + files = (
  74 + );
  75 + runOnlyForDeploymentPostprocessing = 0;
  76 + };
  77 +/* End PBXFrameworksBuildPhase section */
  78 +
  79 +/* Begin PBXGroup section */
  80 + 818734D71DA8F5B900046D84 = {
  81 + isa = PBXGroup;
  82 + children = (
  83 + 818734EC1DA8F60100046D84 /* CNLiveNetworking */,
  84 + 818734F11DA8F60100046D84 /* CNLiveUserSystemSDK */,
  85 + 818734E31DA8F5B900046D84 /* CNLiveUserSystemSDK */,
  86 + 818734E21DA8F5B900046D84 /* Products */,
  87 + );
  88 + sourceTree = "<group>";
  89 + };
  90 + 818734E21DA8F5B900046D84 /* Products */ = {
  91 + isa = PBXGroup;
  92 + children = (
  93 + 818734E11DA8F5B900046D84 /* CNLiveUserSystemSDK.framework */,
  94 + );
  95 + name = Products;
  96 + sourceTree = "<group>";
  97 + };
  98 + 818734E31DA8F5B900046D84 /* CNLiveUserSystemSDK */ = {
  99 + isa = PBXGroup;
  100 + children = (
  101 + 818734E41DA8F5B900046D84 /* CNLiveUserSystemSDK.h */,
  102 + 818734E51DA8F5B900046D84 /* Info.plist */,
  103 + );
  104 + path = CNLiveUserSystemSDK;
  105 + sourceTree = "<group>";
  106 + };
  107 + 818734EC1DA8F60100046D84 /* CNLiveNetworking */ = {
  108 + isa = PBXGroup;
  109 + children = (
  110 + 818734ED1DA8F60100046D84 /* CNLiveNetworkManager.h */,
  111 + 818734EE1DA8F60100046D84 /* CNLiveNetworkManager.m */,
  112 + 818734EF1DA8F60100046D84 /* CNLiveURLRequestSerialization.h */,
  113 + 818734F01DA8F60100046D84 /* CNLiveURLRequestSerialization.m */,
  114 + );
  115 + name = CNLiveNetworking;
  116 + path = CNLiveUserSystemDemo/CNLiveNetworking;
  117 + sourceTree = "<group>";
  118 + };
  119 + 818734F11DA8F60100046D84 /* CNLiveUserSystemSDK */ = {
  120 + isa = PBXGroup;
  121 + children = (
  122 + 818734F21DA8F60100046D84 /* CNLiveFeedback.h */,
  123 + 818734F31DA8F60100046D84 /* CNLiveFeedback.m */,
  124 + 818734F41DA8F60100046D84 /* CNLiveLogin.h */,
  125 + 818734F51DA8F60100046D84 /* CNLiveLogin.m */,
  126 + 818734F61DA8F60100046D84 /* CNLiveRegister.h */,
  127 + 818734F71DA8F60100046D84 /* CNLiveRegister.m */,
  128 + 818734F81DA8F60100046D84 /* CNLiveUploadIcon.h */,
  129 + 818734F91DA8F60100046D84 /* CNLiveUploadIcon.m */,
  130 + 818734FA1DA8F60100046D84 /* CNLiveUserInfo.h */,
  131 + 818734FB1DA8F60100046D84 /* CNLiveUserInfo.m */,
  132 + 818734FC1DA8F60100046D84 /* CNLiveUserManager.h */,
  133 + 818734FD1DA8F60100046D84 /* CNLiveUserManager.m */,
  134 + 818734FE1DA8F60100046D84 /* CNLiveUserSystemCenter.h */,
  135 + 818734FF1DA8F60100046D84 /* CNLiveUserSystemCenter.m */,
  136 + 818735001DA8F60100046D84 /* CNLiveUserSystemTools.h */,
  137 + 818735011DA8F60100046D84 /* CNLiveUserSystemTools.m */,
  138 + 818735021DA8F60100046D84 /* CNLiveUserSystemTypeDef.h */,
  139 + 818735031DA8F60100046D84 /* CNLiveVerificationCode.h */,
  140 + 818735041DA8F60100046D84 /* CNLiveVerificationCode.m */,
  141 + 818735051DA8F60100046D84 /* NSDictionary+Safety.h */,
  142 + 818735061DA8F60100046D84 /* NSDictionary+Safety.m */,
  143 + );
  144 + name = CNLiveUserSystemSDK;
  145 + path = CNLiveUserSystemDemo/CNLiveUserSystemSDK;
  146 + sourceTree = "<group>";
  147 + };
  148 +/* End PBXGroup section */
  149 +
  150 +/* Begin PBXHeadersBuildPhase section */
  151 + 818734DE1DA8F5B900046D84 /* Headers */ = {
  152 + isa = PBXHeadersBuildPhase;
  153 + buildActionMask = 2147483647;
  154 + files = (
  155 + 8187351C1DA8F60100046D84 /* CNLiveVerificationCode.h in Headers */,
  156 + 8187350F1DA8F60100046D84 /* CNLiveRegister.h in Headers */,
  157 + 8187351B1DA8F60100046D84 /* CNLiveUserSystemTypeDef.h in Headers */,
  158 + 8187350D1DA8F60100046D84 /* CNLiveLogin.h in Headers */,
  159 + 818735151DA8F60100046D84 /* CNLiveUserManager.h in Headers */,
  160 + 818735131DA8F60100046D84 /* CNLiveUserInfo.h in Headers */,
  161 + 818735171DA8F60100046D84 /* CNLiveUserSystemCenter.h in Headers */,
  162 + 818735191DA8F60100046D84 /* CNLiveUserSystemTools.h in Headers */,
  163 + 8187350B1DA8F60100046D84 /* CNLiveFeedback.h in Headers */,
  164 + 8187351E1DA8F60100046D84 /* NSDictionary+Safety.h in Headers */,
  165 + 818735091DA8F60100046D84 /* CNLiveURLRequestSerialization.h in Headers */,
  166 + 818735071DA8F60100046D84 /* CNLiveNetworkManager.h in Headers */,
  167 + 818735111DA8F60100046D84 /* CNLiveUploadIcon.h in Headers */,
  168 + 818734E61DA8F5B900046D84 /* CNLiveUserSystemSDK.h in Headers */,
  169 + );
  170 + runOnlyForDeploymentPostprocessing = 0;
  171 + };
  172 +/* End PBXHeadersBuildPhase section */
  173 +
  174 +/* Begin PBXNativeTarget section */
  175 + 818734E01DA8F5B900046D84 /* CNLiveUserSystemSDK */ = {
  176 + isa = PBXNativeTarget;
  177 + buildConfigurationList = 818734E91DA8F5B900046D84 /* Build configuration list for PBXNativeTarget "CNLiveUserSystemSDK" */;
  178 + buildPhases = (
  179 + 818734DC1DA8F5B900046D84 /* Sources */,
  180 + 818734DD1DA8F5B900046D84 /* Frameworks */,
  181 + 818734DE1DA8F5B900046D84 /* Headers */,
  182 + 818734DF1DA8F5B900046D84 /* Resources */,
  183 + );
  184 + buildRules = (
  185 + );
  186 + dependencies = (
  187 + );
  188 + name = CNLiveUserSystemSDK;
  189 + productName = CNLiveUserSystemSDK;
  190 + productReference = 818734E11DA8F5B900046D84 /* CNLiveUserSystemSDK.framework */;
  191 + productType = "com.apple.product-type.framework";
  192 + };
  193 +/* End PBXNativeTarget section */
  194 +
  195 +/* Begin PBXProject section */
  196 + 818734D81DA8F5B900046D84 /* Project object */ = {
  197 + isa = PBXProject;
  198 + attributes = {
  199 + LastUpgradeCheck = 0800;
  200 + ORGANIZATIONNAME = zhulin;
  201 + TargetAttributes = {
  202 + 818734E01DA8F5B900046D84 = {
  203 + CreatedOnToolsVersion = 8.0;
  204 + ProvisioningStyle = Automatic;
  205 + };
  206 + };
  207 + };
  208 + buildConfigurationList = 818734DB1DA8F5B900046D84 /* Build configuration list for PBXProject "CNLiveUserSystemSDK" */;
  209 + compatibilityVersion = "Xcode 3.2";
  210 + developmentRegion = English;
  211 + hasScannedForEncodings = 0;
  212 + knownRegions = (
  213 + en,
  214 + );
  215 + mainGroup = 818734D71DA8F5B900046D84;
  216 + productRefGroup = 818734E21DA8F5B900046D84 /* Products */;
  217 + projectDirPath = "";
  218 + projectRoot = "";
  219 + targets = (
  220 + 818734E01DA8F5B900046D84 /* CNLiveUserSystemSDK */,
  221 + );
  222 + };
  223 +/* End PBXProject section */
  224 +
  225 +/* Begin PBXResourcesBuildPhase section */
  226 + 818734DF1DA8F5B900046D84 /* Resources */ = {
  227 + isa = PBXResourcesBuildPhase;
  228 + buildActionMask = 2147483647;
  229 + files = (
  230 + );
  231 + runOnlyForDeploymentPostprocessing = 0;
  232 + };
  233 +/* End PBXResourcesBuildPhase section */
  234 +
  235 +/* Begin PBXSourcesBuildPhase section */
  236 + 818734DC1DA8F5B900046D84 /* Sources */ = {
  237 + isa = PBXSourcesBuildPhase;
  238 + buildActionMask = 2147483647;
  239 + files = (
  240 + 8187351A1DA8F60100046D84 /* CNLiveUserSystemTools.m in Sources */,
  241 + 818735181DA8F60100046D84 /* CNLiveUserSystemCenter.m in Sources */,
  242 + 818735081DA8F60100046D84 /* CNLiveNetworkManager.m in Sources */,
  243 + 818735161DA8F60100046D84 /* CNLiveUserManager.m in Sources */,
  244 + 8187351D1DA8F60100046D84 /* CNLiveVerificationCode.m in Sources */,
  245 + 818735101DA8F60100046D84 /* CNLiveRegister.m in Sources */,
  246 + 8187351F1DA8F60100046D84 /* NSDictionary+Safety.m in Sources */,
  247 + 8187350A1DA8F60100046D84 /* CNLiveURLRequestSerialization.m in Sources */,
  248 + 8187350E1DA8F60100046D84 /* CNLiveLogin.m in Sources */,
  249 + 818735121DA8F60100046D84 /* CNLiveUploadIcon.m in Sources */,
  250 + 8187350C1DA8F60100046D84 /* CNLiveFeedback.m in Sources */,
  251 + 818735141DA8F60100046D84 /* CNLiveUserInfo.m in Sources */,
  252 + );
  253 + runOnlyForDeploymentPostprocessing = 0;
  254 + };
  255 +/* End PBXSourcesBuildPhase section */
  256 +
  257 +/* Begin XCBuildConfiguration section */
  258 + 818734E71DA8F5B900046D84 /* Debug */ = {
  259 + isa = XCBuildConfiguration;
  260 + buildSettings = {
  261 + ALWAYS_SEARCH_USER_PATHS = NO;
  262 + CLANG_ANALYZER_NONNULL = YES;
  263 + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
  264 + CLANG_CXX_LIBRARY = "libc++";
  265 + CLANG_ENABLE_MODULES = YES;
  266 + CLANG_ENABLE_OBJC_ARC = YES;
  267 + CLANG_WARN_BOOL_CONVERSION = YES;
  268 + CLANG_WARN_CONSTANT_CONVERSION = YES;
  269 + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
  270 + CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
  271 + CLANG_WARN_EMPTY_BODY = YES;
  272 + CLANG_WARN_ENUM_CONVERSION = YES;
  273 + CLANG_WARN_INFINITE_RECURSION = YES;
  274 + CLANG_WARN_INT_CONVERSION = YES;
  275 + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
  276 + CLANG_WARN_SUSPICIOUS_MOVES = YES;
  277 + CLANG_WARN_UNREACHABLE_CODE = YES;
  278 + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
  279 + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
  280 + COPY_PHASE_STRIP = NO;
  281 + CURRENT_PROJECT_VERSION = 1;
  282 + DEBUG_INFORMATION_FORMAT = dwarf;
  283 + ENABLE_STRICT_OBJC_MSGSEND = YES;
  284 + ENABLE_TESTABILITY = YES;
  285 + GCC_C_LANGUAGE_STANDARD = gnu99;
  286 + GCC_DYNAMIC_NO_PIC = NO;
  287 + GCC_NO_COMMON_BLOCKS = YES;
  288 + GCC_OPTIMIZATION_LEVEL = 0;
  289 + GCC_PREPROCESSOR_DEFINITIONS = (
  290 + "DEBUG=1",
  291 + "$(inherited)",
  292 + );
  293 + GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
  294 + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
  295 + GCC_WARN_UNDECLARED_SELECTOR = YES;
  296 + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
  297 + GCC_WARN_UNUSED_FUNCTION = YES;
  298 + GCC_WARN_UNUSED_VARIABLE = YES;
  299 + IPHONEOS_DEPLOYMENT_TARGET = 10.0;
  300 + MTL_ENABLE_DEBUG_INFO = YES;
  301 + ONLY_ACTIVE_ARCH = YES;
  302 + SDKROOT = iphoneos;
  303 + TARGETED_DEVICE_FAMILY = "1,2";
  304 + VERSIONING_SYSTEM = "apple-generic";
  305 + VERSION_INFO_PREFIX = "";
  306 + };
  307 + name = Debug;
  308 + };
  309 + 818734E81DA8F5B900046D84 /* Release */ = {
  310 + isa = XCBuildConfiguration;
  311 + buildSettings = {
  312 + ALWAYS_SEARCH_USER_PATHS = NO;
  313 + CLANG_ANALYZER_NONNULL = YES;
  314 + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
  315 + CLANG_CXX_LIBRARY = "libc++";
  316 + CLANG_ENABLE_MODULES = YES;
  317 + CLANG_ENABLE_OBJC_ARC = YES;
  318 + CLANG_WARN_BOOL_CONVERSION = YES;
  319 + CLANG_WARN_CONSTANT_CONVERSION = YES;
  320 + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
  321 + CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
  322 + CLANG_WARN_EMPTY_BODY = YES;
  323 + CLANG_WARN_ENUM_CONVERSION = YES;
  324 + CLANG_WARN_INFINITE_RECURSION = YES;
  325 + CLANG_WARN_INT_CONVERSION = YES;
  326 + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
  327 + CLANG_WARN_SUSPICIOUS_MOVES = YES;
  328 + CLANG_WARN_UNREACHABLE_CODE = YES;
  329 + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
  330 + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
  331 + COPY_PHASE_STRIP = NO;
  332 + CURRENT_PROJECT_VERSION = 1;
  333 + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
  334 + ENABLE_NS_ASSERTIONS = NO;
  335 + ENABLE_STRICT_OBJC_MSGSEND = YES;
  336 + GCC_C_LANGUAGE_STANDARD = gnu99;
  337 + GCC_NO_COMMON_BLOCKS = YES;
  338 + GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
  339 + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
  340 + GCC_WARN_UNDECLARED_SELECTOR = YES;
  341 + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
  342 + GCC_WARN_UNUSED_FUNCTION = YES;
  343 + GCC_WARN_UNUSED_VARIABLE = YES;
  344 + IPHONEOS_DEPLOYMENT_TARGET = 10.0;
  345 + MTL_ENABLE_DEBUG_INFO = NO;
  346 + SDKROOT = iphoneos;
  347 + TARGETED_DEVICE_FAMILY = "1,2";
  348 + VALIDATE_PRODUCT = YES;
  349 + VERSIONING_SYSTEM = "apple-generic";
  350 + VERSION_INFO_PREFIX = "";
  351 + };
  352 + name = Release;
  353 + };
  354 + 818734EA1DA8F5B900046D84 /* Debug */ = {
  355 + isa = XCBuildConfiguration;
  356 + buildSettings = {
  357 + CODE_SIGN_IDENTITY = "";
  358 + DEFINES_MODULE = YES;
  359 + DYLIB_COMPATIBILITY_VERSION = 1;
  360 + DYLIB_CURRENT_VERSION = 1;
  361 + DYLIB_INSTALL_NAME_BASE = "@rpath";
  362 + INFOPLIST_FILE = CNLiveUserSystemSDK/Info.plist;
  363 + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
  364 + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
  365 + PRODUCT_BUNDLE_IDENTIFIER = com.cnlive.CNLiveUserSystemSDK;
  366 + PRODUCT_NAME = "$(TARGET_NAME)";
  367 + SKIP_INSTALL = YES;
  368 + };
  369 + name = Debug;
  370 + };
  371 + 818734EB1DA8F5B900046D84 /* Release */ = {
  372 + isa = XCBuildConfiguration;
  373 + buildSettings = {
  374 + CODE_SIGN_IDENTITY = "";
  375 + DEFINES_MODULE = YES;
  376 + DYLIB_COMPATIBILITY_VERSION = 1;
  377 + DYLIB_CURRENT_VERSION = 1;
  378 + DYLIB_INSTALL_NAME_BASE = "@rpath";
  379 + INFOPLIST_FILE = CNLiveUserSystemSDK/Info.plist;
  380 + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
  381 + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
  382 + PRODUCT_BUNDLE_IDENTIFIER = com.cnlive.CNLiveUserSystemSDK;
  383 + PRODUCT_NAME = "$(TARGET_NAME)";
  384 + SKIP_INSTALL = YES;
  385 + };
  386 + name = Release;
  387 + };
  388 +/* End XCBuildConfiguration section */
  389 +
  390 +/* Begin XCConfigurationList section */
  391 + 818734DB1DA8F5B900046D84 /* Build configuration list for PBXProject "CNLiveUserSystemSDK" */ = {
  392 + isa = XCConfigurationList;
  393 + buildConfigurations = (
  394 + 818734E71DA8F5B900046D84 /* Debug */,
  395 + 818734E81DA8F5B900046D84 /* Release */,
  396 + );
  397 + defaultConfigurationIsVisible = 0;
  398 + defaultConfigurationName = Release;
  399 + };
  400 + 818734E91DA8F5B900046D84 /* Build configuration list for PBXNativeTarget "CNLiveUserSystemSDK" */ = {
  401 + isa = XCConfigurationList;
  402 + buildConfigurations = (
  403 + 818734EA1DA8F5B900046D84 /* Debug */,
  404 + 818734EB1DA8F5B900046D84 /* Release */,
  405 + );
  406 + defaultConfigurationIsVisible = 0;
  407 + defaultConfigurationName = Release;
  408 + };
  409 +/* End XCConfigurationList section */
  410 + };
  411 + rootObject = 818734D81DA8F5B900046D84 /* Project object */;
  412 +}
... ...
CNLiveUserSystemSDK.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:CNLiveUserSystemSDK.xcodeproj">
  6 + </FileRef>
  7 +</Workspace>
... ...
CNLiveUserSystemSDK.xcodeproj/project.xcworkspace/xcuserdata/iOS.xcuserdatad/UserInterfaceState.xcuserstate 0 → 100644
No preview for this file type
CNLiveUserSystemSDK.xcodeproj/xcuserdata/iOS.xcuserdatad/xcschemes/CNLiveUserSystemSDK.xcscheme 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<Scheme
  3 + LastUpgradeVersion = "0800"
  4 + version = "1.3">
  5 + <BuildAction
  6 + parallelizeBuildables = "YES"
  7 + buildImplicitDependencies = "YES">
  8 + <BuildActionEntries>
  9 + <BuildActionEntry
  10 + buildForTesting = "YES"
  11 + buildForRunning = "YES"
  12 + buildForProfiling = "YES"
  13 + buildForArchiving = "YES"
  14 + buildForAnalyzing = "YES">
  15 + <BuildableReference
  16 + BuildableIdentifier = "primary"
  17 + BlueprintIdentifier = "818734E01DA8F5B900046D84"
  18 + BuildableName = "CNLiveUserSystemSDK.framework"
  19 + BlueprintName = "CNLiveUserSystemSDK"
  20 + ReferencedContainer = "container:CNLiveUserSystemSDK.xcodeproj">
  21 + </BuildableReference>
  22 + </BuildActionEntry>
  23 + </BuildActionEntries>
  24 + </BuildAction>
  25 + <TestAction
  26 + buildConfiguration = "Debug"
  27 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  28 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  29 + shouldUseLaunchSchemeArgsEnv = "YES">
  30 + <Testables>
  31 + </Testables>
  32 + <AdditionalOptions>
  33 + </AdditionalOptions>
  34 + </TestAction>
  35 + <LaunchAction
  36 + buildConfiguration = "Debug"
  37 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
  38 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
  39 + launchStyle = "0"
  40 + useCustomWorkingDirectory = "NO"
  41 + ignoresPersistentStateOnLaunch = "NO"
  42 + debugDocumentVersioning = "YES"
  43 + debugServiceExtension = "internal"
  44 + allowLocationSimulation = "YES">
  45 + <MacroExpansion>
  46 + <BuildableReference
  47 + BuildableIdentifier = "primary"
  48 + BlueprintIdentifier = "818734E01DA8F5B900046D84"
  49 + BuildableName = "CNLiveUserSystemSDK.framework"
  50 + BlueprintName = "CNLiveUserSystemSDK"
  51 + ReferencedContainer = "container:CNLiveUserSystemSDK.xcodeproj">
  52 + </BuildableReference>
  53 + </MacroExpansion>
  54 + <AdditionalOptions>
  55 + </AdditionalOptions>
  56 + </LaunchAction>
  57 + <ProfileAction
  58 + buildConfiguration = "Release"
  59 + shouldUseLaunchSchemeArgsEnv = "YES"
  60 + savedToolIdentifier = ""
  61 + useCustomWorkingDirectory = "NO"
  62 + debugDocumentVersioning = "YES">
  63 + <MacroExpansion>
  64 + <BuildableReference
  65 + BuildableIdentifier = "primary"
  66 + BlueprintIdentifier = "818734E01DA8F5B900046D84"
  67 + BuildableName = "CNLiveUserSystemSDK.framework"
  68 + BlueprintName = "CNLiveUserSystemSDK"
  69 + ReferencedContainer = "container:CNLiveUserSystemSDK.xcodeproj">
  70 + </BuildableReference>
  71 + </MacroExpansion>
  72 + </ProfileAction>
  73 + <AnalyzeAction
  74 + buildConfiguration = "Debug">
  75 + </AnalyzeAction>
  76 + <ArchiveAction
  77 + buildConfiguration = "Release"
  78 + revealArchiveInOrganizer = "YES">
  79 + </ArchiveAction>
  80 +</Scheme>
... ...
CNLiveUserSystemSDK.xcodeproj/xcuserdata/iOS.xcuserdatad/xcschemes/xcschememanagement.plist 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3 +<plist version="1.0">
  4 +<dict>
  5 + <key>SchemeUserState</key>
  6 + <dict>
  7 + <key>CNLiveUserSystemSDK.xcscheme</key>
  8 + <dict>
  9 + <key>orderHint</key>
  10 + <integer>0</integer>
  11 + </dict>
  12 + </dict>
  13 + <key>SuppressBuildableAutocreation</key>
  14 + <dict>
  15 + <key>818734E01DA8F5B900046D84</key>
  16 + <dict>
  17 + <key>primary</key>
  18 + <true/>
  19 + </dict>
  20 + </dict>
  21 +</dict>
  22 +</plist>
... ...
CNLiveUserSystemSDK/CNLiveUserSystemSDK.h 0 → 100644
  1 +//
  2 +// CNLiveUserSystemSDK.h
  3 +// CNLiveUserSystemSDK
  4 +//
  5 +// Created by iOS on 16/10/8.
  6 +// Copyright © 2016年 zhulin. All rights reserved.
  7 +//
  8 +
  9 +#import <UIKit/UIKit.h>
  10 +
  11 +//! Project version number for CNLiveUserSystemSDK.
  12 +FOUNDATION_EXPORT double CNLiveUserSystemSDKVersionNumber;
  13 +
  14 +//! Project version string for CNLiveUserSystemSDK.
  15 +FOUNDATION_EXPORT const unsigned char CNLiveUserSystemSDKVersionString[];
  16 +
  17 +// In this header, you should import all the public headers of your framework using statements like #import <CNLiveUserSystemSDK/PublicHeader.h>
  18 +
  19 +
... ...
CNLiveUserSystemSDK/Info.plist 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3 +<plist version="1.0">
  4 +<dict>
  5 + <key>CFBundleDevelopmentRegion</key>
  6 + <string>en</string>
  7 + <key>CFBundleExecutable</key>
  8 + <string>$(EXECUTABLE_NAME)</string>
  9 + <key>CFBundleIdentifier</key>
  10 + <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
  11 + <key>CFBundleInfoDictionaryVersion</key>
  12 + <string>6.0</string>
  13 + <key>CFBundleName</key>
  14 + <string>$(PRODUCT_NAME)</string>
  15 + <key>CFBundlePackageType</key>
  16 + <string>FMWK</string>
  17 + <key>CFBundleShortVersionString</key>
  18 + <string>1.0</string>
  19 + <key>CFBundleVersion</key>
  20 + <string>$(CURRENT_PROJECT_VERSION)</string>
  21 + <key>NSPrincipalClass</key>
  22 + <string></string>
  23 +</dict>
  24 +</plist>
... ...