Commit 718383825b509be2d192f8c656b25f6120d1cf97
1 parent
e07cedc3
添加异常探针
Showing
21 changed files
with
690 additions
and
30 deletions
CNLiveUserSystemDemo.xcodeproj/project.pbxproj
| @@ -191,8 +191,8 @@ | @@ -191,8 +191,8 @@ | ||
| 191 | 812540FC1D87DFFB00F32D66 /* CNLiveUserInfo.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNLiveUserInfo.m; sourceTree = "<group>"; }; | 191 | 812540FC1D87DFFB00F32D66 /* CNLiveUserInfo.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNLiveUserInfo.m; sourceTree = "<group>"; }; |
| 192 | 812642C11D86A7A800B402CA /* CNLiveUserSystemDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CNLiveUserSystemDemo.app; sourceTree = BUILT_PRODUCTS_DIR; }; | 192 | 812642C11D86A7A800B402CA /* CNLiveUserSystemDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CNLiveUserSystemDemo.app; sourceTree = BUILT_PRODUCTS_DIR; }; |
| 193 | 812642C51D86A7A800B402CA /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; }; | 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 | 812642CE1D86A7A800B402CA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; }; | 196 | 812642CE1D86A7A800B402CA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; }; |
| 197 | 812642D01D86A7A800B402CA /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; | 197 | 812642D01D86A7A800B402CA /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; |
| 198 | 812642D31D86A7A800B402CA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; }; | 198 | 812642D31D86A7A800B402CA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; }; |
| @@ -207,6 +207,7 @@ | @@ -207,6 +207,7 @@ | ||
| 207 | 812642F91D86A83100B402CA /* CNLiveUserSystemCenter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNLiveUserSystemCenter.m; sourceTree = "<group>"; }; | 207 | 812642F91D86A83100B402CA /* CNLiveUserSystemCenter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CNLiveUserSystemCenter.m; sourceTree = "<group>"; }; |
| 208 | 812642FB1D86AFE600B402CA /* CNLiveUserSystemTypeDef.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CNLiveUserSystemTypeDef.h; sourceTree = "<group>"; }; | 208 | 812642FB1D86AFE600B402CA /* CNLiveUserSystemTypeDef.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CNLiveUserSystemTypeDef.h; sourceTree = "<group>"; }; |
| 209 | 817C6EC21D90D60E0016F211 /* ImageIO.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ImageIO.framework; path = System/Library/Frameworks/ImageIO.framework; sourceTree = SDKROOT; }; | 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 | 8187A8ED1D8E6394007FAFB6 /* Tools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Tools.h; sourceTree = "<group>"; }; | 211 | 8187A8ED1D8E6394007FAFB6 /* Tools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Tools.h; sourceTree = "<group>"; }; |
| 211 | 8187A8EE1D8E6394007FAFB6 /* Tools.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Tools.m; sourceTree = "<group>"; }; | 212 | 8187A8EE1D8E6394007FAFB6 /* Tools.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Tools.m; sourceTree = "<group>"; }; |
| 212 | 8187A8F01D8E6486007FAFB6 /* NSObject+UserModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSObject+UserModel.h"; sourceTree = "<group>"; }; | 213 | 8187A8F01D8E6486007FAFB6 /* NSObject+UserModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSObject+UserModel.h"; sourceTree = "<group>"; }; |
| @@ -421,8 +422,6 @@ | @@ -421,8 +422,6 @@ | ||
| 421 | 812642B81D86A7A800B402CA = { | 422 | 812642B81D86A7A800B402CA = { |
| 422 | isa = PBXGroup; | 423 | isa = PBXGroup; |
| 423 | children = ( | 424 | children = ( |
| 424 | - 812642C71D86A7A800B402CA /* AppDelegate.h */, | ||
| 425 | - 812642C81D86A7A800B402CA /* AppDelegate.m */, | ||
| 426 | 810D9B7D1D8FCBC200B7A776 /* frameworks */, | 425 | 810D9B7D1D8FCBC200B7A776 /* frameworks */, |
| 427 | 812642C31D86A7A800B402CA /* CNLiveUserSystemDemo */, | 426 | 812642C31D86A7A800B402CA /* CNLiveUserSystemDemo */, |
| 428 | 812642DD1D86A7A800B402CA /* CNLiveUserSystemDemoTests */, | 427 | 812642DD1D86A7A800B402CA /* CNLiveUserSystemDemoTests */, |
| @@ -444,6 +443,8 @@ | @@ -444,6 +443,8 @@ | ||
| 444 | 812642C31D86A7A800B402CA /* CNLiveUserSystemDemo */ = { | 443 | 812642C31D86A7A800B402CA /* CNLiveUserSystemDemo */ = { |
| 445 | isa = PBXGroup; | 444 | isa = PBXGroup; |
| 446 | children = ( | 445 | children = ( |
| 446 | + 812642C71D86A7A800B402CA /* AppDelegate.h */, | ||
| 447 | + 812642C81D86A7A800B402CA /* AppDelegate.m */, | ||
| 447 | 81D077381D911D50000A5E00 /* CNLiveNetworking */, | 448 | 81D077381D911D50000A5E00 /* CNLiveNetworking */, |
| 448 | 8187A8FF1D8E9A7B007FAFB6 /* ThirdSDK */, | 449 | 8187A8FF1D8E9A7B007FAFB6 /* ThirdSDK */, |
| 449 | 8187A8EC1D8E6385007FAFB6 /* Tools */, | 450 | 8187A8EC1D8E6385007FAFB6 /* Tools */, |
| @@ -510,6 +511,7 @@ | @@ -510,6 +511,7 @@ | ||
| 510 | 811600FF1D92929A003CAE7D /* NSDictionary+Safety.h */, | 511 | 811600FF1D92929A003CAE7D /* NSDictionary+Safety.h */, |
| 511 | 811601001D92929A003CAE7D /* NSDictionary+Safety.m */, | 512 | 811601001D92929A003CAE7D /* NSDictionary+Safety.m */, |
| 512 | 812642FB1D86AFE600B402CA /* CNLiveUserSystemTypeDef.h */, | 513 | 812642FB1D86AFE600B402CA /* CNLiveUserSystemTypeDef.h */, |
| 514 | + 818735211DA8FD2700046D84 /* Common.h */, | ||
| 513 | ); | 515 | ); |
| 514 | path = CNLiveUserSystemSDK; | 516 | path = CNLiveUserSystemSDK; |
| 515 | sourceTree = "<group>"; | 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,4 +2,16 @@ | ||
| 2 | <Bucket | 2 | <Bucket |
| 3 | type = "1" | 3 | type = "1" |
| 4 | version = "2.0"> | 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 | </Bucket> | 17 | </Bucket> |
CNLiveUserSystemDemo/Assets.xcassets/AppIcon.appiconset/Contents.json
| @@ -2,6 +2,16 @@ | @@ -2,6 +2,16 @@ | ||
| 2 | "images" : [ | 2 | "images" : [ |
| 3 | { | 3 | { |
| 4 | "idiom" : "iphone", | 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 | "size" : "29x29", | 15 | "size" : "29x29", |
| 6 | "scale" : "2x" | 16 | "scale" : "2x" |
| 7 | }, | 17 | }, |
| @@ -32,6 +42,16 @@ | @@ -32,6 +42,16 @@ | ||
| 32 | }, | 42 | }, |
| 33 | { | 43 | { |
| 34 | "idiom" : "ipad", | 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 | "size" : "29x29", | 55 | "size" : "29x29", |
| 36 | "scale" : "1x" | 56 | "scale" : "1x" |
| 37 | }, | 57 | }, |
CNLiveUserSystemDemo/CNLiveUserSystemSDK/CNLiveFeedback.m
| @@ -47,11 +47,16 @@ static NSString *feedbackURL = @"https://api.cnlive.com/open/api2/user/userRepo | @@ -47,11 +47,16 @@ static NSString *feedbackURL = @"https://api.cnlive.com/open/api2/user/userRepo | ||
| 47 | 47 | ||
| 48 | responseObject = [responseObject validatedDictionary]; | 48 | responseObject = [responseObject validatedDictionary]; |
| 49 | success(responseObject); | 49 | success(responseObject); |
| 50 | + | ||
| 51 | + if (![responseObject[@"errorCode"] isEqualToString:@"0"]) { | ||
| 52 | + [CNLiveUserSystemTools errorStat:responseObject[@"errorMessage"]]; | ||
| 53 | + } | ||
| 50 | 54 | ||
| 51 | } failure:^(NSURLResponse * _Nullable response, NSError * _Nullable error) { | 55 | } failure:^(NSURLResponse * _Nullable response, NSError * _Nullable error) { |
| 52 | 56 | ||
| 53 | failure(error); | 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 = @"https://api.cnlive.com/open/api2/user/loginI | @@ -110,20 +110,24 @@ static NSString *thirdLoginURL = @"https://api.cnlive.com/open/api2/user/loginI | ||
| 110 | [[CNLiveNetworkManager manager] requestPostURL:URL parameters:param success:^(NSURLResponse * _Nullable response, id _Nullable responseObject) { | 110 | [[CNLiveNetworkManager manager] requestPostURL:URL parameters:param success:^(NSURLResponse * _Nullable response, id _Nullable responseObject) { |
| 111 | 111 | ||
| 112 | responseObject = [responseObject validatedDictionary]; | 112 | responseObject = [responseObject validatedDictionary]; |
| 113 | - | 113 | + success(responseObject); |
| 114 | + | ||
| 114 | if ([[responseObject allKeys] containsObject:@"errorCode"] && [responseObject[@"errorCode"] isEqualToString:@"0"]) { | 115 | if ([[responseObject allKeys] containsObject:@"errorCode"] && [responseObject[@"errorCode"] isEqualToString:@"0"]) { |
| 115 | 116 | ||
| 116 | NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; | 117 | NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; |
| 117 | [userDefaults setObject:responseObject[@"data"][@"token"] forKey:@"CNLiveAuthToken"]; | 118 | [userDefaults setObject:responseObject[@"data"][@"token"] forKey:@"CNLiveAuthToken"]; |
| 119 | + [userDefaults setObject:responseObject[@"data"][@"uid"] forKey:@"CNLiveUserSid"]; | ||
| 118 | [userDefaults synchronize]; | 120 | [userDefaults synchronize]; |
| 119 | 121 | ||
| 122 | + } else { | ||
| 123 | + [CNLiveUserSystemTools errorStat:responseObject[@"errorMessage"]]; | ||
| 120 | } | 124 | } |
| 121 | - success(responseObject); | ||
| 122 | - | 125 | + |
| 123 | } failure:^(NSURLResponse * _Nullable response, NSError * _Nullable error) { | 126 | } failure:^(NSURLResponse * _Nullable response, NSError * _Nullable error) { |
| 124 | 127 | ||
| 125 | failure(error); | 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 = @"https://api.cnlive.com/open/api2/user/register | @@ -50,19 +50,25 @@ static NSString *registerURL = @"https://api.cnlive.com/open/api2/user/register | ||
| 50 | [[CNLiveNetworkManager manager] requestPostURL:registerURL parameters:param success:^(NSURLResponse * _Nullable response, id _Nullable responseObject) { | 50 | [[CNLiveNetworkManager manager] requestPostURL:registerURL parameters:param success:^(NSURLResponse * _Nullable response, id _Nullable responseObject) { |
| 51 | 51 | ||
| 52 | responseObject = [responseObject validatedDictionary]; | 52 | responseObject = [responseObject validatedDictionary]; |
| 53 | + success(responseObject); | ||
| 54 | + | ||
| 53 | if ([[responseObject allKeys] containsObject:@"errorCode"] && [responseObject[@"errorCode"] isEqualToString:@"0"]) { | 55 | if ([[responseObject allKeys] containsObject:@"errorCode"] && [responseObject[@"errorCode"] isEqualToString:@"0"]) { |
| 54 | 56 | ||
| 55 | NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; | 57 | NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; |
| 56 | [userDefaults setObject:responseObject[@"data"][@"token"] forKey:@"CNLiveAuthToken"]; | 58 | [userDefaults setObject:responseObject[@"data"][@"token"] forKey:@"CNLiveAuthToken"]; |
| 59 | + [userDefaults setObject:responseObject[@"data"][@"uid"] forKey:@"CNLiveUserSid"]; | ||
| 60 | + | ||
| 57 | [userDefaults synchronize]; | 61 | [userDefaults synchronize]; |
| 58 | 62 | ||
| 63 | + } else { | ||
| 64 | + [CNLiveUserSystemTools errorStat:responseObject[@"errorMessage"]]; | ||
| 59 | } | 65 | } |
| 60 | - success(responseObject); | ||
| 61 | 66 | ||
| 62 | } failure:^(NSURLResponse * _Nullable response, NSError * _Nullable error) { | 67 | } failure:^(NSURLResponse * _Nullable response, NSError * _Nullable error) { |
| 63 | 68 | ||
| 64 | failure(error); | 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 = @"https://api.cnlive.com/open/api2/user/update | @@ -68,8 +68,13 @@ static NSString *uploadIconURL = @"https://api.cnlive.com/open/api2/user/update | ||
| 68 | responseObject = [responseObject validatedDictionary]; | 68 | responseObject = [responseObject validatedDictionary]; |
| 69 | success(responseObject); | 69 | success(responseObject); |
| 70 | 70 | ||
| 71 | + if (![responseObject[@"errorCode"] isEqualToString:@"0"]) { | ||
| 72 | + [CNLiveUserSystemTools errorStat:responseObject[@"errorMessage"]]; | ||
| 73 | + } | ||
| 74 | + | ||
| 71 | } failure:^(NSURLResponse * _Nullable response, NSError * _Nullable error) { | 75 | } failure:^(NSURLResponse * _Nullable response, NSError * _Nullable error) { |
| 72 | failure(error); | 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 = @"https://api.cnlive.com/open/api2/user/updateP | @@ -169,11 +169,16 @@ static NSString *updatePwdURL = @"https://api.cnlive.com/open/api2/user/updateP | ||
| 169 | 169 | ||
| 170 | responseObject = [responseObject validatedDictionary]; | 170 | responseObject = [responseObject validatedDictionary]; |
| 171 | success(responseObject); | 171 | success(responseObject); |
| 172 | + | ||
| 173 | + if (![responseObject[@"errorCode"] isEqualToString:@"0"]) { | ||
| 174 | + [CNLiveUserSystemTools errorStat:responseObject[@"errorMessage"]]; | ||
| 175 | + } | ||
| 172 | 176 | ||
| 173 | } failure:^(NSURLResponse * _Nullable response, NSError * _Nullable error) { | 177 | } failure:^(NSURLResponse * _Nullable response, NSError * _Nullable error) { |
| 174 | 178 | ||
| 175 | failure(error); | 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,11 +8,7 @@ | ||
| 8 | 8 | ||
| 9 | #import "CNLiveUserManager.h" | 9 | #import "CNLiveUserManager.h" |
| 10 | #import "CNLiveUserSystemTools.h" | 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 | @interface CNLiveUserManager () | 13 | @interface CNLiveUserManager () |
| 18 | { | 14 | { |
| @@ -49,7 +45,7 @@ | @@ -49,7 +45,7 @@ | ||
| 49 | NSString *stamp = [NSString stringWithFormat:@"%.3f", [date timeIntervalSince1970]]; | 45 | NSString *stamp = [NSString stringWithFormat:@"%.3f", [date timeIntervalSince1970]]; |
| 50 | stamp = [stamp stringByReplacingOccurrencesOfString:@"." withString:@""]; | 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 | [NSURLConnection connectionWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:vvUrl]] delegate:nil]; | 50 | [NSURLConnection connectionWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:vvUrl]] delegate:nil]; |
| 55 | } | 51 | } |
| @@ -63,7 +59,7 @@ | @@ -63,7 +59,7 @@ | ||
| 63 | NSString *endDate = [NSString stringWithFormat:@"%.3f",[date timeIntervalSinceDate:_startDate]]; | 59 | NSString *endDate = [NSString stringWithFormat:@"%.3f",[date timeIntervalSinceDate:_startDate]]; |
| 64 | endDate = [endDate stringByReplacingOccurrencesOfString:@"." withString:@""]; | 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 | [NSURLConnection connectionWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:vvUrl]] delegate:nil]; | 64 | [NSURLConnection connectionWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:vvUrl]] delegate:nil]; |
| 69 | } | 65 | } |
CNLiveUserSystemDemo/CNLiveUserSystemSDK/CNLiveUserSystemTools.h
CNLiveUserSystemDemo/CNLiveUserSystemSDK/CNLiveUserSystemTools.m
| @@ -9,6 +9,8 @@ | @@ -9,6 +9,8 @@ | ||
| 9 | #import "CNLiveUserSystemTools.h" | 9 | #import "CNLiveUserSystemTools.h" |
| 10 | #import <UIKit/UIKit.h> | 10 | #import <UIKit/UIKit.h> |
| 11 | #import "CommonCrypto/CommonDigest.h" | 11 | #import "CommonCrypto/CommonDigest.h" |
| 12 | +#import "Common.h" | ||
| 13 | +#import "CNLiveUserManager.h" | ||
| 12 | 14 | ||
| 13 | @implementation CNLiveUserSystemTools | 15 | @implementation CNLiveUserSystemTools |
| 14 | 16 | ||
| @@ -83,24 +85,40 @@ | @@ -83,24 +85,40 @@ | ||
| 83 | return string1; | 85 | return string1; |
| 84 | } | 86 | } |
| 85 | 87 | ||
| 86 | - | 88 | +//null处理 |
| 87 | + (NSString *)verify:(NSString *)string | 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 | return string; | 92 | return string; |
| 99 | } else { | 93 | } else { |
| 100 | return @""; | 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 | @end | 124 | @end |
CNLiveUserSystemDemo/CNLiveUserSystemSDK/CNLiveVerificationCode.m
| @@ -52,10 +52,15 @@ static NSString *passwordURL = @"https://api.cnlive.com/open/api2/user/sendVeri | @@ -52,10 +52,15 @@ static NSString *passwordURL = @"https://api.cnlive.com/open/api2/user/sendVeri | ||
| 52 | responseObject = [responseObject validatedDictionary]; | 52 | responseObject = [responseObject validatedDictionary]; |
| 53 | success(responseObject); | 53 | success(responseObject); |
| 54 | 54 | ||
| 55 | + if (![responseObject[@"errorCode"] isEqualToString:@"0"]) { | ||
| 56 | + [CNLiveUserSystemTools errorStat:responseObject[@"errorMessage"]]; | ||
| 57 | + } | ||
| 58 | + | ||
| 55 | } failure:^(NSURLResponse * _Nullable response, NSError * _Nullable error) { | 59 | } failure:^(NSURLResponse * _Nullable response, NSError * _Nullable error) { |
| 56 | 60 | ||
| 57 | failure(error); | 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
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> |