Commit 46c46dd226e92b987df1412d0964aafe899cb9e3
1 parent
f7b1a78b
更新CNLiveBaseKit framework
Showing
35 changed files
with
2048 additions
and
0 deletions
CNLiveBaseKit.framework/CNLiveBaseKit
0 → 100755
No preview for this file type
CNLiveBaseKit.framework/Headers/BaseModel.h
0 → 100644
| 1 | +// | |
| 2 | +// BaseModel.h | |
| 3 | +// ZXBaseProject | |
| 4 | +// | |
| 5 | +// Created by 张旭 on 2017/1/10. | |
| 6 | +// Copyright © 2017年 cnlive. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <Foundation/Foundation.h> | |
| 10 | + | |
| 11 | +@interface BaseModel : NSObject | |
| 12 | + | |
| 13 | +/** 字典初始化模型 dic -> model */ | |
| 14 | ++ (id _Nullable)modelWithDic:(NSDictionary <NSString * , id>*_Nullable)dic; | |
| 15 | + | |
| 16 | +/** | |
| 17 | + 子类重写 | |
| 18 | + */ | |
| 19 | +- (void)loadModel; // init时调用 | |
| 20 | +@end | ... | ... |
CNLiveBaseKit.framework/Headers/CNLiveBaseKit-umbrella.h
0 → 100644
| 1 | +#ifdef __OBJC__ | |
| 2 | +#import <UIKit/UIKit.h> | |
| 3 | +#else | |
| 4 | +#ifndef FOUNDATION_EXPORT | |
| 5 | +#if defined(__cplusplus) | |
| 6 | +#define FOUNDATION_EXPORT extern "C" | |
| 7 | +#else | |
| 8 | +#define FOUNDATION_EXPORT extern | |
| 9 | +#endif | |
| 10 | +#endif | |
| 11 | +#endif | |
| 12 | + | |
| 13 | +#import "BaseModel.h" | |
| 14 | +#import "CNLiveBaseKit.h" | |
| 15 | +#import "NSString+CNLiveExtension.h" | |
| 16 | +#import "NSString+Common.h" | |
| 17 | +#import "CNSetUserDefaultTool.h" | |
| 18 | +#import "UIFont+CNLiveExtension.h" | |
| 19 | +#import "UILabel+Common.h" | |
| 20 | +#import "UIView+CNAlertView.h" | |
| 21 | +#import "UIView+Extension.h" | |
| 22 | +#import "CNLiveDefinesHeader.h" | |
| 23 | +#import "ColorHeaders.h" | |
| 24 | +#import "ColorMacro.h" | |
| 25 | +#import "PathHeaders.h" | |
| 26 | +#import "PathUtility.h" | |
| 27 | +#import "UIColor+MLPFlatColors.h" | |
| 28 | +#import "GTMBase64.h" | |
| 29 | +#import "GTMDefines.h" | |
| 30 | + | |
| 31 | +FOUNDATION_EXPORT double CNLiveBaseKitVersionNumber; | |
| 32 | +FOUNDATION_EXPORT const unsigned char CNLiveBaseKitVersionString[]; | |
| 33 | + | ... | ... |
CNLiveBaseKit.framework/Headers/CNLiveBaseKit.h
0 → 100644
| 1 | +// | |
| 2 | +// CNLiveBaseKit.h | |
| 3 | +// CNLiveBaseKit | |
| 4 | +// | |
| 5 | +// Created by 张旭 on 2018/11/3. | |
| 6 | +// Copyright © 2018 cnlive. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#ifndef CNLiveBaseKit_h | |
| 10 | +#define CNLiveBaseKit_h | |
| 11 | + | |
| 12 | +#import "CNLiveDefinesHeader.h" | |
| 13 | +#import "UIView+CNAlertView.h" | |
| 14 | +#import "NSString+CNLiveExtension.h" | |
| 15 | +#import "UIView+Extension.h" | |
| 16 | +#import "NSString+Common.h" | |
| 17 | +#import "UIFont+CNLiveExtension.h" | |
| 18 | +#import "CNSetUserDefaultTool.h" | |
| 19 | +#import "GTMDefines.h" | |
| 20 | +#import "PathHeaders.h" | |
| 21 | +#import "UILabel+Common.h" | |
| 22 | +#import "BaseModel.h" | |
| 23 | + | |
| 24 | +//#import "JSONKit.h" | |
| 25 | +//#import <MJExtension/MJExtension.h> | |
| 26 | + | |
| 27 | +//#import <QMUIKit/QMUIKit.h> | |
| 28 | +//#import <AFNetworking/AFNetworking.h> | |
| 29 | +//#import <Masonry/Masonry.h> | |
| 30 | +//#import <YYKit/YYKit.h> | |
| 31 | +//#import <SDWebImage/SDWebImage.h> | |
| 32 | +//#import <FLAnimatedImage/FLAnimatedImage.h> | |
| 33 | +//#import <CNLiveCommonCategory/CNLiveCommonCategoryDefine.h> | |
| 34 | + | |
| 35 | +//#import "CNEnvironmentHeader.h" | |
| 36 | +//#import "AppUIHeader.h" | |
| 37 | +//#import "AppCommonDefine.h" | |
| 38 | +//#import "NetworkAPIs.h" | |
| 39 | +//#import "HKFloatManager.h" | |
| 40 | +//#import "CNTools.h" | |
| 41 | + | |
| 42 | +//#import <QMUIKit/QMUIKit.h> | |
| 43 | + | |
| 44 | +// | |
| 45 | +//#import "CNUIHelper.h" | |
| 46 | +//#import "UIImageEffects.h" | |
| 47 | +//#import "CNErrorOrNoNetView.h" | |
| 48 | +//#import "CNCommonUI.h" | |
| 49 | +//#import "CNThemeManager.h" | |
| 50 | +//#import "CNConfiguration.h" | |
| 51 | +//#import "CNCommonViewController.h" | |
| 52 | +// | |
| 53 | +//#import <CNLiveCommonCategory/CNLiveCommonCategoryDefine.h> | |
| 54 | + | |
| 55 | +#endif /* CNLiveBaseKit_h */ | ... | ... |
CNLiveBaseKit.framework/Headers/CNLiveDefinesHeader.h
0 → 100644
| 1 | +// | |
| 2 | +// CNLiveDefinesHeader.h | |
| 3 | +// CNLiveCommonCategory | |
| 4 | +// | |
| 5 | +// Created by 张旭 on 2018/9/26. | |
| 6 | +// Copyright © 2018年 cnlive. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#ifndef CNLiveDefinesHeader_h | |
| 10 | +#define CNLiveDefinesHeader_h | |
| 11 | +#import <UIKit/UIKit.h> | |
| 12 | +#import <Foundation/Foundation.h> | |
| 13 | +#import "ColorHeaders.h" | |
| 14 | +//#import "CNLiveARCCompile.h" 暂时用不到 | |
| 15 | + | |
| 16 | +//////////////////////////////////////////////////////// | |
| 17 | +//////////// Color | |
| 18 | +//////////////////////////////////////////////////////// | |
| 19 | +// 默认的字体颜色 | |
| 20 | +#define kMainTextColor kBlackColor | |
| 21 | +#define kAppBakgroundColor kWhiteColor | |
| 22 | + | |
| 23 | +// 主色调 | |
| 24 | +// 导航按钮 | |
| 25 | +#define kNavBarThemeColor RGB(128, 64, 122) | |
| 26 | + | |
| 27 | +#define kDetailTextColor RGB(145, 145, 145) | |
| 28 | + | |
| 29 | +// 默认TableViewCell高度 | |
| 30 | +#define kDefaultCellHeight 69 | |
| 31 | +// 默认界面之间的间距 | |
| 32 | +#define kDefaultMargin 5 | |
| 33 | + | |
| 34 | +//////////////////////////////////////////////////////// | |
| 35 | +//////////// Font | |
| 36 | +//////////////////////////////////////////////////////// | |
| 37 | +// CommonLibrary中常用的字体 | |
| 38 | +#define kCommonLargeTextFont [UIFont systemFontOfSize:16] | |
| 39 | +#define kCommonMiddleTextFont [UIFont systemFontOfSize:14] | |
| 40 | +#define kCommonSmallTextFont [UIFont systemFontOfSize:12] | |
| 41 | + | |
| 42 | +//////////////////////////////////////////////////////// | |
| 43 | +//////////// SCreen | |
| 44 | +//////////////////////////////////////////////////////// | |
| 45 | +#define KScreenWidth ([UIScreen mainScreen].bounds.size.width > [UIScreen mainScreen].bounds.size.height ? [UIScreen mainScreen].bounds.size.height : [UIScreen mainScreen].bounds.size.width) | |
| 46 | +#define KScreenHeight ([UIScreen mainScreen].bounds.size.width > [UIScreen mainScreen].bounds.size.height ? [UIScreen mainScreen].bounds.size.width : [UIScreen mainScreen].bounds.size.height) | |
| 47 | + | |
| 48 | +//判断iPHoneXr | |
| 49 | +#define Device_Is_iPhoneXS_XR ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(828, 1792), [[UIScreen mainScreen] currentMode].size) : NO) | |
| 50 | + | |
| 51 | +//判断iPHoneX、iPHoneXs | |
| 52 | +#define Device_Is_iPhoneX ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) : NO) | |
| 53 | +#define Device_Is_iPhoneXS ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) : NO) | |
| 54 | + | |
| 55 | +//判断iPhoneXs Max | |
| 56 | +#define Device_Is_iPhoneXS_MAX ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1242, 2688), [[UIScreen mainScreen] currentMode].size) : NO) | |
| 57 | + | |
| 58 | +#define IS_IPhoneX_All (CGSizeEqualToSize([UIScreen mainScreen].bounds.size, CGSizeMake(375, 812)) ||CGSizeEqualToSize([UIScreen mainScreen].bounds.size, CGSizeMake(812, 375)) ||CGSizeEqualToSize([UIScreen mainScreen].bounds.size, CGSizeMake(414, 896)) ||CGSizeEqualToSize([UIScreen mainScreen].bounds.size, CGSizeMake(896, 414))) | |
| 59 | + | |
| 60 | + | |
| 61 | +#define kStatusHeight (int)[UIApplication sharedApplication].statusBarFrame.size.height //x44 非x20 | |
| 62 | +#define kNavigationBarHeight ((int)[UIApplication sharedApplication].statusBarFrame.size.height+44) //x88 非x64 | |
| 63 | +#define kVerticalNaviBarHeight ((IS_IPhoneX_All > 0) ? 88 : 44) | |
| 64 | +#define kVerticalTabBarTotalHeight ((IS_IPhoneX_All > 0) ? 83 : 49) | |
| 65 | +#define kVerticalBottomSafeHeight ((IS_IPhoneX_All > 0) ? 34 : 0) | |
| 66 | +#define kVerticalStatusHeight ((IS_IPhoneX_All > 0) ? 44 : 20) | |
| 67 | +#define kVerticalTopHeight ((IS_IPhoneX_All > 0) ? 24 : 0) | |
| 68 | +#define kHorizontalTopNaviBarHeight 32 | |
| 69 | +#define kHorizontalBottomHeight ((IS_IPhoneX_All > 0) ? 21 : 0) | |
| 70 | +#define kHorizontalLeftHeight ((IS_IPhoneX_All > 0) ? 44 : 0) | |
| 71 | +#define kHorizontalRightHeight ((IS_IPhoneX_All > 0) ? 44 : 0) | |
| 72 | +#define kHorizontalTopHeight ((IS_IPhoneX_All > 0) ? 24 : 0) | |
| 73 | + | |
| 74 | + | |
| 75 | +//////////////////////////////////////////////////////// | |
| 76 | +//////////// WeakSelf&StrongSelf | |
| 77 | +//////////////////////////////////////////////////////// | |
| 78 | +/** | |
| 79 | + * weakSelf | |
| 80 | + */ | |
| 81 | +#ifndef weakself | |
| 82 | +#define weakself __weak typeof(self)weakSelf = self; | |
| 83 | +#endif | |
| 84 | +/** | |
| 85 | + * strongSelf | |
| 86 | + */ | |
| 87 | +#ifndef strongself | |
| 88 | +#define strongself __strong typeof(weakSelf)self = weakSelf; | |
| 89 | +#endif | |
| 90 | + | |
| 91 | +//////////////////////////////////////////////////////// | |
| 92 | +//////////// 输出测试 | |
| 93 | +//////////////////////////////////////////////////////// | |
| 94 | +//#ifdef DEBUG | |
| 95 | +//#define NSLog(s, ... ) NSLog( @"[%@ in line %d] ===============>%@", [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__] ) | |
| 96 | +//#else | |
| 97 | +//#define NSLog(s, ... ) | |
| 98 | +//#endif | |
| 99 | + | |
| 100 | +#ifdef DEBUG | |
| 101 | + | |
| 102 | +#ifndef DebugLog | |
| 103 | +#define DebugLog(fmt, ...) NSLog((@"[%s Line %d] \n" fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__) | |
| 104 | +#endif | |
| 105 | + | |
| 106 | +#else | |
| 107 | + | |
| 108 | +#ifndef DebugLog | |
| 109 | +#define DebugLog(fmt, ...) // NSLog((@"[%s Line %d] \n" fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__) | |
| 110 | +#endif | |
| 111 | + | |
| 112 | +#define NSLog // NSLog | |
| 113 | + | |
| 114 | +#endif | |
| 115 | + | |
| 116 | + | |
| 117 | +//////////////////////////////////////////////////////// | |
| 118 | +//////////// 动态跟随系统设置的字体大小改变字体和行高 | |
| 119 | +//////////////////////////////////////////////////////// | |
| 120 | +#define RATIO [CNSetUserDefaultTool getScaleCoefficient] | |
| 121 | + | |
| 122 | +//这个字体宏可以统一成UIFontMake() | |
| 123 | +//字体大小 | |
| 124 | +#define Text_FONT(F) [UIFont systemFontOfSize:F] | |
| 125 | + | |
| 126 | + | |
| 127 | +#define contentLabelFontSize 16 | |
| 128 | + | |
| 129 | +//////////////////////////////////////////////////////// | |
| 130 | +//////////// AppDelegate | |
| 131 | +//////////////////////////////////////////////////////// | |
| 132 | +#ifndef AppKeyWindow | |
| 133 | +#define AppKeyWindow [IMAAppDelegate sharedAppDelegate].window | |
| 134 | +#endif | |
| 135 | + | |
| 136 | +//////////////////////////////////////////////////////// | |
| 137 | +//////////// NSNotificationCenter | |
| 138 | +//////////////////////////////////////////////////////// | |
| 139 | +#define CNNotificationCenter [NSNotificationCenter defaultCenter] | |
| 140 | + | |
| 141 | + | |
| 142 | +#define SINGLETON_FOR_HEADER(className) \ | |
| 143 | +\ | |
| 144 | ++ (className *)shared##className; | |
| 145 | + | |
| 146 | +#define SINGLETON_FOR_CLASS(className) \ | |
| 147 | +\ | |
| 148 | ++ (className *)shared##className { \ | |
| 149 | +static className *shared##className = nil; \ | |
| 150 | +static dispatch_once_t onceToken; \ | |
| 151 | +dispatch_once(&onceToken, ^{ \ | |
| 152 | +shared##className = [[self alloc] init]; \ | |
| 153 | +}); \ | |
| 154 | +return shared##className; \ | |
| 155 | +} | |
| 156 | + | |
| 157 | +#define AppVersion [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"] | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | +#endif /* CNLiveDefinesHeader_h */ | ... | ... |
CNLiveBaseKit.framework/Headers/CNSetUserDefaultTool.h
0 → 100755
| 1 | +// | |
| 2 | +// CNSetUserDefaultTool.h | |
| 3 | +// CNLiveNetAdd | |
| 4 | +// | |
| 5 | +// Created by open on 2018/9/1. | |
| 6 | +// Copyright © 2018年 cnlive. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <Foundation/Foundation.h> | |
| 10 | + | |
| 11 | +@interface CNSetUserDefaultTool : NSObject | |
| 12 | +//设置字体大小系数,1到6 2为默认标准 | |
| 13 | ++(void)setFontSizeCoefficient:(NSInteger )coefficient; | |
| 14 | + | |
| 15 | +//读取字体大小系数,1到6 2为默认标准 | |
| 16 | ++(NSInteger )getFontSizeCoefficient; | |
| 17 | + | |
| 18 | +//读取比例系数 (0.925~1.30) | |
| 19 | ++(float )getScaleCoefficient; | |
| 20 | +@end | ... | ... |
CNLiveBaseKit.framework/Headers/ColorHeaders.h
0 → 100644
| 1 | +// | |
| 2 | +// ColorHeaders.h | |
| 3 | +// CommonLibrary | |
| 4 | +// | |
| 5 | +// Created by Alexi on 3/6/14. | |
| 6 | +// Copyright (c) 2014 CommonLibrary. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#ifndef CommonLibrary_ColorHeaders_h | |
| 10 | +#define CommonLibrary_ColorHeaders_h | |
| 11 | + | |
| 12 | +#import "ColorMacro.h" | |
| 13 | +#import "UIColor+MLPFlatColors.h" | |
| 14 | + | |
| 15 | +#endif | ... | ... |
CNLiveBaseKit.framework/Headers/ColorMacro.h
0 → 100644
| 1 | +// | |
| 2 | +// ColorMarcro.h | |
| 3 | +// CommonLibrary | |
| 4 | +// | |
| 5 | +// Created by Alexi on 13-10-23. | |
| 6 | +// Copyright (c) 2013年 ywchen. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#ifndef CommonLibrary_ColorMarcro_h | |
| 10 | +#define CommonLibrary_ColorMarcro_h | |
| 11 | + | |
| 12 | +#import "UIColor+MLPFlatColors.h" | |
| 13 | + | |
| 14 | + | |
| 15 | +// 取色值相关的方法 | |
| 16 | +#define RGB(r,g,b) [UIColor colorWithRed:(r)/255.f \ | |
| 17 | + green:(g)/255.f \ | |
| 18 | + blue:(b)/255.f \ | |
| 19 | + alpha:1.f] | |
| 20 | + | |
| 21 | +#define RGBA(r,g,b,a) [UIColor colorWithRed:(r)/255.f \ | |
| 22 | + green:(g)/255.f \ | |
| 23 | + blue:(b)/255.f \ | |
| 24 | + alpha:(a)] | |
| 25 | + | |
| 26 | +#define RGBOF(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 \ | |
| 27 | + green:((float)((rgbValue & 0xFF00) >> 8))/255.0 \ | |
| 28 | + blue:((float)(rgbValue & 0xFF))/255.0 \ | |
| 29 | + alpha:1.0] | |
| 30 | + | |
| 31 | +#define RGBA_OF(rgbValue) [UIColor colorWithRed:((float)(((rgbValue) & 0xFF000000) >> 24))/255.0 \ | |
| 32 | + green:((float)(((rgbValue) & 0x00FF0000) >> 16))/255.0 \ | |
| 33 | + blue:((float)(rgbValue & 0x0000FF00) >> 8)/255.0 \ | |
| 34 | + alpha:((float)(rgbValue & 0x000000FF))/255.0] | |
| 35 | + | |
| 36 | +#define RGBAOF(v, a) [UIColor colorWithRed:((float)(((v) & 0xFF0000) >> 16))/255.0 \ | |
| 37 | + green:((float)(((v) & 0x00FF00) >> 8))/255.0 \ | |
| 38 | + blue:((float)(v & 0x0000FF))/255.0 \ | |
| 39 | + alpha:a] | |
| 40 | + | |
| 41 | + | |
| 42 | +// 定义通用颜色 | |
| 43 | +#define kBlackColor [UIColor blackColor] | |
| 44 | +#define kDarkGrayColor [UIColor darkGrayColor] | |
| 45 | +#define kLightGrayColor [UIColor lightGrayColor] | |
| 46 | +#define kWhiteColor [UIColor whiteColor] | |
| 47 | +#define kGrayColor [UIColor grayColor] | |
| 48 | +#define kRedColor [UIColor redColor] | |
| 49 | +#define kGreenColor [UIColor greenColor] | |
| 50 | +#define kBlueColor [UIColor blueColor] | |
| 51 | +#define kCyanColor [UIColor cyanColor] | |
| 52 | +#define kYellowColor [UIColor yellowColor] | |
| 53 | +#define kMagentaColor [UIColor magentaColor] | |
| 54 | +#define kOrangeColor [UIColor orangeColor] | |
| 55 | +#define kPurpleColor [UIColor purpleColor] | |
| 56 | +#define kClearColor [UIColor clearColor] | |
| 57 | + | |
| 58 | +#define kWeChatBgColor RGB(242,242,242) | |
| 59 | +#define kTempBlueColor RGB(85,198,242) | |
| 60 | + | |
| 61 | +#define kRandomFlatColor [UIColor randomFlatColor] | |
| 62 | + | |
| 63 | +//文字颜色 | |
| 64 | +#define KTextBlackColor RGB(40, 40, 40) | |
| 65 | +#define KBlack51Color RGB(51, 51, 51) | |
| 66 | +#define KYellowColor RGB(255, 163, 0) | |
| 67 | +#define KYellowHightColor RGB(179, 105, 27) | |
| 68 | +#define KUserInfoGrayColor RGB(101, 101, 101) | |
| 69 | +#define KGrayBgColor RGB(242, 242, 242) | |
| 70 | +#define KGray246BgColor RGB(246, 246, 246) | |
| 71 | +#define KSubTitleGrayColor RGB(152, 152, 152) | |
| 72 | +#define KGray195Color RGB(195, 195, 195) | |
| 73 | +#define KYellow153Color RGB(255, 153, 0) | |
| 74 | +#define KGray235Color RGB(235, 235, 235) | |
| 75 | +#define KGray102Color RGB(102, 102, 102) | |
| 76 | +#define KGray101Color RGB(101, 101, 101) | |
| 77 | +#define KGray153Color RGB(153, 153, 153) | |
| 78 | +#define KGray187Color RGB(187, 187, 187) | |
| 79 | +#define KGray173Color RGB(173, 173, 173) | |
| 80 | +#define KGrayLineColor RGB(243, 244, 245) | |
| 81 | +#define KOrderButtonGrayColor RGB(88, 92, 94) | |
| 82 | +#define KOrderRedColor RGB(255, 51, 85) | |
| 83 | +#define KGray227Color RGB(227, 227, 227) | |
| 84 | +#define KGray242Color RGB(242, 242, 242) | |
| 85 | +#define KGreen194Color RGB(0, 194, 0) | |
| 86 | +#define KOrange163Color RGB(255, 163, 0) | |
| 87 | + | |
| 88 | +#define KCommonLineColor RGB(238, 238, 238) | |
| 89 | +#define KCopyLabelBgColor [UIColor qmui_colorWithHexString:@"4bd647"]//RGB(216, 136, 0) | |
| 90 | +#define KGreenColor @"00c200" | |
| 91 | + | |
| 92 | +#define KGrayColor @"626775" | |
| 93 | + | |
| 94 | +/** | |
| 95 | + * UIColor | |
| 96 | + */ | |
| 97 | +#define ZXColorA(r ,g ,b ,a) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:(a)/255.0] | |
| 98 | +#define ZXColor(r ,g ,b) ZXColorA((r),(g),(b),255) | |
| 99 | +#define ZXRandomColor ZXColor(arc4random_uniform(255) ,arc4random_uniform(255) ,arc4random_uniform(255)) | |
| 100 | + | |
| 101 | +#endif | ... | ... |
CNLiveBaseKit.framework/Headers/GTMBase64.h
0 → 100644
| 1 | +// | |
| 2 | +// GTMBase64.h | |
| 3 | +// | |
| 4 | +// Copyright 2006-2008 Google Inc. | |
| 5 | +// | |
| 6 | +// Licensed under the Apache License, Version 2.0 (the "License"); you may not | |
| 7 | +// use this file except in compliance with the License. You may obtain a copy | |
| 8 | +// of the License at | |
| 9 | +// | |
| 10 | +// http://www.apache.org/licenses/LICENSE-2.0 | |
| 11 | +// | |
| 12 | +// Unless required by applicable law or agreed to in writing, software | |
| 13 | +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | |
| 14 | +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | |
| 15 | +// License for the specific language governing permissions and limitations under | |
| 16 | +// the License. | |
| 17 | +// | |
| 18 | + | |
| 19 | + | |
| 20 | +// WARNING: This class provides a subset of the functionality available in | |
| 21 | +// GTMStringEncoding and may go away in the future. | |
| 22 | +// Please consider using GTMStringEncoding instead. | |
| 23 | + | |
| 24 | +#import <Foundation/Foundation.h> | |
| 25 | +#import "GTMDefines.h" | |
| 26 | + | |
| 27 | +// GTMBase64 | |
| 28 | +// | |
| 29 | +/// Helper for handling Base64 and WebSafeBase64 encodings | |
| 30 | +// | |
| 31 | +/// The webSafe methods use different character set and also the results aren't | |
| 32 | +/// always padded to a multiple of 4 characters. This is done so the resulting | |
| 33 | +/// data can be used in urls and url query arguments without needing any | |
| 34 | +/// encoding. You must use the webSafe* methods together, the data does not | |
| 35 | +/// interop with the RFC methods. | |
| 36 | +// | |
| 37 | +@interface GTMBase64 : NSObject | |
| 38 | + | |
| 39 | +// | |
| 40 | +// Standard Base64 (RFC) handling | |
| 41 | +// | |
| 42 | + | |
| 43 | +// encodeData: | |
| 44 | +// | |
| 45 | +/// Base64 encodes contents of the NSData object. | |
| 46 | +// | |
| 47 | +/// Returns: | |
| 48 | +/// A new autoreleased NSData with the encoded payload. nil for any error. | |
| 49 | +// | |
| 50 | ++(NSData *)encodeData:(NSData *)data; | |
| 51 | + | |
| 52 | +// decodeData: | |
| 53 | +// | |
| 54 | +/// Base64 decodes contents of the NSData object. | |
| 55 | +// | |
| 56 | +/// Returns: | |
| 57 | +/// A new autoreleased NSData with the decoded payload. nil for any error. | |
| 58 | +// | |
| 59 | ++(NSData *)decodeData:(NSData *)data; | |
| 60 | + | |
| 61 | +// encodeBytes:length: | |
| 62 | +// | |
| 63 | +/// Base64 encodes the data pointed at by |bytes|. | |
| 64 | +// | |
| 65 | +/// Returns: | |
| 66 | +/// A new autoreleased NSData with the encoded payload. nil for any error. | |
| 67 | +// | |
| 68 | ++(NSData *)encodeBytes:(const void *)bytes length:(NSUInteger)length; | |
| 69 | + | |
| 70 | +// decodeBytes:length: | |
| 71 | +// | |
| 72 | +/// Base64 decodes the data pointed at by |bytes|. | |
| 73 | +// | |
| 74 | +/// Returns: | |
| 75 | +/// A new autoreleased NSData with the encoded payload. nil for any error. | |
| 76 | +// | |
| 77 | ++(NSData *)decodeBytes:(const void *)bytes length:(NSUInteger)length; | |
| 78 | + | |
| 79 | +// stringByEncodingData: | |
| 80 | +// | |
| 81 | +/// Base64 encodes contents of the NSData object. | |
| 82 | +// | |
| 83 | +/// Returns: | |
| 84 | +/// A new autoreleased NSString with the encoded payload. nil for any error. | |
| 85 | +// | |
| 86 | ++(NSString *)stringByEncodingData:(NSData *)data; | |
| 87 | + | |
| 88 | +// stringByEncodingBytes:length: | |
| 89 | +// | |
| 90 | +/// Base64 encodes the data pointed at by |bytes|. | |
| 91 | +// | |
| 92 | +/// Returns: | |
| 93 | +/// A new autoreleased NSString with the encoded payload. nil for any error. | |
| 94 | +// | |
| 95 | ++(NSString *)stringByEncodingBytes:(const void *)bytes length:(NSUInteger)length; | |
| 96 | + | |
| 97 | +// decodeString: | |
| 98 | +// | |
| 99 | +/// Base64 decodes contents of the NSString. | |
| 100 | +// | |
| 101 | +/// Returns: | |
| 102 | +/// A new autoreleased NSData with the decoded payload. nil for any error. | |
| 103 | +// | |
| 104 | ++(NSData *)decodeString:(NSString *)string; | |
| 105 | + | |
| 106 | +// | |
| 107 | +// Modified Base64 encoding so the results can go onto urls. | |
| 108 | +// | |
| 109 | +// The changes are in the characters generated and also allows the result to | |
| 110 | +// not be padded to a multiple of 4. | |
| 111 | +// Must use the matching call to encode/decode, won't interop with the | |
| 112 | +// RFC versions. | |
| 113 | +// | |
| 114 | + | |
| 115 | +// webSafeEncodeData:padded: | |
| 116 | +// | |
| 117 | +/// WebSafe Base64 encodes contents of the NSData object. If |padded| is YES | |
| 118 | +/// then padding characters are added so the result length is a multiple of 4. | |
| 119 | +// | |
| 120 | +/// Returns: | |
| 121 | +/// A new autoreleased NSData with the encoded payload. nil for any error. | |
| 122 | +// | |
| 123 | ++(NSData *)webSafeEncodeData:(NSData *)data | |
| 124 | + padded:(BOOL)padded; | |
| 125 | + | |
| 126 | +// webSafeDecodeData: | |
| 127 | +// | |
| 128 | +/// WebSafe Base64 decodes contents of the NSData object. | |
| 129 | +// | |
| 130 | +/// Returns: | |
| 131 | +/// A new autoreleased NSData with the decoded payload. nil for any error. | |
| 132 | +// | |
| 133 | ++(NSData *)webSafeDecodeData:(NSData *)data; | |
| 134 | + | |
| 135 | +// webSafeEncodeBytes:length:padded: | |
| 136 | +// | |
| 137 | +/// WebSafe Base64 encodes the data pointed at by |bytes|. If |padded| is YES | |
| 138 | +/// then padding characters are added so the result length is a multiple of 4. | |
| 139 | +// | |
| 140 | +/// Returns: | |
| 141 | +/// A new autoreleased NSData with the encoded payload. nil for any error. | |
| 142 | +// | |
| 143 | ++(NSData *)webSafeEncodeBytes:(const void *)bytes | |
| 144 | + length:(NSUInteger)length | |
| 145 | + padded:(BOOL)padded; | |
| 146 | + | |
| 147 | +// webSafeDecodeBytes:length: | |
| 148 | +// | |
| 149 | +/// WebSafe Base64 decodes the data pointed at by |bytes|. | |
| 150 | +// | |
| 151 | +/// Returns: | |
| 152 | +/// A new autoreleased NSData with the encoded payload. nil for any error. | |
| 153 | +// | |
| 154 | ++(NSData *)webSafeDecodeBytes:(const void *)bytes length:(NSUInteger)length; | |
| 155 | + | |
| 156 | +// stringByWebSafeEncodingData:padded: | |
| 157 | +// | |
| 158 | +/// WebSafe Base64 encodes contents of the NSData object. If |padded| is YES | |
| 159 | +/// then padding characters are added so the result length is a multiple of 4. | |
| 160 | +// | |
| 161 | +/// Returns: | |
| 162 | +/// A new autoreleased NSString with the encoded payload. nil for any error. | |
| 163 | +// | |
| 164 | ++(NSString *)stringByWebSafeEncodingData:(NSData *)data | |
| 165 | + padded:(BOOL)padded; | |
| 166 | + | |
| 167 | +// stringByWebSafeEncodingBytes:length:padded: | |
| 168 | +// | |
| 169 | +/// WebSafe Base64 encodes the data pointed at by |bytes|. If |padded| is YES | |
| 170 | +/// then padding characters are added so the result length is a multiple of 4. | |
| 171 | +// | |
| 172 | +/// Returns: | |
| 173 | +/// A new autoreleased NSString with the encoded payload. nil for any error. | |
| 174 | +// | |
| 175 | ++(NSString *)stringByWebSafeEncodingBytes:(const void *)bytes | |
| 176 | + length:(NSUInteger)length | |
| 177 | + padded:(BOOL)padded; | |
| 178 | + | |
| 179 | +// webSafeDecodeString: | |
| 180 | +// | |
| 181 | +/// WebSafe Base64 decodes contents of the NSString. | |
| 182 | +// | |
| 183 | +/// Returns: | |
| 184 | +/// A new autoreleased NSData with the decoded payload. nil for any error. | |
| 185 | +// | |
| 186 | ++(NSData *)webSafeDecodeString:(NSString *)string; | |
| 187 | + | |
| 188 | +@end | ... | ... |
CNLiveBaseKit.framework/Headers/GTMDefines.h
0 → 100644
| 1 | +// | |
| 2 | +// GTMDefines.h | |
| 3 | +// | |
| 4 | +// Copyright 2008 Google Inc. | |
| 5 | +// | |
| 6 | +// Licensed under the Apache License, Version 2.0 (the "License"); you may not | |
| 7 | +// use this file except in compliance with the License. You may obtain a copy | |
| 8 | +// of the License at | |
| 9 | +// | |
| 10 | +// http://www.apache.org/licenses/LICENSE-2.0 | |
| 11 | +// | |
| 12 | +// Unless required by applicable law or agreed to in writing, software | |
| 13 | +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | |
| 14 | +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | |
| 15 | +// License for the specific language governing permissions and limitations under | |
| 16 | +// the License. | |
| 17 | +// | |
| 18 | +// ============================================================================ | |
| 19 | + | |
| 20 | +#include <AvailabilityMacros.h> | |
| 21 | +#include <TargetConditionals.h> | |
| 22 | + | |
| 23 | +// Not all MAC_OS_X_VERSION_10_X macros defined in past SDKs | |
| 24 | +#ifndef MAC_OS_X_VERSION_10_5 | |
| 25 | +#define MAC_OS_X_VERSION_10_5 1050 | |
| 26 | +#endif | |
| 27 | +#ifndef MAC_OS_X_VERSION_10_6 | |
| 28 | +#define MAC_OS_X_VERSION_10_6 1060 | |
| 29 | +#endif | |
| 30 | + | |
| 31 | +// ---------------------------------------------------------------------------- | |
| 32 | +// CPP symbols that can be overridden in a prefix to control how the toolbox | |
| 33 | +// is compiled. | |
| 34 | +// ---------------------------------------------------------------------------- | |
| 35 | + | |
| 36 | + | |
| 37 | +// By setting the GTM_CONTAINERS_VALIDATION_FAILED_LOG and | |
| 38 | +// GTM_CONTAINERS_VALIDATION_FAILED_ASSERT macros you can control what happens | |
| 39 | +// when a validation fails. If you implement your own validators, you may want | |
| 40 | +// to control their internals using the same macros for consistency. | |
| 41 | +#ifndef GTM_CONTAINERS_VALIDATION_FAILED_ASSERT | |
| 42 | +#define GTM_CONTAINERS_VALIDATION_FAILED_ASSERT 0 | |
| 43 | +#endif | |
| 44 | + | |
| 45 | +// Give ourselves a consistent way to do inlines. Apple's macros even use | |
| 46 | +// a few different actual definitions, so we're based off of the foundation | |
| 47 | +// one. | |
| 48 | +#if !defined(GTM_INLINE) | |
| 49 | +#if defined (__GNUC__) && (__GNUC__ == 4) | |
| 50 | +#define GTM_INLINE static __inline__ __attribute__((always_inline)) | |
| 51 | +#else | |
| 52 | +#define GTM_INLINE static __inline__ | |
| 53 | +#endif | |
| 54 | +#endif | |
| 55 | + | |
| 56 | +// Give ourselves a consistent way of doing externs that links up nicely | |
| 57 | +// when mixing objc and objc++ | |
| 58 | +#if !defined (GTM_EXTERN) | |
| 59 | +#if defined __cplusplus | |
| 60 | +#define GTM_EXTERN extern "C" | |
| 61 | +#else | |
| 62 | +#define GTM_EXTERN extern | |
| 63 | +#endif | |
| 64 | +#endif | |
| 65 | + | |
| 66 | +// Give ourselves a consistent way of exporting things if we have visibility | |
| 67 | +// set to hidden. | |
| 68 | +#if !defined (GTM_EXPORT) | |
| 69 | +#define GTM_EXPORT __attribute__((visibility("default"))) | |
| 70 | +#endif | |
| 71 | + | |
| 72 | +// _GTMDevLog & _GTMDevAssert | |
| 73 | +// | |
| 74 | +// _GTMDevLog & _GTMDevAssert are meant to be a very lightweight shell for | |
| 75 | +// developer level errors. This implementation simply macros to NSLog/NSAssert. | |
| 76 | +// It is not intended to be a general logging/reporting system. | |
| 77 | +// | |
| 78 | +// Please see http://code.google.com/p/google-toolbox-for-mac/wiki/DevLogNAssert | |
| 79 | +// for a little more background on the usage of these macros. | |
| 80 | +// | |
| 81 | +// _GTMDevLog log some error/problem in debug builds | |
| 82 | +// _GTMDevAssert assert if conditon isn't met w/in a method/function | |
| 83 | +// in all builds. | |
| 84 | +// | |
| 85 | +// To replace this system, just provide different macro definitions in your | |
| 86 | +// prefix header. Remember, any implementation you provide *must* be thread | |
| 87 | +// safe since this could be called by anything in what ever situtation it has | |
| 88 | +// been placed in. | |
| 89 | +// | |
| 90 | + | |
| 91 | +// We only define the simple macros if nothing else has defined this. | |
| 92 | +#ifndef _GTMDevLog | |
| 93 | + | |
| 94 | +#ifdef DEBUG | |
| 95 | +#define _GTMDevLog(...) NSLog(__VA_ARGS__) | |
| 96 | +#else | |
| 97 | +#define _GTMDevLog(...) do { } while (0) | |
| 98 | +#endif | |
| 99 | + | |
| 100 | +#endif // _GTMDevLog | |
| 101 | + | |
| 102 | +// Declared here so that it can easily be used for logging tracking if | |
| 103 | +// necessary. See GTMUnitTestDevLog.h for details. | |
| 104 | +@class NSString; | |
| 105 | +GTM_EXTERN void _GTMUnitTestDevLog(NSString *format, ...); | |
| 106 | + | |
| 107 | +#ifndef _GTMDevAssert | |
| 108 | +// we directly invoke the NSAssert handler so we can pass on the varargs | |
| 109 | +// (NSAssert doesn't have a macro we can use that takes varargs) | |
| 110 | +#if !defined(NS_BLOCK_ASSERTIONS) | |
| 111 | +#define _GTMDevAssert(condition, ...) \ | |
| 112 | +do { \ | |
| 113 | +if (!(condition)) { \ | |
| 114 | +[[NSAssertionHandler currentHandler] \ | |
| 115 | +handleFailureInFunction:[NSString stringWithUTF8String:__PRETTY_FUNCTION__] \ | |
| 116 | +file:[NSString stringWithUTF8String:__FILE__] \ | |
| 117 | +lineNumber:__LINE__ \ | |
| 118 | +description:__VA_ARGS__]; \ | |
| 119 | +} \ | |
| 120 | +} while(0) | |
| 121 | +#else // !defined(NS_BLOCK_ASSERTIONS) | |
| 122 | +#define _GTMDevAssert(condition, ...) do { } while (0) | |
| 123 | +#endif // !defined(NS_BLOCK_ASSERTIONS) | |
| 124 | + | |
| 125 | +#endif // _GTMDevAssert | |
| 126 | + | |
| 127 | +// _GTMCompileAssert | |
| 128 | +// _GTMCompileAssert is an assert that is meant to fire at compile time if you | |
| 129 | +// want to check things at compile instead of runtime. For example if you | |
| 130 | +// want to check that a wchar is 4 bytes instead of 2 you would use | |
| 131 | +// _GTMCompileAssert(sizeof(wchar_t) == 4, wchar_t_is_4_bytes_on_OS_X) | |
| 132 | +// Note that the second "arg" is not in quotes, and must be a valid processor | |
| 133 | +// symbol in it's own right (no spaces, punctuation etc). | |
| 134 | + | |
| 135 | +// Wrapping this in an #ifndef allows external groups to define their own | |
| 136 | +// compile time assert scheme. | |
| 137 | +#ifndef _GTMCompileAssert | |
| 138 | +// We got this technique from here: | |
| 139 | +// http://unixjunkie.blogspot.com/2007/10/better-compile-time-asserts_29.html | |
| 140 | + | |
| 141 | +#define _GTMCompileAssertSymbolInner(line, msg) _GTMCOMPILEASSERT ## line ## __ ## msg | |
| 142 | +#define _GTMCompileAssertSymbol(line, msg) _GTMCompileAssertSymbolInner(line, msg) | |
| 143 | +#define _GTMCompileAssert(test, msg) \ | |
| 144 | +typedef char _GTMCompileAssertSymbol(__LINE__, msg) [ ((test) ? 1 : -1) ] | |
| 145 | +#endif // _GTMCompileAssert | |
| 146 | + | |
| 147 | +// Macro to allow fast enumeration when building for 10.5 or later, and | |
| 148 | +// reliance on NSEnumerator for 10.4. Remember, NSDictionary w/ FastEnumeration | |
| 149 | +// does keys, so pick the right thing, nothing is done on the FastEnumeration | |
| 150 | +// side to be sure you're getting what you wanted. | |
| 151 | +#ifndef GTM_FOREACH_OBJECT | |
| 152 | +#if TARGET_OS_IPHONE || !(MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5) | |
| 153 | +#define GTM_FOREACH_ENUMEREE(element, enumeration) \ | |
| 154 | +for (element in enumeration) | |
| 155 | +#define GTM_FOREACH_OBJECT(element, collection) \ | |
| 156 | +for (element in collection) | |
| 157 | +#define GTM_FOREACH_KEY(element, collection) \ | |
| 158 | +for (element in collection) | |
| 159 | +#else | |
| 160 | +#define GTM_FOREACH_ENUMEREE(element, enumeration) \ | |
| 161 | +for (NSEnumerator *_ ## element ## _enum = enumeration; \ | |
| 162 | +(element = [_ ## element ## _enum nextObject]) != nil; ) | |
| 163 | +#define GTM_FOREACH_OBJECT(element, collection) \ | |
| 164 | +GTM_FOREACH_ENUMEREE(element, [collection objectEnumerator]) | |
| 165 | +#define GTM_FOREACH_KEY(element, collection) \ | |
| 166 | +GTM_FOREACH_ENUMEREE(element, [collection keyEnumerator]) | |
| 167 | +#endif | |
| 168 | +#endif | |
| 169 | + | |
| 170 | +// ============================================================================ | |
| 171 | + | |
| 172 | +// ---------------------------------------------------------------------------- | |
| 173 | +// CPP symbols defined based on the project settings so the GTM code has | |
| 174 | +// simple things to test against w/o scattering the knowledge of project | |
| 175 | +// setting through all the code. | |
| 176 | +// ---------------------------------------------------------------------------- | |
| 177 | + | |
| 178 | +// Provide a single constant CPP symbol that all of GTM uses for ifdefing | |
| 179 | +// iPhone code. | |
| 180 | +#if TARGET_OS_IPHONE // iPhone SDK | |
| 181 | +// For iPhone specific stuff | |
| 182 | +#define GTM_IPHONE_SDK 1 | |
| 183 | +#if TARGET_IPHONE_SIMULATOR | |
| 184 | +#define GTM_IPHONE_SIMULATOR 1 | |
| 185 | +#else | |
| 186 | +#define GTM_IPHONE_DEVICE 1 | |
| 187 | +#endif // TARGET_IPHONE_SIMULATOR | |
| 188 | +#else | |
| 189 | +// For MacOS specific stuff | |
| 190 | +#define GTM_MACOS_SDK 1 | |
| 191 | +#endif | |
| 192 | + | |
| 193 | +// Some of our own availability macros | |
| 194 | +#if GTM_MACOS_SDK | |
| 195 | +#define GTM_AVAILABLE_ONLY_ON_IPHONE UNAVAILABLE_ATTRIBUTE | |
| 196 | +#define GTM_AVAILABLE_ONLY_ON_MACOS | |
| 197 | +#else | |
| 198 | +#define GTM_AVAILABLE_ONLY_ON_IPHONE | |
| 199 | +#define GTM_AVAILABLE_ONLY_ON_MACOS UNAVAILABLE_ATTRIBUTE | |
| 200 | +#endif | |
| 201 | + | |
| 202 | +// Provide a symbol to include/exclude extra code for GC support. (This mainly | |
| 203 | +// just controls the inclusion of finalize methods). | |
| 204 | +#ifndef GTM_SUPPORT_GC | |
| 205 | +#if GTM_IPHONE_SDK | |
| 206 | +// iPhone never needs GC | |
| 207 | +#define GTM_SUPPORT_GC 0 | |
| 208 | +#else | |
| 209 | +// We can't find a symbol to tell if GC is supported/required, so best we | |
| 210 | +// do on Mac targets is include it if we're on 10.5 or later. | |
| 211 | +#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5 | |
| 212 | +#define GTM_SUPPORT_GC 0 | |
| 213 | +#else | |
| 214 | +#define GTM_SUPPORT_GC 1 | |
| 215 | +#endif | |
| 216 | +#endif | |
| 217 | +#endif | |
| 218 | + | |
| 219 | +// To simplify support for 64bit (and Leopard in general), we provide the type | |
| 220 | +// defines for non Leopard SDKs | |
| 221 | +#if !(MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5) | |
| 222 | +// NSInteger/NSUInteger and Max/Mins | |
| 223 | +#ifndef NSINTEGER_DEFINED | |
| 224 | +#if __LP64__ || NS_BUILD_32_LIKE_64 | |
| 225 | +typedef long NSInteger; | |
| 226 | +typedef unsigned long NSUInteger; | |
| 227 | +#else | |
| 228 | +typedef int NSInteger; | |
| 229 | +typedef unsigned int NSUInteger; | |
| 230 | +#endif | |
| 231 | +#define NSIntegerMax LONG_MAX | |
| 232 | +#define NSIntegerMin LONG_MIN | |
| 233 | +#define NSUIntegerMax ULONG_MAX | |
| 234 | +#define NSINTEGER_DEFINED 1 | |
| 235 | +#endif // NSINTEGER_DEFINED | |
| 236 | +// CGFloat | |
| 237 | +#ifndef CGFLOAT_DEFINED | |
| 238 | +#if defined(__LP64__) && __LP64__ | |
| 239 | +// This really is an untested path (64bit on Tiger?) | |
| 240 | +typedef double CGFloat; | |
| 241 | +#define CGFLOAT_MIN DBL_MIN | |
| 242 | +#define CGFLOAT_MAX DBL_MAX | |
| 243 | +#define CGFLOAT_IS_DOUBLE 1 | |
| 244 | +#else /* !defined(__LP64__) || !__LP64__ */ | |
| 245 | +typedef float CGFloat; | |
| 246 | +#define CGFLOAT_MIN FLT_MIN | |
| 247 | +#define CGFLOAT_MAX FLT_MAX | |
| 248 | +#define CGFLOAT_IS_DOUBLE 0 | |
| 249 | +#endif /* !defined(__LP64__) || !__LP64__ */ | |
| 250 | +#define CGFLOAT_DEFINED 1 | |
| 251 | +#endif // CGFLOAT_DEFINED | |
| 252 | +#endif // MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5 | ... | ... |
CNLiveBaseKit.framework/Headers/NSString+CNLiveExtension.h
0 → 100644
| 1 | +// | |
| 2 | +// NSString+CNLiveExtension.h | |
| 3 | +// CNLiveCommonCategory | |
| 4 | +// | |
| 5 | +// Created by 张旭 on 2018/9/26. | |
| 6 | +// Copyright © 2018年 cnlive. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <Foundation/Foundation.h> | |
| 10 | + | |
| 11 | +@interface NSString (CNLiveExtension) | |
| 12 | + | |
| 13 | +- (BOOL)isEmptyString; | |
| 14 | + | |
| 15 | +@end | ... | ... |
CNLiveBaseKit.framework/Headers/NSString+Common.h
0 → 100644
| 1 | +// | |
| 2 | +// NSString+Common.h | |
| 3 | +// | |
| 4 | +// Created by Alexi on 12-11-5. | |
| 5 | +// Copyright (c) 2012年 . All rights reserved. | |
| 6 | +// | |
| 7 | + | |
| 8 | +#import <Foundation/Foundation.h> | |
| 9 | +#import <UIKit/UIKit.h> | |
| 10 | + | |
| 11 | +char pinyinFirstLetter(unsigned short hanzi); | |
| 12 | + | |
| 13 | +@interface NSString (Common) | |
| 14 | + | |
| 15 | +// 将str加密成本地保存的文件名 | |
| 16 | ++ (NSString *)md5String:(NSString *)str; | |
| 17 | +- (NSString *)md5; | |
| 18 | + | |
| 19 | +-(NSString*)firstPinYin; | |
| 20 | + | |
| 21 | +//是否为空 | |
| 22 | ++ (BOOL)isEmpty:(NSString *)string; | |
| 23 | + | |
| 24 | +/** | |
| 25 | + compare two version | |
| 26 | + @param sourVersion *.*.*.* | |
| 27 | + @param desVersion *.*.*.* | |
| 28 | + @returns No,sourVersion is less than desVersion; YES, the statue is opposed | |
| 29 | + */ | |
| 30 | ++(BOOL)compareVerison:(NSString *)sourVersion withDes:(NSString *)desVersion; | |
| 31 | + | |
| 32 | +//当前字符串是否只包含空白字符和换行符 | |
| 33 | +- (BOOL)isWhitespaceAndNewlines; | |
| 34 | + | |
| 35 | +//去除字符串前后的空白,不包含换行符 | |
| 36 | +- (NSString *)trim; | |
| 37 | + | |
| 38 | +//去除字符串中所有空白 | |
| 39 | +- (NSString *)removeWhiteSpace; | |
| 40 | +- (NSString *)removeNewLine; | |
| 41 | + | |
| 42 | +//将字符串以URL格式编码 | |
| 43 | +- (NSString *)stringByUrlEncoding; | |
| 44 | + | |
| 45 | +/*! | |
| 46 | + @brief 大写第一个字符 | |
| 47 | + @return 格式化后的字符串 | |
| 48 | + */ | |
| 49 | +- (NSString *)capitalize; | |
| 50 | + | |
| 51 | +//以给定字符串开始,忽略大小写 | |
| 52 | +- (BOOL)startsWith:(NSString *)str; | |
| 53 | +//以指定条件判断字符串是否以给定字符串开始 | |
| 54 | +- (BOOL)startsWith:(NSString *)str Options:(NSStringCompareOptions)compareOptions; | |
| 55 | + | |
| 56 | + | |
| 57 | +//以给定字符串结束,忽略大小写 | |
| 58 | +- (BOOL)endsWith:(NSString *)str; | |
| 59 | +//以指定条件判断字符串是否以给定字符串结尾 | |
| 60 | +- (BOOL)endsWith:(NSString *)str Options:(NSStringCompareOptions)compareOptions; | |
| 61 | + | |
| 62 | +//包含给定的字符串, 忽略大小写 | |
| 63 | +- (BOOL)containsString:(NSString *)str; | |
| 64 | +//以指定条件判断是否包含给定的字符串 | |
| 65 | +- (BOOL)containsString:(NSString *)str Options:(NSStringCompareOptions)compareOptions; | |
| 66 | + | |
| 67 | +//判断字符串是否相同,忽略大小写 | |
| 68 | +- (BOOL)equalsString:(NSString *)str; | |
| 69 | + | |
| 70 | + | |
| 71 | +- (NSString *)emjoiText; | |
| 72 | + | |
| 73 | + | |
| 74 | +#pragma mark Hashing | |
| 75 | +- (NSString *)base64Encoding; | |
| 76 | + | |
| 77 | +- (NSString *)valueOfLabel:(NSString *)label; | |
| 78 | + | |
| 79 | +- (NSString *)substringAtRange:(NSRange)rang; | |
| 80 | + | |
| 81 | + | |
| 82 | +// 是否带有表情府 | |
| 83 | + | |
| 84 | +- (NSUInteger)utf8Length; | |
| 85 | + | |
| 86 | +- (BOOL)isContainsEmoji; | |
| 87 | + | |
| 88 | +//递归计算符合规定的文本长度 | |
| 89 | +- (NSString *)cutBeyondTextInLength:(NSInteger)maxLenth; | |
| 90 | + | |
| 91 | +- (CGSize)textSizeIn:(CGSize)size font:(UIFont *)font; | |
| 92 | +- (CGSize)textSizeIn:(CGSize)size font:(UIFont *)font breakMode:(NSLineBreakMode)breakMode; | |
| 93 | +- (CGSize)textSizeIn:(CGSize)size font:(UIFont *)font breakMode:(NSLineBreakMode)breakMode align:(NSTextAlignment)alignment; | |
| 94 | + | |
| 95 | + | |
| 96 | ++ (BOOL)isMobileNumber:(NSString *)mobileNum; | |
| 97 | +//正则 手机号码 | |
| 98 | ++ (BOOL)validateCellPhoneNumber:(NSString *)cellNum; | |
| 99 | +//是不是 url | |
| 100 | +- (BOOL)isValidUrl; | |
| 101 | +// 去除Emoji表情 | |
| 102 | ++ (BOOL)stringContainsEmoji:(NSString *)string; | |
| 103 | ++ (NSString *)disable_emoji:(NSString *)text; | |
| 104 | + | |
| 105 | +@end | ... | ... |
CNLiveBaseKit.framework/Headers/PathHeaders.h
0 → 100644
CNLiveBaseKit.framework/Headers/PathUtility.h
0 → 100644
| 1 | +// | |
| 2 | +// PathUtility.h | |
| 3 | +// | |
| 4 | +// | |
| 5 | +// Created by Alexi on 12-11-4. | |
| 6 | +// Copyright (c) 2012年 . All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <Foundation/Foundation.h> | |
| 10 | + | |
| 11 | +@interface PathUtility : NSObject | |
| 12 | + | |
| 13 | +// 获取文件的文档目录路径 | |
| 14 | ++ (NSString *)getFileDocumentPath:(NSString *)fileName; | |
| 15 | + | |
| 16 | +// 获取文件在cache目录的路径 | |
| 17 | ++ (NSString *)getFileCachePath:(NSString *)fileName; | |
| 18 | + | |
| 19 | +// 获取资源文件的路径 | |
| 20 | ++ (NSString *)getFileResourcePath:(NSString *)fileName; | |
| 21 | + | |
| 22 | +// 将资源文件拷贝到文档目录下 | |
| 23 | ++ (BOOL)copyResourceFileToDocumentPath:(NSString *)resourceName; | |
| 24 | + | |
| 25 | +// 判断一个文件是否存在于document目录下 | |
| 26 | ++ (BOOL)isExistFileInDocument:(NSString *)fileName; | |
| 27 | +// 判断一个文件是否存在于cache目录下 | |
| 28 | ++ (BOOL)isExistFileInCache:(NSString *)fileName; | |
| 29 | + | |
| 30 | ++ (BOOL)removeFolderInDocumet:(NSString *)aFolderNameInDoc; | |
| 31 | + | |
| 32 | +//删除cache目录下的一个文件夹 | |
| 33 | ++ (BOOL)removeFolderInCahe:(NSString *)aFolderNameInCahe; | |
| 34 | + | |
| 35 | +//+ (BOOL)removeComicBookFolder:(NSInteger)bookId; | |
| 36 | + | |
| 37 | +// 判断一个文件是否存在于resource目录下 | |
| 38 | ++ (BOOL)isExistFileInResource:(NSString *)fileName; | |
| 39 | + | |
| 40 | +// 判断一个全路径文件是否存在 | |
| 41 | ++ (BOOL)isExistFile:(NSString *)aFilePath; | |
| 42 | + | |
| 43 | +// 删除文件 | |
| 44 | ++ (BOOL)deleteFileAtPath:(NSString *)filePath; | |
| 45 | + | |
| 46 | +// 获取文件的属性集合 | |
| 47 | ++ (NSDictionary *)getFileAttributsAtPath:(NSString *)filePath; | |
| 48 | + | |
| 49 | +// 在document目录下创建一个目录 | |
| 50 | ++ (BOOL)createDirectoryAtDocument:(NSString *)dirName; | |
| 51 | +// 在cache目录下创建一个目录 | |
| 52 | ++ (BOOL)createDirectoryAtCache:(NSString *)dirName; | |
| 53 | + | |
| 54 | ++ (BOOL)createDirectoryAtTemporary:(NSString *)dirName; | |
| 55 | + | |
| 56 | +// 获取文档目录路径 | |
| 57 | ++ (NSString *)getDocumentPath; | |
| 58 | +// 获取cache目录路径 | |
| 59 | ++ (NSString *)getCachePath; | |
| 60 | + | |
| 61 | ++ (NSString *)getTemporaryPath; | |
| 62 | + | |
| 63 | +// 获取磁盘剩余空间的大小 | |
| 64 | ++ (long long)getFreeSpaceOfDisk; | |
| 65 | + | |
| 66 | +// 获取文件大小 | |
| 67 | ++ (long long)getFileSize:(NSString *)filePath; | |
| 68 | + | |
| 69 | ++ (BOOL)copySourceFile:(NSString *)sourceFile toDesPath:(NSString *)desPath; | |
| 70 | + | |
| 71 | ++ (BOOL)moveSourceFile:(NSString *)sourceFile toDesPath:(NSString *)desPath; | |
| 72 | + | |
| 73 | ++ (NSString *)reCorrentPathWithPath:(NSString *)path; | |
| 74 | + | |
| 75 | +// 计算文件夹大小 | |
| 76 | ++ (unsigned long long int)folderSize:(NSString *)folderPath; | |
| 77 | + | |
| 78 | +//在iOS5 .1及以上防止文件被被备份到iCloud和iTunes上 | |
| 79 | ++ (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL; | |
| 80 | + | |
| 81 | ++ (NSString *)imageCachePath; | |
| 82 | + | |
| 83 | +@end | ... | ... |
CNLiveBaseKit.framework/Headers/UIColor+MLPFlatColors.h
0 → 100755
| 1 | +/* | |
| 2 | +// UIColor+MLPFlatColors.h | |
| 3 | +// | |
| 4 | +// | |
| 5 | +// Created by Eddy Borja on 4/10/13. | |
| 6 | +// Copyright (c) 2013 Mainloop LLC. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: | |
| 10 | + | |
| 11 | + The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. | |
| 12 | + | |
| 13 | + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | |
| 14 | + */ | |
| 15 | + | |
| 16 | + | |
| 17 | +#import <UIKit/UIKit.h> | |
| 18 | +#define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 \ | |
| 19 | + green:((float)((rgbValue & 0xFF00) >> 8))/255.0 \ | |
| 20 | + blue:((float)(rgbValue & 0xFF))/255.0 \ | |
| 21 | + alpha:1.0] | |
| 22 | + | |
| 23 | +@interface UIColor (MLPFlatColors) | |
| 24 | + | |
| 25 | ++ (UIColor *)flatRedColor; | |
| 26 | ++ (UIColor *)flatDarkRedColor; | |
| 27 | + | |
| 28 | ++ (UIColor *)flatGreenColor; | |
| 29 | ++ (UIColor *)flatDarkGreenColor; | |
| 30 | + | |
| 31 | ++ (UIColor *)flatBlueColor; | |
| 32 | ++ (UIColor *)flatDarkBlueColor; | |
| 33 | + | |
| 34 | ++ (UIColor *)flatTealColor; | |
| 35 | ++ (UIColor *)flatDarkTealColor; | |
| 36 | + | |
| 37 | ++ (UIColor *)flatPurpleColor; | |
| 38 | ++ (UIColor *)flatDarkPurpleColor; | |
| 39 | + | |
| 40 | ++ (UIColor *)flatBlackColor; | |
| 41 | ++ (UIColor *)flatDarkBlackColor; | |
| 42 | + | |
| 43 | ++ (UIColor *)flatYellowColor; | |
| 44 | ++ (UIColor *)flatDarkYellowColor; | |
| 45 | + | |
| 46 | ++ (UIColor *)flatOrangeColor; | |
| 47 | ++ (UIColor *)flatDarkOrangeColor; | |
| 48 | + | |
| 49 | ++ (UIColor *)flatWhiteColor; | |
| 50 | ++ (UIColor *)flatDarkWhiteColor; | |
| 51 | + | |
| 52 | ++ (UIColor *)flatGrayColor; | |
| 53 | ++ (UIColor *)flatDarkGrayColor; | |
| 54 | + | |
| 55 | ++ (UIColor *)randomFlatColor; | |
| 56 | ++ (UIColor *)randomFlatLightColor; | |
| 57 | ++ (UIColor *)randomFlatDarkColor; | |
| 58 | + | |
| 59 | +@end | ... | ... |
CNLiveBaseKit.framework/Headers/UIFont+CNLiveExtension.h
0 → 100644
| 1 | +// | |
| 2 | +// UIFont+CNLiveExtension.h | |
| 3 | +// CNLiveCommonCategory | |
| 4 | +// | |
| 5 | +// Created by 张旭 on 2018/9/25. | |
| 6 | +// Copyright © 2018年 cnlive. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <UIKit/UIKit.h> | |
| 10 | + | |
| 11 | +#define UIFontCNMake(size) [UIFont CNFontOfSize:size] //根据APP设置的字体大小显示 | |
| 12 | + | |
| 13 | +@interface UIFont (CNLiveExtension) | |
| 14 | + | |
| 15 | +/** | |
| 16 | + * 返回APP设置字体的大小 | |
| 17 | + * | |
| 18 | + * @param fontSize 字体大小 | |
| 19 | + * | |
| 20 | + * @return 改变的字体的 UIFont 对象 | |
| 21 | + */ | |
| 22 | ++ (UIFont *)CNFontOfSize:(CGFloat)fontSize; | |
| 23 | + | |
| 24 | +/** | |
| 25 | + * 返回APP设置粗体字体的大小 | |
| 26 | + * | |
| 27 | + * @param fontSize 字体大小 | |
| 28 | + * | |
| 29 | + * @return 改变的粗体字体的 UIFont 对象 | |
| 30 | + */ | |
| 31 | ++ (UIFont *)CNBoldFontOfSize:(CGFloat)fontSize; | |
| 32 | + | |
| 33 | +@end | ... | ... |
CNLiveBaseKit.framework/Headers/UILabel+Common.h
0 → 100644
| 1 | +// | |
| 2 | +// UILabel+UILabel_Common.h | |
| 3 | +// CommonLibrary | |
| 4 | +// | |
| 5 | +// Created by AlexiChen on 14-1-18. | |
| 6 | +// Copyright (c) 2014年 CommonLibrary. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <UIKit/UIKit.h> | |
| 10 | + | |
| 11 | +@interface UILabel (Common) | |
| 12 | + | |
| 13 | + | |
| 14 | ++ (instancetype)label; | |
| 15 | + | |
| 16 | ++ (instancetype)labelWithTitle:(NSString *)title; | |
| 17 | + | |
| 18 | +// 已知区域重新调整 | |
| 19 | +- (CGSize)contentSize; | |
| 20 | + | |
| 21 | +// 不知区域,通过其设置区域 | |
| 22 | +- (CGSize)textSizeIn:(CGSize)size; | |
| 23 | + | |
| 24 | +//- (void)layoutInContent; | |
| 25 | + | |
| 26 | +@end | |
| 27 | + | |
| 28 | + | |
| 29 | +@interface InsetLabel : UILabel | |
| 30 | + | |
| 31 | +@property (nonatomic, assign) UIEdgeInsets contentInset; | |
| 32 | + | |
| 33 | +@end | ... | ... |
CNLiveBaseKit.framework/Headers/UIView+CNAlertView.h
0 → 100644
| 1 | +// | |
| 2 | +// UIView+CNAlertView.h | |
| 3 | +// CNLiveNetAdd | |
| 4 | +// | |
| 5 | +// Created by 流诗语 on 2018/3/20. | |
| 6 | +// Copyright © 2018年 cnlive. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <UIKit/UIKit.h> | |
| 10 | + | |
| 11 | +typedef void (^CNAlertBlock)(UIButton * button,NSInteger didRow); | |
| 12 | + | |
| 13 | +@interface UIView (CNAlertView) | |
| 14 | + | |
| 15 | +/** | |
| 16 | + 文字弹出框 | |
| 17 | + | |
| 18 | + @param array 文字数组 | |
| 19 | + @param color 文字颜色 | |
| 20 | + @param font 文字大小 | |
| 21 | + @param actionBlock 点击方法返回 | |
| 22 | + */ | |
| 23 | +-(void)createAlertViewTitleArray:(NSArray* )array textColor:(id )color font:(UIFont*)font actionBlock:(CNAlertBlock)actionBlock; | |
| 24 | +/** | |
| 25 | + 文字弹出框,用于自定义文字颜色 和 大小 | |
| 26 | + @param array 文字数组 | |
| 27 | + @param colorArray 文字颜色数组 | |
| 28 | + @param fontArray 文字大小数组 | |
| 29 | + @param actionBlock 点击方法返回 | |
| 30 | + */ | |
| 31 | +- (void)createAlertViewTitleArray:(NSArray* )array textColorArray:(NSArray<UIColor*>*)colorArray font:(NSArray <UIFont *>*)fontArray actionBlock:(CNAlertBlock)actionBlock; | |
| 32 | +/** | |
| 33 | + 底部弹出框视图 | |
| 34 | + | |
| 35 | + @param array 主标题arr | |
| 36 | + @param subTitleArr 子标题arr | |
| 37 | + @param color 主标题颜色 | |
| 38 | + @param subTitleColor 子标题颜色 | |
| 39 | + @param font 主标题字体 | |
| 40 | + @param subFont 子标题字体 | |
| 41 | + @param actionBlock 点击回调 | |
| 42 | + */ | |
| 43 | +- (void)createAlertViewTitleArray:(NSArray <NSString *>* )array subTitleArr:(NSArray <NSString *>*)subTitleArr textColor:(id)color subTitleColor:(id)subTitleColor font:(UIFont*)font subFont:(UIFont *)subFont actionBlock:(CNAlertBlock)actionBlock; | |
| 44 | + | |
| 45 | +- (void)createAlertViewTitleArray:(NSArray <NSString *>* )array subTitleArr:(NSArray <NSString *>*)subTitleArr textColor:(id)color subTitleColor:(id)subTitleColor firstFont:(UIFont *)firstFont font:(UIFont*)font subFont:(UIFont *)subFont cancelTitle:(NSString *)cancelTitle cancelFont:(UIFont *)cancelFont cancelTitleColor:(UIColor *)cancelTitleColor actionBlock:(CNAlertBlock)actionBlock; | |
| 46 | +@end | ... | ... |
CNLiveBaseKit.framework/Headers/UIView+Extension.h
0 → 100644
| 1 | +// | |
| 2 | +// UIView+Extension.h | |
| 3 | +// CNLive | |
| 4 | +// | |
| 5 | +// Created by 雷浩杰 on 15/9/1. | |
| 6 | +// Copyright (c) 2015年 雷浩杰. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <UIKit/UIKit.h> | |
| 10 | + | |
| 11 | +@interface UIView (Extension) | |
| 12 | + | |
| 13 | +@property (assign, nonatomic) CGFloat x; | |
| 14 | +@property (assign, nonatomic) CGFloat y; | |
| 15 | +@property (assign, nonatomic) CGFloat width; | |
| 16 | +@property (assign, nonatomic) CGFloat height; | |
| 17 | +@property (assign, nonatomic) CGSize size; | |
| 18 | +@property (assign, nonatomic) CGPoint origin; | |
| 19 | +@property (nonatomic ,assign) CGFloat left; | |
| 20 | +@property (assign, nonatomic) CGFloat right; | |
| 21 | +@property (nonatomic ,assign) CGFloat top; | |
| 22 | +@property (assign, nonatomic) CGFloat bottom; | |
| 23 | + | |
| 24 | +@property (nonatomic, assign) CGFloat centerX; | |
| 25 | +@property (nonatomic, assign) CGFloat centerY; | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | +@end | ... | ... |
CNLiveBaseKit.framework/Info.plist
0 → 100644
No preview for this file type
CNLiveBaseKit.framework/Modules/module.modulemap
0 → 100644
CNLiveBaseKit/CNLiveBaseKit.xcodeproj/project.pbxproj
0 → 100644
| 1 | +// !$*UTF8*$! | |
| 2 | +{ | |
| 3 | + archiveVersion = 1; | |
| 4 | + classes = { | |
| 5 | + }; | |
| 6 | + objectVersion = 50; | |
| 7 | + objects = { | |
| 8 | + | |
| 9 | +/* Begin PBXBuildFile section */ | |
| 10 | + D210EF5E21AD6EC4007CD8EB /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = D210EF5D21AD6EC4007CD8EB /* AppDelegate.m */; }; | |
| 11 | + D210EF6121AD6EC4007CD8EB /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D210EF6021AD6EC4007CD8EB /* ViewController.m */; }; | |
| 12 | + D210EF6421AD6EC4007CD8EB /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D210EF6221AD6EC4007CD8EB /* Main.storyboard */; }; | |
| 13 | + D210EF6621AD6EC5007CD8EB /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D210EF6521AD6EC5007CD8EB /* Assets.xcassets */; }; | |
| 14 | + D210EF6921AD6EC5007CD8EB /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D210EF6721AD6EC5007CD8EB /* LaunchScreen.storyboard */; }; | |
| 15 | + D210EF6C21AD6EC5007CD8EB /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = D210EF6B21AD6EC5007CD8EB /* main.m */; }; | |
| 16 | +/* End PBXBuildFile section */ | |
| 17 | + | |
| 18 | +/* Begin PBXCopyFilesBuildPhase section */ | |
| 19 | + D210EF7821AD719F007CD8EB /* Embed Frameworks */ = { | |
| 20 | + isa = PBXCopyFilesBuildPhase; | |
| 21 | + buildActionMask = 2147483647; | |
| 22 | + dstPath = ""; | |
| 23 | + dstSubfolderSpec = 10; | |
| 24 | + files = ( | |
| 25 | + ); | |
| 26 | + name = "Embed Frameworks"; | |
| 27 | + runOnlyForDeploymentPostprocessing = 0; | |
| 28 | + }; | |
| 29 | +/* End PBXCopyFilesBuildPhase section */ | |
| 30 | + | |
| 31 | +/* Begin PBXFileReference section */ | |
| 32 | + 1DDA2314820543FBD2C35906 /* Pods-CNLiveBaseKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CNLiveBaseKit.release.xcconfig"; path = "Pods/Target Support Files/Pods-CNLiveBaseKit/Pods-CNLiveBaseKit.release.xcconfig"; sourceTree = "<group>"; }; | |
| 33 | + 24971EF027D8685A2E111C34 /* Pods-CNLiveBaseKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CNLiveBaseKit.debug.xcconfig"; path = "Pods/Target Support Files/Pods-CNLiveBaseKit/Pods-CNLiveBaseKit.debug.xcconfig"; sourceTree = "<group>"; }; | |
| 34 | + D210EF5921AD6EC4007CD8EB /* CNLiveBaseKit.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CNLiveBaseKit.app; sourceTree = BUILT_PRODUCTS_DIR; }; | |
| 35 | + D210EF5C21AD6EC4007CD8EB /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; }; | |
| 36 | + D210EF5D21AD6EC4007CD8EB /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; }; | |
| 37 | + D210EF5F21AD6EC4007CD8EB /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; }; | |
| 38 | + D210EF6021AD6EC4007CD8EB /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; }; | |
| 39 | + D210EF6321AD6EC4007CD8EB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; }; | |
| 40 | + D210EF6521AD6EC5007CD8EB /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; | |
| 41 | + D210EF6821AD6EC5007CD8EB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; }; | |
| 42 | + D210EF6A21AD6EC5007CD8EB /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; | |
| 43 | + D210EF6B21AD6EC5007CD8EB /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; }; | |
| 44 | + E4BD304E17C800DD10D8F74D /* libPods-CNLiveBaseKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-CNLiveBaseKit.a"; sourceTree = BUILT_PRODUCTS_DIR; }; | |
| 45 | +/* End PBXFileReference section */ | |
| 46 | + | |
| 47 | +/* Begin PBXFrameworksBuildPhase section */ | |
| 48 | + D210EF5621AD6EC4007CD8EB /* Frameworks */ = { | |
| 49 | + isa = PBXFrameworksBuildPhase; | |
| 50 | + buildActionMask = 2147483647; | |
| 51 | + files = ( | |
| 52 | + ); | |
| 53 | + runOnlyForDeploymentPostprocessing = 0; | |
| 54 | + }; | |
| 55 | +/* End PBXFrameworksBuildPhase section */ | |
| 56 | + | |
| 57 | +/* Begin PBXGroup section */ | |
| 58 | + 42E4903158D91D1FDF3327B6 /* Pods */ = { | |
| 59 | + isa = PBXGroup; | |
| 60 | + children = ( | |
| 61 | + 24971EF027D8685A2E111C34 /* Pods-CNLiveBaseKit.debug.xcconfig */, | |
| 62 | + 1DDA2314820543FBD2C35906 /* Pods-CNLiveBaseKit.release.xcconfig */, | |
| 63 | + ); | |
| 64 | + name = Pods; | |
| 65 | + sourceTree = "<group>"; | |
| 66 | + }; | |
| 67 | + 68565388B5EE4B786A87B776 /* Frameworks */ = { | |
| 68 | + isa = PBXGroup; | |
| 69 | + children = ( | |
| 70 | + E4BD304E17C800DD10D8F74D /* libPods-CNLiveBaseKit.a */, | |
| 71 | + ); | |
| 72 | + name = Frameworks; | |
| 73 | + sourceTree = "<group>"; | |
| 74 | + }; | |
| 75 | + D210EF5021AD6EC4007CD8EB = { | |
| 76 | + isa = PBXGroup; | |
| 77 | + children = ( | |
| 78 | + D210EF5B21AD6EC4007CD8EB /* CNLiveBaseKit */, | |
| 79 | + D210EF5A21AD6EC4007CD8EB /* Products */, | |
| 80 | + 42E4903158D91D1FDF3327B6 /* Pods */, | |
| 81 | + 68565388B5EE4B786A87B776 /* Frameworks */, | |
| 82 | + ); | |
| 83 | + sourceTree = "<group>"; | |
| 84 | + }; | |
| 85 | + D210EF5A21AD6EC4007CD8EB /* Products */ = { | |
| 86 | + isa = PBXGroup; | |
| 87 | + children = ( | |
| 88 | + D210EF5921AD6EC4007CD8EB /* CNLiveBaseKit.app */, | |
| 89 | + ); | |
| 90 | + name = Products; | |
| 91 | + sourceTree = "<group>"; | |
| 92 | + }; | |
| 93 | + D210EF5B21AD6EC4007CD8EB /* CNLiveBaseKit */ = { | |
| 94 | + isa = PBXGroup; | |
| 95 | + children = ( | |
| 96 | + D210EF5C21AD6EC4007CD8EB /* AppDelegate.h */, | |
| 97 | + D210EF5D21AD6EC4007CD8EB /* AppDelegate.m */, | |
| 98 | + D210EF5F21AD6EC4007CD8EB /* ViewController.h */, | |
| 99 | + D210EF6021AD6EC4007CD8EB /* ViewController.m */, | |
| 100 | + D210EF6221AD6EC4007CD8EB /* Main.storyboard */, | |
| 101 | + D210EF6521AD6EC5007CD8EB /* Assets.xcassets */, | |
| 102 | + D210EF6721AD6EC5007CD8EB /* LaunchScreen.storyboard */, | |
| 103 | + D210EF6A21AD6EC5007CD8EB /* Info.plist */, | |
| 104 | + D210EF6B21AD6EC5007CD8EB /* main.m */, | |
| 105 | + ); | |
| 106 | + path = CNLiveBaseKit; | |
| 107 | + sourceTree = "<group>"; | |
| 108 | + }; | |
| 109 | +/* End PBXGroup section */ | |
| 110 | + | |
| 111 | +/* Begin PBXNativeTarget section */ | |
| 112 | + D210EF5821AD6EC4007CD8EB /* CNLiveBaseKit */ = { | |
| 113 | + isa = PBXNativeTarget; | |
| 114 | + buildConfigurationList = D210EF6F21AD6EC5007CD8EB /* Build configuration list for PBXNativeTarget "CNLiveBaseKit" */; | |
| 115 | + buildPhases = ( | |
| 116 | + DBFD6F4D859BE7CF1A9BA73F /* [CP] Check Pods Manifest.lock */, | |
| 117 | + D210EF5521AD6EC4007CD8EB /* Sources */, | |
| 118 | + D210EF5621AD6EC4007CD8EB /* Frameworks */, | |
| 119 | + D210EF5721AD6EC4007CD8EB /* Resources */, | |
| 120 | + D210EF7821AD719F007CD8EB /* Embed Frameworks */, | |
| 121 | + ); | |
| 122 | + buildRules = ( | |
| 123 | + ); | |
| 124 | + dependencies = ( | |
| 125 | + ); | |
| 126 | + name = CNLiveBaseKit; | |
| 127 | + productName = CNLiveBaseKit; | |
| 128 | + productReference = D210EF5921AD6EC4007CD8EB /* CNLiveBaseKit.app */; | |
| 129 | + productType = "com.apple.product-type.application"; | |
| 130 | + }; | |
| 131 | +/* End PBXNativeTarget section */ | |
| 132 | + | |
| 133 | +/* Begin PBXProject section */ | |
| 134 | + D210EF5121AD6EC4007CD8EB /* Project object */ = { | |
| 135 | + isa = PBXProject; | |
| 136 | + attributes = { | |
| 137 | + LastUpgradeCheck = 1010; | |
| 138 | + ORGANIZATIONNAME = cnlive; | |
| 139 | + TargetAttributes = { | |
| 140 | + D210EF5821AD6EC4007CD8EB = { | |
| 141 | + CreatedOnToolsVersion = 10.1; | |
| 142 | + }; | |
| 143 | + }; | |
| 144 | + }; | |
| 145 | + buildConfigurationList = D210EF5421AD6EC4007CD8EB /* Build configuration list for PBXProject "CNLiveBaseKit" */; | |
| 146 | + compatibilityVersion = "Xcode 9.3"; | |
| 147 | + developmentRegion = en; | |
| 148 | + hasScannedForEncodings = 0; | |
| 149 | + knownRegions = ( | |
| 150 | + en, | |
| 151 | + Base, | |
| 152 | + ); | |
| 153 | + mainGroup = D210EF5021AD6EC4007CD8EB; | |
| 154 | + productRefGroup = D210EF5A21AD6EC4007CD8EB /* Products */; | |
| 155 | + projectDirPath = ""; | |
| 156 | + projectRoot = ""; | |
| 157 | + targets = ( | |
| 158 | + D210EF5821AD6EC4007CD8EB /* CNLiveBaseKit */, | |
| 159 | + ); | |
| 160 | + }; | |
| 161 | +/* End PBXProject section */ | |
| 162 | + | |
| 163 | +/* Begin PBXResourcesBuildPhase section */ | |
| 164 | + D210EF5721AD6EC4007CD8EB /* Resources */ = { | |
| 165 | + isa = PBXResourcesBuildPhase; | |
| 166 | + buildActionMask = 2147483647; | |
| 167 | + files = ( | |
| 168 | + D210EF6921AD6EC5007CD8EB /* LaunchScreen.storyboard in Resources */, | |
| 169 | + D210EF6621AD6EC5007CD8EB /* Assets.xcassets in Resources */, | |
| 170 | + D210EF6421AD6EC4007CD8EB /* Main.storyboard in Resources */, | |
| 171 | + ); | |
| 172 | + runOnlyForDeploymentPostprocessing = 0; | |
| 173 | + }; | |
| 174 | +/* End PBXResourcesBuildPhase section */ | |
| 175 | + | |
| 176 | +/* Begin PBXShellScriptBuildPhase section */ | |
| 177 | + DBFD6F4D859BE7CF1A9BA73F /* [CP] Check Pods Manifest.lock */ = { | |
| 178 | + isa = PBXShellScriptBuildPhase; | |
| 179 | + buildActionMask = 2147483647; | |
| 180 | + files = ( | |
| 181 | + ); | |
| 182 | + inputPaths = ( | |
| 183 | + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", | |
| 184 | + "${PODS_ROOT}/Manifest.lock", | |
| 185 | + ); | |
| 186 | + name = "[CP] Check Pods Manifest.lock"; | |
| 187 | + outputPaths = ( | |
| 188 | + "$(DERIVED_FILE_DIR)/Pods-CNLiveBaseKit-checkManifestLockResult.txt", | |
| 189 | + ); | |
| 190 | + runOnlyForDeploymentPostprocessing = 0; | |
| 191 | + shellPath = /bin/sh; | |
| 192 | + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; | |
| 193 | + showEnvVarsInLog = 0; | |
| 194 | + }; | |
| 195 | +/* End PBXShellScriptBuildPhase section */ | |
| 196 | + | |
| 197 | +/* Begin PBXSourcesBuildPhase section */ | |
| 198 | + D210EF5521AD6EC4007CD8EB /* Sources */ = { | |
| 199 | + isa = PBXSourcesBuildPhase; | |
| 200 | + buildActionMask = 2147483647; | |
| 201 | + files = ( | |
| 202 | + D210EF6121AD6EC4007CD8EB /* ViewController.m in Sources */, | |
| 203 | + D210EF6C21AD6EC5007CD8EB /* main.m in Sources */, | |
| 204 | + D210EF5E21AD6EC4007CD8EB /* AppDelegate.m in Sources */, | |
| 205 | + ); | |
| 206 | + runOnlyForDeploymentPostprocessing = 0; | |
| 207 | + }; | |
| 208 | +/* End PBXSourcesBuildPhase section */ | |
| 209 | + | |
| 210 | +/* Begin PBXVariantGroup section */ | |
| 211 | + D210EF6221AD6EC4007CD8EB /* Main.storyboard */ = { | |
| 212 | + isa = PBXVariantGroup; | |
| 213 | + children = ( | |
| 214 | + D210EF6321AD6EC4007CD8EB /* Base */, | |
| 215 | + ); | |
| 216 | + name = Main.storyboard; | |
| 217 | + sourceTree = "<group>"; | |
| 218 | + }; | |
| 219 | + D210EF6721AD6EC5007CD8EB /* LaunchScreen.storyboard */ = { | |
| 220 | + isa = PBXVariantGroup; | |
| 221 | + children = ( | |
| 222 | + D210EF6821AD6EC5007CD8EB /* Base */, | |
| 223 | + ); | |
| 224 | + name = LaunchScreen.storyboard; | |
| 225 | + sourceTree = "<group>"; | |
| 226 | + }; | |
| 227 | +/* End PBXVariantGroup section */ | |
| 228 | + | |
| 229 | +/* Begin XCBuildConfiguration section */ | |
| 230 | + D210EF6D21AD6EC5007CD8EB /* Debug */ = { | |
| 231 | + isa = XCBuildConfiguration; | |
| 232 | + buildSettings = { | |
| 233 | + ALWAYS_SEARCH_USER_PATHS = NO; | |
| 234 | + CLANG_ANALYZER_NONNULL = YES; | |
| 235 | + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; | |
| 236 | + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; | |
| 237 | + CLANG_CXX_LIBRARY = "libc++"; | |
| 238 | + CLANG_ENABLE_MODULES = YES; | |
| 239 | + CLANG_ENABLE_OBJC_ARC = YES; | |
| 240 | + CLANG_ENABLE_OBJC_WEAK = YES; | |
| 241 | + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; | |
| 242 | + CLANG_WARN_BOOL_CONVERSION = YES; | |
| 243 | + CLANG_WARN_COMMA = YES; | |
| 244 | + CLANG_WARN_CONSTANT_CONVERSION = YES; | |
| 245 | + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; | |
| 246 | + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; | |
| 247 | + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; | |
| 248 | + CLANG_WARN_EMPTY_BODY = YES; | |
| 249 | + CLANG_WARN_ENUM_CONVERSION = YES; | |
| 250 | + CLANG_WARN_INFINITE_RECURSION = YES; | |
| 251 | + CLANG_WARN_INT_CONVERSION = YES; | |
| 252 | + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; | |
| 253 | + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; | |
| 254 | + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; | |
| 255 | + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; | |
| 256 | + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; | |
| 257 | + CLANG_WARN_STRICT_PROTOTYPES = YES; | |
| 258 | + CLANG_WARN_SUSPICIOUS_MOVE = YES; | |
| 259 | + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; | |
| 260 | + CLANG_WARN_UNREACHABLE_CODE = YES; | |
| 261 | + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; | |
| 262 | + CODE_SIGN_IDENTITY = "iPhone Developer"; | |
| 263 | + COPY_PHASE_STRIP = NO; | |
| 264 | + DEBUG_INFORMATION_FORMAT = dwarf; | |
| 265 | + ENABLE_STRICT_OBJC_MSGSEND = YES; | |
| 266 | + ENABLE_TESTABILITY = YES; | |
| 267 | + GCC_C_LANGUAGE_STANDARD = gnu11; | |
| 268 | + GCC_DYNAMIC_NO_PIC = NO; | |
| 269 | + GCC_NO_COMMON_BLOCKS = YES; | |
| 270 | + GCC_OPTIMIZATION_LEVEL = 0; | |
| 271 | + GCC_PREPROCESSOR_DEFINITIONS = ( | |
| 272 | + "DEBUG=1", | |
| 273 | + "$(inherited)", | |
| 274 | + ); | |
| 275 | + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; | |
| 276 | + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; | |
| 277 | + GCC_WARN_UNDECLARED_SELECTOR = YES; | |
| 278 | + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; | |
| 279 | + GCC_WARN_UNUSED_FUNCTION = YES; | |
| 280 | + GCC_WARN_UNUSED_VARIABLE = YES; | |
| 281 | + IPHONEOS_DEPLOYMENT_TARGET = 12.1; | |
| 282 | + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; | |
| 283 | + MTL_FAST_MATH = YES; | |
| 284 | + ONLY_ACTIVE_ARCH = YES; | |
| 285 | + SDKROOT = iphoneos; | |
| 286 | + }; | |
| 287 | + name = Debug; | |
| 288 | + }; | |
| 289 | + D210EF6E21AD6EC5007CD8EB /* Release */ = { | |
| 290 | + isa = XCBuildConfiguration; | |
| 291 | + buildSettings = { | |
| 292 | + ALWAYS_SEARCH_USER_PATHS = NO; | |
| 293 | + CLANG_ANALYZER_NONNULL = YES; | |
| 294 | + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; | |
| 295 | + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; | |
| 296 | + CLANG_CXX_LIBRARY = "libc++"; | |
| 297 | + CLANG_ENABLE_MODULES = YES; | |
| 298 | + CLANG_ENABLE_OBJC_ARC = YES; | |
| 299 | + CLANG_ENABLE_OBJC_WEAK = YES; | |
| 300 | + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; | |
| 301 | + CLANG_WARN_BOOL_CONVERSION = YES; | |
| 302 | + CLANG_WARN_COMMA = YES; | |
| 303 | + CLANG_WARN_CONSTANT_CONVERSION = YES; | |
| 304 | + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; | |
| 305 | + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; | |
| 306 | + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; | |
| 307 | + CLANG_WARN_EMPTY_BODY = YES; | |
| 308 | + CLANG_WARN_ENUM_CONVERSION = YES; | |
| 309 | + CLANG_WARN_INFINITE_RECURSION = YES; | |
| 310 | + CLANG_WARN_INT_CONVERSION = YES; | |
| 311 | + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; | |
| 312 | + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; | |
| 313 | + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; | |
| 314 | + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; | |
| 315 | + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; | |
| 316 | + CLANG_WARN_STRICT_PROTOTYPES = YES; | |
| 317 | + CLANG_WARN_SUSPICIOUS_MOVE = YES; | |
| 318 | + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; | |
| 319 | + CLANG_WARN_UNREACHABLE_CODE = YES; | |
| 320 | + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; | |
| 321 | + CODE_SIGN_IDENTITY = "iPhone Developer"; | |
| 322 | + COPY_PHASE_STRIP = NO; | |
| 323 | + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; | |
| 324 | + ENABLE_NS_ASSERTIONS = NO; | |
| 325 | + ENABLE_STRICT_OBJC_MSGSEND = YES; | |
| 326 | + GCC_C_LANGUAGE_STANDARD = gnu11; | |
| 327 | + GCC_NO_COMMON_BLOCKS = YES; | |
| 328 | + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; | |
| 329 | + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; | |
| 330 | + GCC_WARN_UNDECLARED_SELECTOR = YES; | |
| 331 | + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; | |
| 332 | + GCC_WARN_UNUSED_FUNCTION = YES; | |
| 333 | + GCC_WARN_UNUSED_VARIABLE = YES; | |
| 334 | + IPHONEOS_DEPLOYMENT_TARGET = 12.1; | |
| 335 | + MTL_ENABLE_DEBUG_INFO = NO; | |
| 336 | + MTL_FAST_MATH = YES; | |
| 337 | + SDKROOT = iphoneos; | |
| 338 | + VALIDATE_PRODUCT = YES; | |
| 339 | + }; | |
| 340 | + name = Release; | |
| 341 | + }; | |
| 342 | + D210EF7021AD6EC5007CD8EB /* Debug */ = { | |
| 343 | + isa = XCBuildConfiguration; | |
| 344 | + baseConfigurationReference = 24971EF027D8685A2E111C34 /* Pods-CNLiveBaseKit.debug.xcconfig */; | |
| 345 | + buildSettings = { | |
| 346 | + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; | |
| 347 | + CODE_SIGN_STYLE = Automatic; | |
| 348 | + DEVELOPMENT_TEAM = 94X49GG3ZW; | |
| 349 | + FRAMEWORK_SEARCH_PATHS = ( | |
| 350 | + "$(inherited)", | |
| 351 | + "$(PROJECT_DIR)/CNLiveBaseKit", | |
| 352 | + ); | |
| 353 | + INFOPLIST_FILE = CNLiveBaseKit/Info.plist; | |
| 354 | + IPHONEOS_DEPLOYMENT_TARGET = 9.0; | |
| 355 | + LD_RUNPATH_SEARCH_PATHS = ( | |
| 356 | + "$(inherited)", | |
| 357 | + "@executable_path/Frameworks", | |
| 358 | + ); | |
| 359 | + PRODUCT_BUNDLE_IDENTIFIER = com.cnlive.zhangxu.CNLiveBaseKit; | |
| 360 | + PRODUCT_NAME = "$(TARGET_NAME)"; | |
| 361 | + TARGETED_DEVICE_FAMILY = "1,2"; | |
| 362 | + }; | |
| 363 | + name = Debug; | |
| 364 | + }; | |
| 365 | + D210EF7121AD6EC5007CD8EB /* Release */ = { | |
| 366 | + isa = XCBuildConfiguration; | |
| 367 | + baseConfigurationReference = 1DDA2314820543FBD2C35906 /* Pods-CNLiveBaseKit.release.xcconfig */; | |
| 368 | + buildSettings = { | |
| 369 | + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; | |
| 370 | + CODE_SIGN_STYLE = Automatic; | |
| 371 | + DEVELOPMENT_TEAM = 94X49GG3ZW; | |
| 372 | + FRAMEWORK_SEARCH_PATHS = ( | |
| 373 | + "$(inherited)", | |
| 374 | + "$(PROJECT_DIR)/CNLiveBaseKit", | |
| 375 | + ); | |
| 376 | + INFOPLIST_FILE = CNLiveBaseKit/Info.plist; | |
| 377 | + IPHONEOS_DEPLOYMENT_TARGET = 9.0; | |
| 378 | + LD_RUNPATH_SEARCH_PATHS = ( | |
| 379 | + "$(inherited)", | |
| 380 | + "@executable_path/Frameworks", | |
| 381 | + ); | |
| 382 | + PRODUCT_BUNDLE_IDENTIFIER = com.cnlive.zhangxu.CNLiveBaseKit; | |
| 383 | + PRODUCT_NAME = "$(TARGET_NAME)"; | |
| 384 | + TARGETED_DEVICE_FAMILY = "1,2"; | |
| 385 | + }; | |
| 386 | + name = Release; | |
| 387 | + }; | |
| 388 | +/* End XCBuildConfiguration section */ | |
| 389 | + | |
| 390 | +/* Begin XCConfigurationList section */ | |
| 391 | + D210EF5421AD6EC4007CD8EB /* Build configuration list for PBXProject "CNLiveBaseKit" */ = { | |
| 392 | + isa = XCConfigurationList; | |
| 393 | + buildConfigurations = ( | |
| 394 | + D210EF6D21AD6EC5007CD8EB /* Debug */, | |
| 395 | + D210EF6E21AD6EC5007CD8EB /* Release */, | |
| 396 | + ); | |
| 397 | + defaultConfigurationIsVisible = 0; | |
| 398 | + defaultConfigurationName = Release; | |
| 399 | + }; | |
| 400 | + D210EF6F21AD6EC5007CD8EB /* Build configuration list for PBXNativeTarget "CNLiveBaseKit" */ = { | |
| 401 | + isa = XCConfigurationList; | |
| 402 | + buildConfigurations = ( | |
| 403 | + D210EF7021AD6EC5007CD8EB /* Debug */, | |
| 404 | + D210EF7121AD6EC5007CD8EB /* Release */, | |
| 405 | + ); | |
| 406 | + defaultConfigurationIsVisible = 0; | |
| 407 | + defaultConfigurationName = Release; | |
| 408 | + }; | |
| 409 | +/* End XCConfigurationList section */ | |
| 410 | + }; | |
| 411 | + rootObject = D210EF5121AD6EC4007CD8EB /* Project object */; | |
| 412 | +} | ... | ... |
CNLiveBaseKit/CNLiveBaseKit/AppDelegate.h
0 → 100644
| 1 | +// | |
| 2 | +// AppDelegate.h | |
| 3 | +// CNLiveBaseKit | |
| 4 | +// | |
| 5 | +// Created by 张旭 on 2018/11/27. | |
| 6 | +// Copyright © 2018 cnlive. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <UIKit/UIKit.h> | |
| 10 | + | |
| 11 | +@interface AppDelegate : UIResponder <UIApplicationDelegate> | |
| 12 | + | |
| 13 | +@property (strong, nonatomic) UIWindow *window; | |
| 14 | + | |
| 15 | + | |
| 16 | +@end | |
| 17 | + | ... | ... |
CNLiveBaseKit/CNLiveBaseKit/AppDelegate.m
0 → 100644
| 1 | +// | |
| 2 | +// AppDelegate.m | |
| 3 | +// CNLiveBaseKit | |
| 4 | +// | |
| 5 | +// Created by 张旭 on 2018/11/27. | |
| 6 | +// Copyright © 2018 cnlive. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "AppDelegate.h" | |
| 10 | +//#import <CNLiveBaseKit/CNLiveBaseKit.h> | |
| 11 | +@interface AppDelegate () | |
| 12 | + | |
| 13 | +@end | |
| 14 | + | |
| 15 | +@implementation AppDelegate | |
| 16 | + | |
| 17 | + | |
| 18 | +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { | |
| 19 | + // Override point for customization after application launch. | |
| 20 | + return YES; | |
| 21 | +} | |
| 22 | + | |
| 23 | + | |
| 24 | +- (void)applicationWillResignActive:(UIApplication *)application { | |
| 25 | + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. | |
| 26 | + // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. | |
| 27 | +} | |
| 28 | + | |
| 29 | + | |
| 30 | +- (void)applicationDidEnterBackground:(UIApplication *)application { | |
| 31 | + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. | |
| 32 | + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. | |
| 33 | +} | |
| 34 | + | |
| 35 | + | |
| 36 | +- (void)applicationWillEnterForeground:(UIApplication *)application { | |
| 37 | + // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. | |
| 38 | +} | |
| 39 | + | |
| 40 | + | |
| 41 | +- (void)applicationDidBecomeActive:(UIApplication *)application { | |
| 42 | + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. | |
| 43 | +} | |
| 44 | + | |
| 45 | + | |
| 46 | +- (void)applicationWillTerminate:(UIApplication *)application { | |
| 47 | + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. | |
| 48 | +} | |
| 49 | + | |
| 50 | + | |
| 51 | +@end | ... | ... |
CNLiveBaseKit/CNLiveBaseKit/Assets.xcassets/AppIcon.appiconset/Contents.json
0 → 100644
| 1 | +{ | |
| 2 | + "images" : [ | |
| 3 | + { | |
| 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", | |
| 15 | + "size" : "29x29", | |
| 16 | + "scale" : "2x" | |
| 17 | + }, | |
| 18 | + { | |
| 19 | + "idiom" : "iphone", | |
| 20 | + "size" : "29x29", | |
| 21 | + "scale" : "3x" | |
| 22 | + }, | |
| 23 | + { | |
| 24 | + "idiom" : "iphone", | |
| 25 | + "size" : "40x40", | |
| 26 | + "scale" : "2x" | |
| 27 | + }, | |
| 28 | + { | |
| 29 | + "idiom" : "iphone", | |
| 30 | + "size" : "40x40", | |
| 31 | + "scale" : "3x" | |
| 32 | + }, | |
| 33 | + { | |
| 34 | + "idiom" : "iphone", | |
| 35 | + "size" : "60x60", | |
| 36 | + "scale" : "2x" | |
| 37 | + }, | |
| 38 | + { | |
| 39 | + "idiom" : "iphone", | |
| 40 | + "size" : "60x60", | |
| 41 | + "scale" : "3x" | |
| 42 | + }, | |
| 43 | + { | |
| 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", | |
| 55 | + "size" : "29x29", | |
| 56 | + "scale" : "1x" | |
| 57 | + }, | |
| 58 | + { | |
| 59 | + "idiom" : "ipad", | |
| 60 | + "size" : "29x29", | |
| 61 | + "scale" : "2x" | |
| 62 | + }, | |
| 63 | + { | |
| 64 | + "idiom" : "ipad", | |
| 65 | + "size" : "40x40", | |
| 66 | + "scale" : "1x" | |
| 67 | + }, | |
| 68 | + { | |
| 69 | + "idiom" : "ipad", | |
| 70 | + "size" : "40x40", | |
| 71 | + "scale" : "2x" | |
| 72 | + }, | |
| 73 | + { | |
| 74 | + "idiom" : "ipad", | |
| 75 | + "size" : "76x76", | |
| 76 | + "scale" : "1x" | |
| 77 | + }, | |
| 78 | + { | |
| 79 | + "idiom" : "ipad", | |
| 80 | + "size" : "76x76", | |
| 81 | + "scale" : "2x" | |
| 82 | + }, | |
| 83 | + { | |
| 84 | + "idiom" : "ipad", | |
| 85 | + "size" : "83.5x83.5", | |
| 86 | + "scale" : "2x" | |
| 87 | + }, | |
| 88 | + { | |
| 89 | + "idiom" : "ios-marketing", | |
| 90 | + "size" : "1024x1024", | |
| 91 | + "scale" : "1x" | |
| 92 | + } | |
| 93 | + ], | |
| 94 | + "info" : { | |
| 95 | + "version" : 1, | |
| 96 | + "author" : "xcode" | |
| 97 | + } | |
| 98 | +} | |
| 0 | 99 | \ No newline at end of file | ... | ... |
CNLiveBaseKit/CNLiveBaseKit/Assets.xcassets/Contents.json
0 → 100644
CNLiveBaseKit/CNLiveBaseKit/Base.lproj/LaunchScreen.storyboard
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |
| 2 | +<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM"> | |
| 3 | + <dependencies> | |
| 4 | + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/> | |
| 5 | + <capability name="Safe area layout guides" minToolsVersion="9.0"/> | |
| 6 | + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> | |
| 7 | + </dependencies> | |
| 8 | + <scenes> | |
| 9 | + <!--View Controller--> | |
| 10 | + <scene sceneID="EHf-IW-A2E"> | |
| 11 | + <objects> | |
| 12 | + <viewController id="01J-lp-oVM" sceneMemberID="viewController"> | |
| 13 | + <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3"> | |
| 14 | + <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> | |
| 15 | + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | |
| 16 | + <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | |
| 17 | + <viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/> | |
| 18 | + </view> | |
| 19 | + </viewController> | |
| 20 | + <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/> | |
| 21 | + </objects> | |
| 22 | + <point key="canvasLocation" x="53" y="375"/> | |
| 23 | + </scene> | |
| 24 | + </scenes> | |
| 25 | +</document> | ... | ... |
CNLiveBaseKit/CNLiveBaseKit/Base.lproj/Main.storyboard
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="BYZ-38-t0r"> | |
| 3 | + <dependencies> | |
| 4 | + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/> | |
| 5 | + <capability name="Safe area layout guides" minToolsVersion="9.0"/> | |
| 6 | + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> | |
| 7 | + </dependencies> | |
| 8 | + <scenes> | |
| 9 | + <!--View Controller--> | |
| 10 | + <scene sceneID="tne-QT-ifu"> | |
| 11 | + <objects> | |
| 12 | + <viewController id="BYZ-38-t0r" customClass="ViewController" customModuleProvider="" sceneMemberID="viewController"> | |
| 13 | + <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC"> | |
| 14 | + <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> | |
| 15 | + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | |
| 16 | + <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | |
| 17 | + <viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/> | |
| 18 | + </view> | |
| 19 | + </viewController> | |
| 20 | + <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/> | |
| 21 | + </objects> | |
| 22 | + </scene> | |
| 23 | + </scenes> | |
| 24 | +</document> | ... | ... |
CNLiveBaseKit/CNLiveBaseKit/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>$(DEVELOPMENT_LANGUAGE)</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>APPL</string> | |
| 17 | + <key>CFBundleShortVersionString</key> | |
| 18 | + <string>1.0</string> | |
| 19 | + <key>CFBundleVersion</key> | |
| 20 | + <string>1</string> | |
| 21 | + <key>LSRequiresIPhoneOS</key> | |
| 22 | + <true/> | |
| 23 | + <key>UILaunchStoryboardName</key> | |
| 24 | + <string>LaunchScreen</string> | |
| 25 | + <key>UIMainStoryboardFile</key> | |
| 26 | + <string>Main</string> | |
| 27 | + <key>UIRequiredDeviceCapabilities</key> | |
| 28 | + <array> | |
| 29 | + <string>armv7</string> | |
| 30 | + </array> | |
| 31 | + <key>UISupportedInterfaceOrientations</key> | |
| 32 | + <array> | |
| 33 | + <string>UIInterfaceOrientationPortrait</string> | |
| 34 | + <string>UIInterfaceOrientationLandscapeLeft</string> | |
| 35 | + <string>UIInterfaceOrientationLandscapeRight</string> | |
| 36 | + </array> | |
| 37 | + <key>UISupportedInterfaceOrientations~ipad</key> | |
| 38 | + <array> | |
| 39 | + <string>UIInterfaceOrientationPortrait</string> | |
| 40 | + <string>UIInterfaceOrientationPortraitUpsideDown</string> | |
| 41 | + <string>UIInterfaceOrientationLandscapeLeft</string> | |
| 42 | + <string>UIInterfaceOrientationLandscapeRight</string> | |
| 43 | + </array> | |
| 44 | +</dict> | |
| 45 | +</plist> | ... | ... |
CNLiveBaseKit/CNLiveBaseKit/ViewController.h
0 → 100644
CNLiveBaseKit/CNLiveBaseKit/ViewController.m
0 → 100644
| 1 | +// | |
| 2 | +// ViewController.m | |
| 3 | +// CNLiveBaseKit | |
| 4 | +// | |
| 5 | +// Created by 张旭 on 2018/11/27. | |
| 6 | +// Copyright © 2018 cnlive. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "ViewController.h" | |
| 10 | + | |
| 11 | +@interface ViewController () | |
| 12 | + | |
| 13 | +@end | |
| 14 | + | |
| 15 | +@implementation ViewController | |
| 16 | + | |
| 17 | +- (void)viewDidLoad { | |
| 18 | + [super viewDidLoad]; | |
| 19 | + // Do any additional setup after loading the view, typically from a nib. | |
| 20 | +} | |
| 21 | + | |
| 22 | + | |
| 23 | +@end | ... | ... |
CNLiveBaseKit/CNLiveBaseKit/main.m
0 → 100644
| 1 | +// | |
| 2 | +// main.m | |
| 3 | +// CNLiveBaseKit | |
| 4 | +// | |
| 5 | +// Created by 张旭 on 2018/11/27. | |
| 6 | +// Copyright © 2018 cnlive. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <UIKit/UIKit.h> | |
| 10 | +#import "AppDelegate.h" | |
| 11 | + | |
| 12 | +int main(int argc, char * argv[]) { | |
| 13 | + @autoreleasepool { | |
| 14 | + return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); | |
| 15 | + } | |
| 16 | +} | ... | ... |
CNLiveBaseKit/Podfile
0 → 100644
CNLiveBaseKitSDK.podspec
0 → 100644
| 1 | +Pod::Spec.new do |s| | |
| 2 | + | |
| 3 | + s.name = "CNLiveBaseKitSDK" | |
| 4 | + s.version = "0.0.1" | |
| 5 | + s.summary = "CNLive-iOS的通用基类SDK"# 项目简介 | |
| 6 | + s.homepage = "http://bj.gitlab.cnlive.com/ios-team/CNLiveBaseKitSDK" | |
| 7 | + s.source = { :git => "http://bj.gitlab.cnlive.com/ios-team/CNLiveBaseKitSDK.git", :tag => "#{s.version}" } | |
| 8 | + s.license = "MIT" # 开源证书 | |
| 9 | + s.author = { "张旭" => "zhangxu@cnlive.com" } | |
| 10 | + s.platform = :ios, "9.0" #平台及支持的最低版本 | |
| 11 | + s.frameworks = "UIKit", "Foundation" #支持的框架 | |
| 12 | + s.dependency "MJExtension", "~> 3.0.15.1" | |
| 13 | + | |
| 14 | + s.vendored_frameworks = 'CNLiveBaseKit.framework' | |
| 15 | + | |
| 16 | +end | ... | ... |
LICENSE
0 → 100644
| 1 | +MIT License | |
| 2 | + | |
| 3 | +Copyright (c) 2018 cnlive | |
| 4 | + | |
| 5 | +Permission is hereby granted, free of charge, to any person obtaining a copy | |
| 6 | +of this software and associated documentation files (the "Software"), to deal | |
| 7 | +in the Software without restriction, including without limitation the rights | |
| 8 | +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
| 9 | +copies of the Software, and to permit persons to whom the Software is | |
| 10 | +furnished to do so, subject to the following conditions: | |
| 11 | + | |
| 12 | +The above copyright notice and this permission notice shall be included in all | |
| 13 | +copies or substantial portions of the Software. | |
| 14 | + | |
| 15 | +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |
| 16 | +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
| 17 | +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |
| 18 | +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |
| 19 | +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |
| 20 | +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | |
| 21 | +SOFTWARE. | ... | ... |