Commit 46c46dd226e92b987df1412d0964aafe899cb9e3

Authored by 张旭
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
  1 +//
  2 +// PathHeaders.h
  3 +// CommonLibrary
  4 +//
  5 +// Created by Alexi on 14-2-26.
  6 +// Copyright (c) 2014年 CommonLibrary. All rights reserved.
  7 +//
  8 +
  9 +#ifndef CommonLibrary_PathHeaders_h
  10 +#define CommonLibrary_PathHeaders_h
  11 +
  12 +#import "PathUtility.h"
  13 +
  14 +#endif
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
  1 +framework module CNLiveBaseKit {
  2 + umbrella header "CNLiveBaseKit-umbrella.h"
  3 +
  4 + export *
  5 + module * { export * }
  6 +}
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 \ No newline at end of file 99 \ No newline at end of file
CNLiveBaseKit/CNLiveBaseKit/Assets.xcassets/Contents.json 0 → 100644
  1 +{
  2 + "info" : {
  3 + "version" : 1,
  4 + "author" : "xcode"
  5 + }
  6 +}
0 \ No newline at end of file 7 \ No newline at end of file
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
  1 +//
  2 +// ViewController.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 ViewController : UIViewController
  12 +
  13 +
  14 +@end
  15 +
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
  1 +source 'https://github.com/CocoaPods/Specs.git'
  2 +source ‘http://bj.gitlab.cnlive.com/ios-team/CNLiveRepos.git’
  3 +
  4 +platform :ios, '9.0'
  5 +
  6 +target 'CNLiveBaseKit' do
  7 +pod 'MJExtension', '~> 3.0.15.1'
  8 +
  9 +
  10 +end
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.