Skip to content

Commit 76d7a4b

Browse files
committed
use define switch
1 parent a2f58b4 commit 76d7a4b

File tree

4 files changed

+33
-6
lines changed

4 files changed

+33
-6
lines changed

QiniuSDK/Http/QNSessionManager.h

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11
#import <Foundation/Foundation.h>
22
#import "QNHttpDelegate.h"
33

4-
@class QNResponseInfo;
5-
6-
typedef void (^QNInternalProgressBlock)(long long totalBytesWritten, long long totalBytesExpectedToWrite);
7-
typedef void (^QNCompleteBlock)(QNResponseInfo *info, NSDictionary *resp);
8-
typedef BOOL (^QNCancelBlock)(void);
4+
#if (defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 70000) || (defined(__MAC_OS_X_VERSION_MAX_ALLOWED) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 1090)
95

106
@interface QNSessionManager : NSObject <QNHttpDelegate>
117

@@ -29,3 +25,5 @@ typedef BOOL (^QNCancelBlock)(void);
2925
withCancelBlock:(QNCancelBlock)cancelBlock;
3026

3127
@end
28+
29+
#endif

QiniuSDK/Http/QNSessionManager.m

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
#import "QNResponseInfo.h"
1515
#import "QNDns.h"
1616

17+
#if (defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 70000) || (defined(__MAC_OS_X_VERSION_MAX_ALLOWED) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 1090)
18+
1719
@interface QNSessionManager ()
1820
@property (nonatomic) AFHTTPSessionManager *httpManager;
1921
@end
@@ -135,3 +137,5 @@ - (void) post:(NSString *)url
135137
}
136138

137139
@end
140+
141+
#endif

QiniuSDK/Storage/QNUploadManager.h

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,20 @@ typedef NSString *(^QNRecorderKeyGenerator)(NSString *uploadKey, NSString *fileP
6464
- (instancetype)initWithRecorder:(id <QNRecorderDelegate> )recorder
6565
recorderKeyGenerator:(QNRecorderKeyGenerator)recorderKeyGenerator;
6666

67+
/**
68+
* 使用持久化记录接口以及持久化key生成函数的构造方法,默认情况下使用上传存储的key, 如果key为nil或者有特殊字符比如/,建议使用自己的生成函数
69+
*
70+
* @param recorder 持久化记录接口实现
71+
* @param recorderKeyGenerator 持久化记录key生成函数
72+
* @param proxyDict 代理,NSURLSession 的代理,使用参考Apple的文档
73+
*
74+
* @return 上传管理类实例
75+
*/
76+
- (instancetype)initWithRecorder:(id <QNRecorderDelegate> )recorder
77+
recorderKeyGenerator:(QNRecorderKeyGenerator)recorderKeyGenerator
78+
proxy:(NSDictionary *)proxyDict;
79+
80+
6781
/**
6882
* 方便使用的单例方法
6983
*

QiniuSDK/Storage/QNUploadManager.m

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
#import "QNConfig.h"
1212
#import "QNHttpManager.h"
13+
#import "QNSessionManager.h"
1314
#import "QNResponseInfo.h"
1415
#import "QNCrc32.h"
1516
#import "QNUploadManager.h"
@@ -19,7 +20,7 @@
1920
#import "QNAsyncRun.h"
2021

2122
@interface QNUploadManager ()
22-
@property (nonatomic) QNHttpManager *httpManager;
23+
@property (nonatomic) id <QNHttpDelegate> httpManager;
2324
@property (nonatomic) id <QNRecorderDelegate> recorder;
2425
@property (nonatomic, strong) QNRecorderKeyGenerator recorderKeyGen;
2526
@end
@@ -36,8 +37,18 @@ - (instancetype)initWithRecorder:(id <QNRecorderDelegate> )recorder {
3637

3738
- (instancetype)initWithRecorder:(id <QNRecorderDelegate> )recorder
3839
recorderKeyGenerator:(QNRecorderKeyGenerator)recorderKeyGenerator {
40+
return [self initWithRecorder:recorder recorderKeyGenerator:recorderKeyGenerator proxy:nil];
41+
}
42+
43+
- (instancetype)initWithRecorder:(id <QNRecorderDelegate> )recorder
44+
recorderKeyGenerator:(QNRecorderKeyGenerator)recorderKeyGenerator
45+
proxy:(NSDictionary *)proxyDict {
3946
if (self = [super init]) {
47+
#if (defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 70000) || (defined(__MAC_OS_X_VERSION_MAX_ALLOWED) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 1090)
48+
_httpManager = [[QNSessionManager alloc] initWithProxy:proxyDict];
49+
#else
4050
_httpManager = [[QNHttpManager alloc] init];
51+
#endif
4152
_recorder = recorder;
4253
_recorderKeyGen = recorderKeyGenerator;
4354
}

0 commit comments

Comments
 (0)