Commit d8f1c7cd authored by “Icebear”'s avatar “Icebear”

添加YTKNetwork、BaseRequest、多个宏定义文件

parent efb64673
......@@ -13,14 +13,17 @@
335F6A6925184A5E0083A571 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 335F6A6825184A5E0083A571 /* Assets.xcassets */; };
335F6A6C25184A5E0083A571 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 335F6A6A25184A5E0083A571 /* LaunchScreen.storyboard */; };
335F6A6F25184A5E0083A571 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 335F6A6E25184A5E0083A571 /* main.m */; };
335F6AC6251895660083A571 /* Placeholder1 in Resources */ = {isa = PBXBuildFile; fileRef = 335F6AB9251895660083A571 /* Placeholder1 */; };
335F6AC7251895660083A571 /* Placeholder2 in Resources */ = {isa = PBXBuildFile; fileRef = 335F6ABB251895660083A571 /* Placeholder2 */; };
335F6AC8251895660083A571 /* Placeholder3 in Resources */ = {isa = PBXBuildFile; fileRef = 335F6ABD251895660083A571 /* Placeholder3 */; };
335F6AC9251895660083A571 /* Placeholder4 in Resources */ = {isa = PBXBuildFile; fileRef = 335F6ABF251895660083A571 /* Placeholder4 */; };
335F6ACA251895660083A571 /* Placeholder5 in Resources */ = {isa = PBXBuildFile; fileRef = 335F6AC1251895660083A571 /* Placeholder5 */; };
335F6ACB251895660083A571 /* Placeholder6 in Resources */ = {isa = PBXBuildFile; fileRef = 335F6AC3251895660083A571 /* Placeholder6 */; };
335F6ACC251895660083A571 /* Placeholder7 in Resources */ = {isa = PBXBuildFile; fileRef = 335F6AC5251895660083A571 /* Placeholder7 */; };
335F6AD125189B130083A571 /* AppDelegate+AppService.m in Sources */ = {isa = PBXBuildFile; fileRef = 335F6AD025189B130083A571 /* AppDelegate+AppService.m */; };
335F6B1D2518ADA10083A571 /* Placeholder11 in Resources */ = {isa = PBXBuildFile; fileRef = 335F6B142518ADA10083A571 /* Placeholder11 */; };
335F6B1E2518ADA10083A571 /* Placeholder12 in Resources */ = {isa = PBXBuildFile; fileRef = 335F6B162518ADA10083A571 /* Placeholder12 */; };
335F6B1F2518ADA10083A571 /* Placeholder13 in Resources */ = {isa = PBXBuildFile; fileRef = 335F6B182518ADA10083A571 /* Placeholder13 */; };
335F6B202518ADA10083A571 /* Placeholder10 in Resources */ = {isa = PBXBuildFile; fileRef = 335F6B1A2518ADA10083A571 /* Placeholder10 */; };
335F6B212518ADA10083A571 /* Placeholder9 in Resources */ = {isa = PBXBuildFile; fileRef = 335F6B1C2518ADA10083A571 /* Placeholder9 */; };
335F6B272518ADD30083A571 /* BaseRequestAPI.m in Sources */ = {isa = PBXBuildFile; fileRef = 335F6B262518ADD30083A571 /* BaseRequestAPI.m */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
......@@ -32,16 +35,25 @@
335F6A6B25184A5E0083A571 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
335F6A6D25184A5E0083A571 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
335F6A6E25184A5E0083A571 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
335F6AB9251895660083A571 /* Placeholder1 */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Placeholder1; sourceTree = "<group>"; };
335F6ABB251895660083A571 /* Placeholder2 */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Placeholder2; sourceTree = "<group>"; };
335F6ABD251895660083A571 /* Placeholder3 */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Placeholder3; sourceTree = "<group>"; };
335F6ABF251895660083A571 /* Placeholder4 */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Placeholder4; sourceTree = "<group>"; };
335F6AC1251895660083A571 /* Placeholder5 */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Placeholder5; sourceTree = "<group>"; };
335F6AC3251895660083A571 /* Placeholder6 */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Placeholder6; sourceTree = "<group>"; };
335F6AC5251895660083A571 /* Placeholder7 */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Placeholder7; sourceTree = "<group>"; };
335F6ACF25189B130083A571 /* AppDelegate+AppService.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "AppDelegate+AppService.h"; sourceTree = "<group>"; };
335F6AD025189B130083A571 /* AppDelegate+AppService.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "AppDelegate+AppService.m"; sourceTree = "<group>"; };
335F6ADA25189D100083A571 /* PrefixHeader.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PrefixHeader.pch; sourceTree = "<group>"; };
335F6B142518ADA10083A571 /* Placeholder11 */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Placeholder11; sourceTree = "<group>"; };
335F6B162518ADA10083A571 /* Placeholder12 */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Placeholder12; sourceTree = "<group>"; };
335F6B182518ADA10083A571 /* Placeholder13 */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Placeholder13; sourceTree = "<group>"; };
335F6B1A2518ADA10083A571 /* Placeholder10 */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Placeholder10; sourceTree = "<group>"; };
335F6B1C2518ADA10083A571 /* Placeholder9 */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Placeholder9; sourceTree = "<group>"; };
335F6B252518ADD30083A571 /* BaseRequestAPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseRequestAPI.h; sourceTree = "<group>"; };
335F6B262518ADD30083A571 /* BaseRequestAPI.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BaseRequestAPI.m; sourceTree = "<group>"; };
335F6B2A2518AF170083A571 /* ThirdMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThirdMacros.h; sourceTree = "<group>"; };
335F6B2B2518AF170083A571 /* FontAndColorMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FontAndColorMacros.h; sourceTree = "<group>"; };
335F6B2C2518AF170083A571 /* URLMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = URLMacros.h; sourceTree = "<group>"; };
335F6B2D2518AF170083A571 /* NotificationMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NotificationMacros.h; sourceTree = "<group>"; };
335F6B2E2518AF170083A571 /* UtilsMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UtilsMacros.h; sourceTree = "<group>"; };
49664D4BB9E25240F6B2F0A9 /* Pods-NetrainFrame.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NetrainFrame.release.xcconfig"; path = "Target Support Files/Pods-NetrainFrame/Pods-NetrainFrame.release.xcconfig"; sourceTree = "<group>"; };
AFAD26382CE323D58F08BF66 /* Pods_NetrainFrame.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_NetrainFrame.framework; sourceTree = BUILT_PRODUCTS_DIR; };
DCF21838657E8CF2B8988B38 /* Pods-NetrainFrame.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NetrainFrame.debug.xcconfig"; path = "Target Support Files/Pods-NetrainFrame/Pods-NetrainFrame.debug.xcconfig"; sourceTree = "<group>"; };
......@@ -120,7 +132,7 @@
335F6AB8251895660083A571 /* Base */ = {
isa = PBXGroup;
children = (
335F6AB9251895660083A571 /* Placeholder1 */,
335F6B242518ADD30083A571 /* BaseRequestApi */,
);
path = Base;
sourceTree = "<group>";
......@@ -128,7 +140,11 @@
335F6ABA251895660083A571 /* Define */ = {
isa = PBXGroup;
children = (
335F6ABB251895660083A571 /* Placeholder2 */,
335F6B2D2518AF170083A571 /* NotificationMacros.h */,
335F6B2B2518AF170083A571 /* FontAndColorMacros.h */,
335F6B2A2518AF170083A571 /* ThirdMacros.h */,
335F6B2C2518AF170083A571 /* URLMacros.h */,
335F6B2E2518AF170083A571 /* UtilsMacros.h */,
);
path = Define;
sourceTree = "<group>";
......@@ -144,7 +160,7 @@
335F6ABE251895660083A571 /* Modules */ = {
isa = PBXGroup;
children = (
335F6ABF251895660083A571 /* Placeholder4 */,
335F6B0D2518ACF80083A571 /* Home */,
);
path = Modules;
sourceTree = "<group>";
......@@ -173,6 +189,67 @@
path = Utils;
sourceTree = "<group>";
};
335F6B0D2518ACF80083A571 /* Home */ = {
isa = PBXGroup;
children = (
335F6B1B2518ADA10083A571 /* Controller */,
335F6B192518ADA10083A571 /* Logic */,
335F6B132518ADA10083A571 /* Model */,
335F6B152518ADA10083A571 /* Service */,
335F6B172518ADA10083A571 /* View */,
);
path = Home;
sourceTree = "<group>";
};
335F6B132518ADA10083A571 /* Model */ = {
isa = PBXGroup;
children = (
335F6B142518ADA10083A571 /* Placeholder11 */,
);
path = Model;
sourceTree = "<group>";
};
335F6B152518ADA10083A571 /* Service */ = {
isa = PBXGroup;
children = (
335F6B162518ADA10083A571 /* Placeholder12 */,
);
path = Service;
sourceTree = "<group>";
};
335F6B172518ADA10083A571 /* View */ = {
isa = PBXGroup;
children = (
335F6B182518ADA10083A571 /* Placeholder13 */,
);
path = View;
sourceTree = "<group>";
};
335F6B192518ADA10083A571 /* Logic */ = {
isa = PBXGroup;
children = (
335F6B1A2518ADA10083A571 /* Placeholder10 */,
);
path = Logic;
sourceTree = "<group>";
};
335F6B1B2518ADA10083A571 /* Controller */ = {
isa = PBXGroup;
children = (
335F6B1C2518ADA10083A571 /* Placeholder9 */,
);
path = Controller;
sourceTree = "<group>";
};
335F6B242518ADD30083A571 /* BaseRequestApi */ = {
isa = PBXGroup;
children = (
335F6B252518ADD30083A571 /* BaseRequestAPI.h */,
335F6B262518ADD30083A571 /* BaseRequestAPI.m */,
);
path = BaseRequestApi;
sourceTree = "<group>";
};
AF101A8647B6D432ED4BF085 /* Pods */ = {
isa = PBXGroup;
children = (
......@@ -251,13 +328,15 @@
335F6AC8251895660083A571 /* Placeholder3 in Resources */,
335F6A6C25184A5E0083A571 /* LaunchScreen.storyboard in Resources */,
335F6A6925184A5E0083A571 /* Assets.xcassets in Resources */,
335F6AC6251895660083A571 /* Placeholder1 in Resources */,
335F6B202518ADA10083A571 /* Placeholder10 in Resources */,
335F6B212518ADA10083A571 /* Placeholder9 in Resources */,
335F6B1D2518ADA10083A571 /* Placeholder11 in Resources */,
335F6ACC251895660083A571 /* Placeholder7 in Resources */,
335F6A6725184A5D0083A571 /* Main.storyboard in Resources */,
335F6AC7251895660083A571 /* Placeholder2 in Resources */,
335F6ACB251895660083A571 /* Placeholder6 in Resources */,
335F6ACA251895660083A571 /* Placeholder5 in Resources */,
335F6AC9251895660083A571 /* Placeholder4 in Resources */,
335F6B1F2518ADA10083A571 /* Placeholder13 in Resources */,
335F6B1E2518ADA10083A571 /* Placeholder12 in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
......@@ -311,6 +390,7 @@
buildActionMask = 2147483647;
files = (
335F6AD125189B130083A571 /* AppDelegate+AppService.m in Sources */,
335F6B272518ADD30083A571 /* BaseRequestAPI.m in Sources */,
335F6A5E25184A5D0083A571 /* AppDelegate.m in Sources */,
335F6A6F25184A5E0083A571 /* main.m in Sources */,
);
......
//
// BaseRequestAPI.h
// NetrainFrame
//
// Created by Gin on 2020/9/21.
//
#import <YTKNetwork/YTKNetwork.h>
/**
接口请求基类,所有请求必须继承此类
这里采用的是YTKNetwork网络库,中大型APP专用,可满足所有网络需求
学习地址:https://github.com/yuantiku/YTKNetwork
*/
@interface BaseRequestAPI : YTKBaseRequest
//自定义属性值
@property(nonatomic,assign)BOOL isSuccess;//是否成功
@property (nonatomic,copy) NSString * message;//服务器返回的信息
@property (nonatomic,copy) NSDictionary * result;//服务器返回的数据 已解密
@end
//
// BaseRequestAPI.h
// NetrainFrame
//
// Created by Gin on 2020/9/21.
//
#import "BaseRequestAPI.h"
@implementation BaseRequestAPI
-(instancetype)init{
self = [super init];
if (self) {
}
return self;
}
#pragma mark ————— 自定义数据 —————
- (NSString *)message {
if (self.error) {
return self.error.localizedDescription;
}
NSString *message = [NSString stringWithFormat:@"%@",self.result[@"codemsg"]];
return message;
}
- (NSString *)code {
NSString *code = [NSString stringWithFormat:@"%@",self.result[@"code"]];
return code;
}
- (BOOL)isSuccess {
NSString *code = [self code];
BOOL isSuccess = NO;
if ([code isEqualToString:@"0"]) {
isSuccess = YES;
}
return isSuccess;
}
#pragma mark ————— 定义返回数据格式,若是加密要用HTTP接受 —————
-(YTKResponseSerializerType)responseSerializerType {
return YTKResponseSerializerTypeJSON;
}
#pragma mark ————— 默认请求方式 POST —————
-(YTKRequestMethod)requestMethod{
return YTKRequestMethodPOST;
}
#pragma mark ————— 请求失败过滤器 —————
-(void)requestFailedFilter{
//失败处理器
}
#pragma mark ————— 请求成功过滤器 —————
-(void)requestCompleteFilter{
self.result = self.responseJSONObject;
}
#pragma mark ————— 非加密时也要传输的头部内容 也可能不需要,暂时保留 —————
-(NSDictionary<NSString *,NSString *> *)requestHeaderFieldValueDictionary{
//header部分
return @{};
}
#pragma mark ————— 如果是加密方式传输,自定义request —————
-(NSURLRequest *)buildCustomUrlRequest{
return nil;
}
@end
//
// FontAndColorMacros.h
// NetrainFrame
//
// Created by Gin on 2020/9/21.
//
//字体大小和颜色配置
#ifndef FontAndColorMacros_h
#define FontAndColorMacros_h
#pragma mark - 颜色区
#pragma mark - 字号区
#endif /* FontAndColorMacros_h */
//
// NotificationMacros.h
// NetrainFrame
//
// Created by Gin on 2020/9/21.
//
//全局标记字符串,用于 通知 存储
#ifndef CommonMacros_h
#define CommonMacros_h
#pragma mark - ——————— 用户相关 ————————
#pragma mark - ——————— 网络状态相关 ————————
//网络状态变化
#define KNotificationNetWorkStateChange @"KNotificationNetWorkStateChange"
#endif /* CommonMacros_h */
//
// ThirdMacros.h
// NetrainFrame
//
// Created by Gin on 2020/9/21.
//
//第三方配置
#ifndef ThirdMacros_h
#define ThirdMacros_h
#endif /* ThirdMacros_h */
//
// URLMacros.h
// NetrainFrame
//
// Created by Gin on 2020/9/21.
//
#ifndef URLMacros_h
#define URLMacros_h
/*
将项目中所有的接口写在这里,方便统一管理,降低耦合
这里通过宏定义来切换你当前的服务器类型,
将你要切换的服务器类型宏后面置为真(即>0即可),其余为假(置为0)
如下:现在的状态为测试服务器
这样做切换方便,不用来回每个网络请求修改请求域名,降低出错事件
*/
#define DevelopSever 1
#define TestSever 0
#define ProductSever 0
#if DevelopSever
/**开发服务器*/
#define URL_main @"http://192.168.20.31:20000/shark-miai-service"
//#define URL_main @"http://192.168.11.122:8090" //展鹏
#elif TestSever
/**测试服务器*/
#define URL_main @"http://192.168.20.31:20000/shark-miai-service"
#elif ProductSever
/**生产服务器*/
#define URL_main @"http://192.168.20.31:20000/shark-miai-service"
#endif
#pragma mark - ——————— 详细接口地址 ————————
#pragma mark - ——————— 用户相关 ————————
#endif /* URLMacros_h */
//
// URLMacros.h
// NetrainFrame
//
// Created by Gin on 2020/9/21.
//
// 全局工具类宏定义
#ifndef define_h
#define define_h
//获取系统对象
#define kApplication [UIApplication sharedApplication]
#define kAppWindow [UIApplication sharedApplication].delegate.window
#define kAppDelegate [AppDelegate shareAppDelegate]
#define kRootViewController [UIApplication sharedApplication].delegate.window.rootViewController
#define kUserDefaults [NSUserDefaults standardUserDefaults]
#define kNotificationCenter [NSNotificationCenter defaultCenter]
#define kStatusBarHeight [[UIApplication sharedApplication] statusBarFrame].size.height
#define kNavBarHeight 44.0
#define kTabBarHeight ([[UIApplication sharedApplication] statusBarFrame].size.height>20?83:49)
#define kTopHeight (kStatusBarHeight + kNavBarHeight)
//获取屏幕宽高
#define KScreenWidth ([[UIScreen mainScreen] bounds].size.width)
#define KScreenHeight [[UIScreen mainScreen] bounds].size.height
#define kScreen_Bounds [UIScreen mainScreen].bounds
#define Iphone6ScaleWidth KScreenWidth/375.0
#define Iphone6ScaleHeight KScreenHeight/667.0
//根据ip6的屏幕来拉伸
#define kRealValue(with) ((with)*(KScreenWidth/375.0f))
//强弱引用
#define kWeakSelf(type) __weak typeof(type) weak##type = type;
#define kStrongSelf(type) __strong typeof(type) type = weak##type;
//View 圆角和加边框
#define ViewBorderRadius(View, Radius, Width, Color)\
\
[View.layer setCornerRadius:(Radius)];\
[View.layer setMasksToBounds:YES];\
[View.layer setBorderWidth:(Width)];\
[View.layer setBorderColor:[Color CGColor]]
// View 圆角
#define ViewRadius(View, Radius)\
\
[View.layer setCornerRadius:(Radius)];\
[View.layer setMasksToBounds:YES]
//property 属性快速声明 别用宏定义了,使用代码块+快捷键实现吧
// 当前系统版本
#define CurrentSystemVersion [[UIDevice currentDevice].systemVersion doubleValue]
//当前语言
#define CurrentLanguage ([NSLocale preferredLanguages] objectAtIndex:0])
//-------------------打印日志-------------------------
//DEBUG 模式下打印日志,当前行
#ifdef DEBUG
#define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
#else
#define DLog(...)
#endif
//拼接字符串
#define NSStringFormat(format,...) [NSString stringWithFormat:format,##__VA_ARGS__]
//颜色
#define KClearColor [UIColor clearColor]
#define KWhiteColor [UIColor whiteColor]
#define KBlackColor [UIColor blackColor]
#define KGrayColor [UIColor grayColor]
#define KGray2Color [UIColor lightGrayColor]
#define KBlueColor [UIColor blueColor]
#define KRedColor [UIColor redColor]
#define kRandomColor KRGBColor(arc4random_uniform(256)/255.0,arc4random_uniform(256)/255.0,arc4random_uniform(256)/255.0) //随机色生成
//字体
#define BOLDSYSTEMFONT(FONTSIZE)[UIFont boldSystemFontOfSize:FONTSIZE]
#define SYSTEMFONT(FONTSIZE) [UIFont systemFontOfSize:FONTSIZE]
#define FONT(NAME, FONTSIZE) [UIFont fontWithName:(NAME) size:(FONTSIZE)]
//定义UIImage对象
#define ImageWithFile(_pointer) [UIImage imageWithContentsOfFile:([[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"%@@%dx", _pointer, (int)[UIScreen mainScreen].nativeScale] ofType:@"png"])]
#define IMAGE_NAMED(name) [UIImage imageNamed:name]
//数据验证
#define StrValid(f) (f!=nil && [f isKindOfClass:[NSString class]] && ![f isEqualToString:@""])
#define SafeStr(f) (StrValid(f) ? f:@"")
#define HasString(str,key) ([str rangeOfString:key].location!=NSNotFound)
#define ValidStr(f) StrValid(f)
#define ValidDict(f) (f!=nil && [f isKindOfClass:[NSDictionary class]])
#define ValidArray(f) (f!=nil && [f isKindOfClass:[NSArray class]] && [f count]>0)
#define ValidNum(f) (f!=nil && [f isKindOfClass:[NSNumber class]])
#define ValidClass(f,cls) (f!=nil && [f isKindOfClass:[cls class]])
#define ValidData(f) (f!=nil && [f isKindOfClass:[NSData class]])
//获取一段时间间隔
#define kStartTime CFAbsoluteTime start = CFAbsoluteTimeGetCurrent();
#define kEndTime NSLog(@"Time: %f", CFAbsoluteTimeGetCurrent() - start)
//打印当前方法名
#define ITTDPRINTMETHODNAME() ITTDPRINT(@"%s", __PRETTY_FUNCTION__)
//发送通知
#define KPostNotification(name,obj) [[NSNotificationCenter defaultCenter] postNotificationName:name object:obj];
//单例化一个类
#define SINGLETON_FOR_HEADER(className) \
\
+ (className *)shared##className;
#define SINGLETON_FOR_CLASS(className) \
\
+ (className *)shared##className { \
static className *shared##className = nil; \
static dispatch_once_t onceToken; \
dispatch_once(&onceToken, ^{ \
shared##className = [[self alloc] init]; \
}); \
return shared##className; \
}
#endif /* define_h */
......@@ -7,5 +7,16 @@
#ifndef PrefixHeader_pch
#define PrefixHeader_pch
//全局宏
#import "UtilsMacros.h"
#import "URLMacros.h"
#import "FontAndColorMacros.h"
#import "ThirdMacros.h"
#import "NotificationMacros.h"
//第三方
#import <Masonry.h>
#import <YYModel.h>
#import <SDWebImage/UIImageView+WebCache.h>
#endif /* PrefixHeader_pch */
......@@ -9,6 +9,7 @@ pod 'YYModel','1.0.4'
pod 'SDWebImage','5.8.4'
pod 'SVProgressHUD','2.2.5'
pod 'MJRefresh','3.4.3'
pod 'YTKNetwork','3.0.2'
end
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment