Skip to content

Commit d0fc5ee

Browse files
author
erichmzhang
committed
增加了LifeCycle相关接口。
增加了Copy Object的接口。 分块上传初始化时,返回resumeData,方便异常情况中断后的续传。 其它一些优化。
1 parent 9bd5e62 commit d0fc5ee

File tree

91 files changed

+3363
-300
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

91 files changed

+3363
-300
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# 5.0.4
2+
- 增加了LifeCycle相关接口。
3+
- 增加了Copy Object的接口。
4+
- 分块上传初始化时,返回resumeData,方便异常情况中断后的续传。
5+
- 其它一些优化。

QCloudCOSXML.podspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = "QCloudCOSXML"
3-
s.version = "5.0.3"
3+
s.version = "5.1.0"
44
s.summary = "QCloudCOSXML 腾讯云iOS-SDK组件"
55

66
s.homepage = "https://cloud.tencent.com/"
@@ -9,5 +9,5 @@ Pod::Spec.new do |s|
99
s.source = { :git => "https://github.com/tencentyun/qcloud-sdk-ios.git", :tag => s.version.to_s }
1010
s.ios.deployment_target = '8.0'
1111
s.source_files = 'QCloudCOSXML/Classes/**/*'
12-
s.dependency 'QCloudCore','5.0.3'
12+
s.dependency 'QCloudCore','5.1.0'
1313
end

QCloudCOSXML/Classes/QCloudCOSTransferMangerService.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@
3838
- (int) performRequest:(QCloudBizHTTPRequest *)httpRequst withFinishBlock:(QCloudRequestFinishBlock)block NS_UNAVAILABLE;
3939

4040
#pragma Factory
41-
+ (QCloudCOSTransferMangerService*) defaultCOSTRANSFERMANGER;
41+
+ (QCloudCOSTransferMangerService*) defaultCOSTransferManager;
4242
+ (QCloudCOSTransferMangerService*) costransfermangerServiceForKey:(NSString*)key;
43-
+ (QCloudCOSTransferMangerService*) registerDefaultCOSTransferMangerWithConfiguration:(QCloudServiceConfiguration*)configuration;
43+
+ (QCloudCOSTransferMangerService*) registerdefaultCOSTransferManagerWithConfiguration:(QCloudServiceConfiguration*)configuration;
4444
+ (QCloudCOSTransferMangerService*) registerCOSTransferMangerWithConfiguration:(QCloudServiceConfiguration*)configuration withKey:(NSString*)key;
4545

4646
- (void) UploadObject:(QCloudCOSXMLUploadObjectRequest*)upload;

QCloudCOSXML/Classes/QCloudCOSTransferMangerService.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ @implementation QCloudCOSTransferMangerService
5858
static QCloudCOSTransferMangerService* COSTransferMangerService = nil;
5959

6060

61-
+ (QCloudCOSTransferMangerService*) defaultCOSTRANSFERMANGER
61+
+ (QCloudCOSTransferMangerService*) defaultCOSTransferManager
6262
{
6363
@synchronized (self) {
6464
if (!COSTransferMangerService) {
@@ -68,7 +68,7 @@ + (QCloudCOSTransferMangerService*) defaultCOSTRANSFERMANGER
6868
}
6969
}
7070

71-
+ (QCloudCOSTransferMangerService*) registerDefaultCOSTransferMangerWithConfiguration:(QCloudServiceConfiguration*)configuration
71+
+ (QCloudCOSTransferMangerService*) registerdefaultCOSTransferManagerWithConfiguration:(QCloudServiceConfiguration*)configuration
7272
{
7373
@synchronized (self) {
7474
COSTransferMangerService = [[QCloudCOSTransferMangerService alloc] initWithConfiguration:configuration];

QCloudCOSXML/Classes/QCloudCOSXML.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
#import "QCloudHeadObjectRequest.h"
2525
#import "QCloudAppendObjectRequest.h"
2626
#import "QCloudGetObjectRequest.h"
27+
#import "QCloudCopyObjectResult.h"
28+
#import "QCloudPutObjectCopyRequest.h"
2729
#import "QCloudGetBucketRequest.h"
2830
#import "QCloudGetBucketACLRequest.h"
2931
#import "QCloudGetBucketCORSRequest.h"
@@ -39,4 +41,11 @@
3941
#import "QCloudHeadBucketRequest.h"
4042
#import "QCloudDeleteBucketTaggingRequest.h"
4143
#import "QCloudCOSXMLEndPoint.h"
44+
#import "QCloudPutBucketRequest.h"
45+
#import "QCloudDeleteBucketRequest.h"
46+
#import "QCloudLifecycleConfiguration.h"
47+
#import "QCloudLifecycleRule.h"
48+
#import "QCloudPutBucketLifecycleRequest.h"
49+
#import "QCloudGetBucketLifecycleRequest.h"
50+
#import "QCloudDeleteBucketLifeCycleRequest.h"
4251
#endif /* QCloudCOSXML_h */

QCloudCOSXML/Classes/QCloudCOSXMLUploadObjectRequest.h

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,14 @@
99
#import <QCloudCore/QCloudCore.h>
1010
#import "QCloudCOSStorageClassEnum.h"
1111

12-
1312
FOUNDATION_EXTERN NSString* const QCloudUploadResumeDataKey;
1413

1514
typedef NSData* QCloudCOSXMLUploadObjectResumeData;
1615
@class QCloudUploadObjectResult;
16+
@class QCloudInitiateMultipartUploadResult;
17+
@class QCloudCOSXMLUploadObjectRequest;
18+
typedef void(^InitMultipleUploadFinishBlock)(QCloudInitiateMultipartUploadResult* multipleUploadInitResult, QCloudCOSXMLUploadObjectResumeData resumeData);
1719
@interface QCloudCOSXMLUploadObjectRequest<BodyType> : QCloudAbstractRequest
18-
1920
/**
2021
上传文件(对象)的文件名,也是对象的key,请注意文件名中不可以含有问号即"?"字符
2122
*/
@@ -96,9 +97,16 @@ typedef NSData* QCloudCOSXMLUploadObjectResumeData;
9697
表明该请求是否已经被中断
9798
*/
9899
@property (assign, atomic, readonly) BOOL aborted;
100+
101+
/**
102+
如果该request产生了分片上传的请求,那么在分片上传初始化完成后,会通过这个block来回调,可以在该回调block中获取分片完成后的bucket, key, uploadID,以及用于后续上传失败后恢复上传的ResumeData。
103+
*/
104+
@property (nonatomic, copy) InitMultipleUploadFinishBlock initMultipleUploadFinishBlock;
105+
99106
- (void) setFinishBlock:(void (^)(QCloudUploadObjectResult* result, NSError *))QCloudRequestFinishBlock;
100107
#pragma resume
101108
+ (instancetype) requestWithRequestData:(QCloudCOSXMLUploadObjectResumeData)resumeData;
109+
102110
- (QCloudCOSXMLUploadObjectResumeData) cancelByProductingResumeData:(NSError* __autoreleasing*)error;
103111

104112

QCloudCOSXML/Classes/QCloudCOSXMLUploadObjectRequest.m

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,11 +203,19 @@ - (void) startMultiUpload {
203203
uploadRequet.grantWrite = self.grantWrite;
204204
uploadRequet.grantFullControl = self.grantFullControl;
205205
__weak typeof(self) weakSelf = self;
206+
206207
[uploadRequet setFinishBlock:^(QCloudInitiateMultipartUploadResult * _Nonnull result,
207208
NSError * _Nonnull error) {
208209
if (error) {
209210
[weakSelf onError:error];
210211
} else {
212+
if (weakSelf.initMultipleUploadFinishBlock) {
213+
QCloudCOSXMLUploadObjectResumeData resumeData = [self productingReqsumeData:nil];
214+
QCloudCOSXMLUploadObjectRequest* resumeRequest = [QCloudCOSXMLUploadObjectRequest requestWithRequestData:resumeData];
215+
if (self.initMultipleUploadFinishBlock) {
216+
self.initMultipleUploadFinishBlock(result, resumeData);
217+
}
218+
}
211219
[weakSelf uploadMultiParts:result];
212220
}
213221
}];
@@ -368,7 +376,6 @@ - (void) onError:(NSError *)error
368376
}
369377
}
370378

371-
372379
- (void) finishUpload:(NSString*)uploadId
373380
{
374381
QCloudCompleteMultipartUploadRequest* complete = [QCloudCompleteMultipartUploadRequest new];

QCloudCOSXML/Classes/QCloudCOSXMLVersion.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,11 @@
2121

2222
#ifndef QCloudCOSXMLModuleVersion_h
2323
#define QCloudCOSXMLModuleVersion_h
24-
#define QCloudCOSXMLModuleVersionNumber 500003
24+
#define QCloudCOSXMLModuleVersionNumber 501000
2525

2626
//dependency
27-
28-
#if (QCloudCoreModuleVersionNumber<500003)
29-
#error "库QCloudCOSXML依赖QCloudCore最小版本号为5.0.3,当前引入的QCloudCore版本号过低,请及时升级后使用"
27+
#if QCloudCoreModuleVersionNumber != 501000
28+
#error "库QCloudCOSXML依赖QCloudCore最小版本号为5.1.0,当前引入的QCloudCore版本号过低,请及时升级后使用"
3029
#endif
3130
//
3231
FOUNDATION_EXTERN NSString * const QCloudCOSXMLModuleVersion;

QCloudCOSXML/Classes/QCloudCOSXMLVersion.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#import "QCloudCOSXMLVersion.h"
22
#import "QCloudCore.h"
3-
NSString * const QCloudCOSXMLModuleVersion = @"5.0.3";
3+
NSString * const QCloudCOSXMLModuleVersion = @"5.1.0";
44
NSString * const QCloudCOSXMLModuleName = @"QCloudCOSXML";
55
@interface QCloudQCloudCOSXMLLoad : NSObject
66
@end

QCloudCOSXML/Classes/auto-generation/QCloudACLGrantee.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,11 @@ NS_ASSUME_NONNULL_BEGIN
3636
*/
3737
@property (strong, nonatomic) NSString *subAccount;
3838
/**
39-
ID,格式:qcs::cam::uin/<OwnerUin>:uin/<SubUin> 如果是根帐号,<OwnerUin> 和 <SubUin> 是同一个值
39+
ID,格式:qcs::cam::uin/<OwnerUin>:uin/<SubUin> 如果是根帐号,<OwnerUin> 和 <SubUin> 是同一个值
4040
*/
4141
@property (strong, nonatomic) NSString *identifier;
4242
/**
43-
名称
43+
名称
4444
*/
4545
@property (strong, nonatomic) NSString *displayName;
4646
/**

0 commit comments

Comments
 (0)