TOSCredential *credential = [[TOSCredential alloc] initWithAccessKey:@"accesskey" secretKey:@"secretkey" securityToken:@"securityToken"];
TOSEndpoint *tosEndpoint = [[TOSEndpoint alloc] initWithURLString:@"endpoint" withRegion:@"region"];
TOSClientConfiguration *config = [[TOSClientConfiguration alloc] initWithEndpoint:tosEndpoint credential:credential];
TOSClient *client = [[TOSClient alloc] initWithConfiguration:config];
// 1. CreateMultipartUpload
TOSCreateMultipartUploadInput *create = [TOSCreateMultipartUploadInput new];
create.tosBucket = @"bucket-name";
create.tosKey = @"object-name";
TOSTask *task = [client createMultipartUpload:create];
[task waitUntilFinished];
TOSCreateMultipartUploadOutput *createOutput = task.result;
NSMutableArray *uploadedParts = [NSMutableArray array];
for (int i = 1; i <= your_chunck_count; i++) {
TOSUploadPartInput *upload = [TOSUploadPartInput new];
upload.tosKey = createOutput.tosKey;
upload.tosBucket = createOutput.tosBucket;
upload.tosUploadID = createOutput.tosUploadID;
upload.tosPartNumber = i;
upload.tosContent = your_chunck_data;
task = [client uploadPart:upload];
[task waitUntilFinished];
TOSUploadPartOutput *uploadOutput = task.result;
TOSUploadedPart *uploadedPart = [TOSUploadedPart new];
uploadedPart.tosETag = uploadOutput.tosETag;
uploadedPart.tosPartNumber = uploadOutput.tosPartNumber;
[uploadedParts addObject:uploadedPart];
// 3. CompleteMultipartUpload
TOSCompleteMultipartUploadInput *complete = [TOSCompleteMultipartUploadInput new];
complete.tosBucket = createOutput.tosBucket;
complete.tosKey = createOutput.tosKey;
complete.tosUploadID = createOutput.tosUploadID;
complete.tosParts = uploadedParts;
task = [client completeMultipartUpload:complete];
[task continueWithBlock:^id(TOSTask *task) {
TOSCompleteMultipartUploadOutput *completeOutput = task.result;