Commit 6410b193256954c952dc6e83c1957c70d1843ea3
1 parent
60e6ae02
no message
Showing
375 changed files
with
9564 additions
and
0 deletions
KS3SDKDemo/Podfile.lock
0 → 100644
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3AbortMultipartUploadRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3AbortMultipartUploadResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3AbstractPutRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3AbstractWebServiceClient.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3AccessControlList.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3AuthUtils.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3Bucket.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3BucketACLResult.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3BucketACLXMLParser.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3BucketNameUtilities.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3BucketObject.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3Client.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3ClientException.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3CompleteMultipartUploadRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3CompleteMultipartUploadResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3CompleteMultipartUploadResult.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3Constants.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3CreateBucketRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3CreateBucketResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3Credentials.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3DeleteBucketRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3DeleteBucketResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3DeleteObjectRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3DeleteObjectResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3DownLoad.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3ErrorHandler.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3GetACLRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3GetACLResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3GetBucketLoggingRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3GetBucketLoggingResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3GetObjectACLRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3GetObjectACLResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3GetObjectRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3GetObjectResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3Grant.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3GrantAccessControlList.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3HeadBucketRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3HeadBucketResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3HeadObjectRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3HeadObjectResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3InitiateMultipartUploadRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3InitiateMultipartUploadResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3InitiateMultipartUploadResult.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3InitiateMultipartUploadXMLParser.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3ListBucketsRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3ListBucketsResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3ListBucketsResult.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3ListBucketsXMLParser.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3ListObjectsRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3ListObjectsResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3ListObjectsResult.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3ListObjectsXMLPrarser.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3ListPartsRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3ListPartsResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3ListPartsResult.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3ListPartsResultXMLParser.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3MD5Util.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3MultipartUpload.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3ObjectACLXMLParser.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3ObjectSummary.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3Owner.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3Part.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3PutObjectCopyRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3PutObjectCopyResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3PutObjectRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3PutObjectResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3Request.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3Response.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3ResponseHeaderOverrides.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3SDKUtil.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3ServiceRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3ServiceResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3SetACLRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3SetACLResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3SetBucketLoggingRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3SetBucketLoggingResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3SetGrantACLRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3SetGrantACLResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3SetObjectACLRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3SetObjectACLResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3SetObjectGrantACLRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3SetObjectGrantACLResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3URLRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3Upload.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3UploadManager.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3UploadPartRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3UploadPartResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3UploadRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3WebServiceClient.h
0 → 120000
KS3SDKDemo/Pods/Headers/Private/Ks3SDK/KS3YunSDK.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3AbortMultipartUploadRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3AbortMultipartUploadResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3AbstractPutRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3AbstractWebServiceClient.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3AccessControlList.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3AuthUtils.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3Bucket.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3BucketACLResult.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3BucketACLXMLParser.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3BucketNameUtilities.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3BucketObject.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3Client.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3ClientException.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3CompleteMultipartUploadRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3CompleteMultipartUploadResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3CompleteMultipartUploadResult.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3Constants.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3CreateBucketRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3CreateBucketResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3Credentials.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3DeleteBucketRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3DeleteBucketResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3DeleteObjectRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3DeleteObjectResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3DownLoad.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3ErrorHandler.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3GetACLRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3GetACLResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3GetBucketLoggingRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3GetBucketLoggingResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3GetObjectACLRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3GetObjectACLResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3GetObjectRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3GetObjectResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3Grant.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3GrantAccessControlList.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3HeadBucketRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3HeadBucketResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3HeadObjectRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3HeadObjectResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3InitiateMultipartUploadRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3InitiateMultipartUploadResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3InitiateMultipartUploadResult.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3InitiateMultipartUploadXMLParser.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3ListBucketsRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3ListBucketsResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3ListBucketsResult.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3ListBucketsXMLParser.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3ListObjectsRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3ListObjectsResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3ListObjectsResult.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3ListObjectsXMLPrarser.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3ListPartsRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3ListPartsResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3ListPartsResult.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3ListPartsResultXMLParser.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3MD5Util.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3MultipartUpload.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3ObjectACLXMLParser.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3ObjectSummary.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3Owner.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3Part.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3PutObjectCopyRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3PutObjectCopyResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3PutObjectRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3PutObjectResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3Request.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3Response.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3ResponseHeaderOverrides.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3SDKUtil.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3ServiceRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3ServiceResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3SetACLRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3SetACLResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3SetBucketLoggingRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3SetBucketLoggingResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3SetGrantACLRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3SetGrantACLResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3SetObjectACLRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3SetObjectACLResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3SetObjectGrantACLRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3SetObjectGrantACLResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3URLRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3Upload.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3UploadManager.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3UploadPartRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3UploadPartResponse.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3UploadRequest.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3WebServiceClient.h
0 → 120000
KS3SDKDemo/Pods/Headers/Public/Ks3SDK/KS3YunSDK.h
0 → 120000
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK.h
0 → 100644
| 1 | +// | |
| 2 | +// KS3YunSDK.h | |
| 3 | +// KS3YunSDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/18/14. | |
| 6 | +// Copyright (c) 2014 KS3. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <UIKit/UIKit.h> | |
| 10 | +#ifdef __OBJC__ | |
| 11 | + | |
| 12 | +//! Project version number for KS3YunSDK. | |
| 13 | +FOUNDATION_EXPORT double KS3YunSDKVersionNumber; | |
| 14 | + | |
| 15 | +//! Project version string for KS3YunSDK. | |
| 16 | +FOUNDATION_EXPORT const unsigned char KS3YunSDKVersionString[]; | |
| 17 | + | |
| 18 | +// In this header, you should import all the public headers of your framework | |
| 19 | +// using statements like #import <KS3YunSDK/PublicHeader.h> | |
| 20 | +#import "KS3AbortMultipartUploadRequest.h" | |
| 21 | +#import "KS3AbortMultipartUploadResponse.h" | |
| 22 | +#import "KS3AbstractPutRequest.h" | |
| 23 | +#import "KS3AbstractWebServiceClient.h" | |
| 24 | +#import "KS3AccessControlList.h" | |
| 25 | +#import "KS3AuthUtils.h" | |
| 26 | +#import "KS3Bucket.h" | |
| 27 | +#import "KS3BucketACLResult.h" | |
| 28 | +#import "KS3BucketACLXMLParser.h" | |
| 29 | +#import "KS3BucketNameUtilities.h" | |
| 30 | +#import "KS3BucketObject.h" | |
| 31 | +#import "KS3Client.h" | |
| 32 | +#import "KS3ClientException.h" | |
| 33 | +#import "KS3CompleteMultipartUploadRequest.h" | |
| 34 | +#import "KS3CompleteMultipartUploadResponse.h" | |
| 35 | +#import "KS3CompleteMultipartUploadResult.h" | |
| 36 | +#import "KS3Constants.h" | |
| 37 | +#import "KS3CreateBucketRequest.h" | |
| 38 | +#import "KS3CreateBucketResponse.h" | |
| 39 | +#import "KS3Credentials.h" | |
| 40 | +#import "KS3DeleteBucketRequest.h" | |
| 41 | +#import "KS3DeleteBucketResponse.h" | |
| 42 | +#import "KS3DeleteObjectRequest.h" | |
| 43 | +#import "KS3DeleteObjectResponse.h" | |
| 44 | +#import "KS3DownLoad.h" | |
| 45 | +#import "KS3ErrorHandler.h" | |
| 46 | +#import "KS3GetACLRequest.h" | |
| 47 | +#import "KS3GetACLResponse.h" | |
| 48 | +#import "KS3GetBucketLoggingRequest.h" | |
| 49 | +#import "KS3GetBucketLoggingResponse.h" | |
| 50 | +#import "KS3GetObjectACLRequest.h" | |
| 51 | +#import "KS3GetObjectACLResponse.h" | |
| 52 | +#import "KS3GetObjectRequest.h" | |
| 53 | +#import "KS3GetObjectResponse.h" | |
| 54 | +#import "KS3Grant.h" | |
| 55 | +#import "KS3GrantAccessControlList.h" | |
| 56 | +#import "KS3HeadBucketRequest.h" | |
| 57 | +#import "KS3HeadBucketResponse.h" | |
| 58 | +#import "KS3HeadObjectRequest.h" | |
| 59 | +#import "KS3HeadObjectResponse.h" | |
| 60 | +#import "KS3InitiateMultipartUploadRequest.h" | |
| 61 | +#import "KS3InitiateMultipartUploadResponse.h" | |
| 62 | +#import "KS3InitiateMultipartUploadResult.h" | |
| 63 | +#import "KS3InitiateMultipartUploadXMLParser.h" | |
| 64 | +#import "KS3ListBucketsRequest.h" | |
| 65 | +#import "KS3ListBucketsResponse.h" | |
| 66 | +#import "KS3ListBucketsResult.h" | |
| 67 | +#import "KS3ListBucketsXMLParser.h" | |
| 68 | +#import "KS3ListObjectsRequest.h" | |
| 69 | +#import "KS3ListObjectsResponse.h" | |
| 70 | +#import "KS3ListObjectsResult.h" | |
| 71 | +#import "KS3ListObjectsXMLPrarser.h" | |
| 72 | +#import "KS3ListPartsRequest.h" | |
| 73 | +#import "KS3ListPartsResponse.h" | |
| 74 | +#import "KS3ListPartsResult.h" | |
| 75 | +#import "KS3ListPartsResultXMLParser.h" | |
| 76 | +#import "KS3MD5Util.h" | |
| 77 | +#import "KS3MultipartUpload.h" | |
| 78 | +#import "KS3ObjectACLXMLParser.h" | |
| 79 | +#import "KS3ObjectSummary.h" | |
| 80 | +#import "KS3Owner.h" | |
| 81 | +#import "KS3Part.h" | |
| 82 | +#import "KS3PutObjectCopyRequest.h" | |
| 83 | +#import "KS3PutObjectCopyResponse.h" | |
| 84 | +#import "KS3PutObjectRequest.h" | |
| 85 | +#import "KS3PutObjectResponse.h" | |
| 86 | +#import "KS3Request.h" | |
| 87 | +#import "KS3Response.h" | |
| 88 | +#import "KS3ResponseHeaderOverrides.h" | |
| 89 | +#import "KS3SDKUtil.h" | |
| 90 | +#import "KS3ServiceRequest.h" | |
| 91 | +#import "KS3ServiceResponse.h" | |
| 92 | +#import "KS3SetACLRequest.h" | |
| 93 | +#import "KS3SetACLResponse.h" | |
| 94 | +#import "KS3SetBucketLoggingRequest.h" | |
| 95 | +#import "KS3SetBucketLoggingResponse.h" | |
| 96 | +#import "KS3SetGrantACLRequest.h" | |
| 97 | +#import "KS3SetGrantACLResponse.h" | |
| 98 | +#import "KS3SetObjectACLRequest.h" | |
| 99 | +#import "KS3SetObjectACLResponse.h" | |
| 100 | +#import "KS3SetObjectGrantACLRequest.h" | |
| 101 | +#import "KS3SetObjectGrantACLResponse.h" | |
| 102 | +#import "KS3URLRequest.h" | |
| 103 | +#import "KS3UploadPartRequest.h" | |
| 104 | +#import "KS3UploadPartResponse.h" | |
| 105 | +#import "KS3WebServiceClient.h" | |
| 106 | +#import "KS3UploadManager.h" | |
| 107 | +#import "KS3Upload.h" | |
| 108 | +#import "KS3UploadRequest.h" | |
| 109 | +#endif | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3AbstractPutRequest.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3AbstractPutRequest.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3Request.h" | |
| 10 | +@interface KS3AbstractPutRequest : KS3Request | |
| 11 | + | |
| 12 | +- (void)addMetadataWithValue:(NSString *)value forKey:(NSString *)aKey; | |
| 13 | + | |
| 14 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3AbstractPutRequest.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3AbstractPutRequest.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3AbstractPutRequest.h" | |
| 10 | + | |
| 11 | +@implementation KS3AbstractPutRequest | |
| 12 | + | |
| 13 | +- (void)addMetadataWithValue:(NSString *)value forKey:(NSString *)aKey { | |
| 14 | +} | |
| 15 | + | |
| 16 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3AbstractWebServiceClient.h
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3AbstractWebServiceClient.m
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3AuthUtils.h
0 → 100644
| 1 | +// | |
| 2 | +// KingSoftAuthUtils.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/9/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3AuthUtils.h" | |
| 10 | +#import <Foundation/Foundation.h> | |
| 11 | +typedef enum { | |
| 12 | + KSS3_HTTPVerbGet, | |
| 13 | + KSS3_HTTPVerbPost, | |
| 14 | + KSS3_HTTPVerbPut, | |
| 15 | + KSS3_HTTPVerbDelete, | |
| 16 | + KSS3_HTTPVerbHead, | |
| 17 | +} KSS3_HTTPVerbType; | |
| 18 | + | |
| 19 | +@class KS3ServiceRequest; | |
| 20 | +@class KS3Credentials; | |
| 21 | +@class KS3URLRequest; | |
| 22 | + | |
| 23 | +@interface KS3AuthUtils : NSObject | |
| 24 | + | |
| 25 | ++ (NSString *)KSYSignatureWithSecretKey:(NSString *)secretKey | |
| 26 | + httpVerb:(NSString *)httpVerb | |
| 27 | + contentMd5:(NSString *)strContentMd5 | |
| 28 | + contentType:(NSString *)strContentType | |
| 29 | + date:(NSDate *)date | |
| 30 | + canonicalizedKssHeader:(NSString *)strHeaders | |
| 31 | + canonicalizedResource:(NSString *)strResource; | |
| 32 | + | |
| 33 | ++ (NSString *)KSYSignatureWithSecretKey:(NSString *)secretKey | |
| 34 | + httpVerb:(NSString *)httpVerb | |
| 35 | + contentMd5:(NSString *)strContentMd5 | |
| 36 | + contentType:(NSString *)strContentType | |
| 37 | + strDate:(NSString *)strDate | |
| 38 | + canonicalizedKssHeader:(NSString *)strHeaders | |
| 39 | + canonicalizedResource:(NSString *)strResource; | |
| 40 | + | |
| 41 | ++ (NSString *)KSYAuthorizationWithAccessKey:(NSString *)accessKey | |
| 42 | + secretKey:(NSString *)secretKey | |
| 43 | + httpVerbType:(KSS3_HTTPVerbType)httpVerb | |
| 44 | + contentMd5:(NSString *)strContentMd5 | |
| 45 | + contentType:(NSString *)strContentType | |
| 46 | + date:(NSDate *)date | |
| 47 | + canonicalizedKssHeader:(NSString *)strHeaders | |
| 48 | + canonicalizedResource:(NSString *)strResource; | |
| 49 | + | |
| 50 | ++ (NSString *)strDateWithDate:(NSDate *)date andType:(NSString *)strType; | |
| 51 | + | |
| 52 | ++ (void)signRequestV4:(KS3ServiceRequest *)serviceRequest | |
| 53 | + urlRequest:(KS3URLRequest *)urlRequest | |
| 54 | + headers:(NSMutableDictionary *)headers | |
| 55 | + payload:(NSString *)payload | |
| 56 | + credentials:(KS3Credentials *)credentials; | |
| 57 | + | |
| 58 | ++ (NSString *)KSYAuthorizationWithAccessKey:(NSString *)accessKey | |
| 59 | + secretKey:(NSString *)secretKey | |
| 60 | + httpVerb:(NSString *)httpVerb | |
| 61 | + contentMd5:(NSString *)strContentMd5 | |
| 62 | + contentType:(NSString *)strContentType | |
| 63 | + date:(NSDate *)date | |
| 64 | + canonicalizedKssHeader:(NSString *)strHeaders | |
| 65 | + canonicalizedResource:(NSString *)strResource; | |
| 66 | + | |
| 67 | ++ (NSString *)KSYAuthorizationWithAccessKey:(NSString *)accessKey | |
| 68 | + secretKey:(NSString *)secretKey | |
| 69 | + httpVerb:(NSString *)httpVerb | |
| 70 | + contentMd5:(NSString *)strContentMd5 | |
| 71 | + contentType:(NSString *)strContentType | |
| 72 | + strDate:(NSString *)strDate | |
| 73 | + canonicalizedKssHeader:(NSString *)strHeaders | |
| 74 | + canonicalizedResource:(NSString *)strResource; | |
| 75 | + | |
| 76 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3AuthUtils.m
0 → 100644
| 1 | +// | |
| 2 | +// KingSoftAuthUtils.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/9/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3AuthUtils.h" | |
| 10 | +#import "KS3Constants.h" | |
| 11 | +#import "KS3MD5Util.h" | |
| 12 | +#import "KS3ServiceRequest.h" | |
| 13 | + | |
| 14 | +@implementation KS3AuthUtils | |
| 15 | + | |
| 16 | ++ (NSString *)strAuthorizationWithHTTPVerb:(NSString *)accessKey | |
| 17 | + secretKey:(NSString *)secretKey | |
| 18 | + httpVerb:(KSS3_HTTPVerbType)httpVerb | |
| 19 | + contentMd5:(NSString *)strContentMd5 | |
| 20 | + contentType:(NSString *)strContentType | |
| 21 | + date:(NSDate *)date | |
| 22 | + canonicalizedKssHeader:(NSString *)strHeaders | |
| 23 | + canonicalizedResource:(NSString *)strResource { | |
| 24 | + NSString *strAuthorization = @"KSS "; | |
| 25 | + strAuthorization = [strAuthorization stringByAppendingString:accessKey]; | |
| 26 | + strAuthorization = [strAuthorization stringByAppendingString:@":"]; | |
| 27 | + NSString *strSignature = [self strSignatureWithHTTPVerb:secretKey | |
| 28 | + httpVerb:httpVerb | |
| 29 | + contentMd5:strContentMd5 | |
| 30 | + contentType:strContentType | |
| 31 | + date:date | |
| 32 | + canonicalizedKssHeader:strHeaders | |
| 33 | + canonicalizedResource:strResource]; | |
| 34 | + strAuthorization = [strAuthorization stringByAppendingString:strSignature]; | |
| 35 | + return strAuthorization; | |
| 36 | +} | |
| 37 | + | |
| 38 | ++ (NSString *)strSignatureWithHTTPVerb:(NSString *)secretKey | |
| 39 | + httpVerb:(KSS3_HTTPVerbType)httpVerb | |
| 40 | + contentMd5:(NSString *)strContentMd5 | |
| 41 | + contentType:(NSString *)strContentType | |
| 42 | + date:(NSDate *)date | |
| 43 | + canonicalizedKssHeader:(NSString *)strHeaders | |
| 44 | + canonicalizedResource:(NSString *)strResource { | |
| 45 | + // **** Http verb | |
| 46 | + NSString *strHttpVerb = @"GET"; | |
| 47 | + switch (httpVerb) { | |
| 48 | + case KSS3_HTTPVerbGet: | |
| 49 | + strHttpVerb = @"GET"; | |
| 50 | + break; | |
| 51 | + case KSS3_HTTPVerbPost: | |
| 52 | + strHttpVerb = @"POST"; | |
| 53 | + break; | |
| 54 | + case KSS3_HTTPVerbPut: | |
| 55 | + strHttpVerb = @"PUT"; | |
| 56 | + break; | |
| 57 | + case KSS3_HTTPVerbDelete: | |
| 58 | + strHttpVerb = @"DELETE"; | |
| 59 | + break; | |
| 60 | + default: | |
| 61 | + break; | |
| 62 | + } | |
| 63 | + strHttpVerb = [strHttpVerb stringByAppendingString:@"\n"]; | |
| 64 | + | |
| 65 | + // **** Content md5 | |
| 66 | + strContentMd5 = [strContentMd5 stringByAppendingString:@"\n"]; | |
| 67 | + | |
| 68 | + // **** Content type | |
| 69 | + strContentType = [strContentType stringByAppendingString:@"\n"]; | |
| 70 | + | |
| 71 | + // **** Date | |
| 72 | + NSString *strDate = [self strDateWithDate:date andType:@"GMT"]; | |
| 73 | + strDate = [strDate stringByAppendingString:@"\n"]; | |
| 74 | + | |
| 75 | + // **** Header & Resource | |
| 76 | + // strHeaders = [strHeaders stringByAppendingString:@"\n"]; | |
| 77 | + | |
| 78 | + // **** Signature | |
| 79 | + NSString *strToSig = [strHttpVerb stringByAppendingString:strContentMd5]; | |
| 80 | + strToSig = [strToSig stringByAppendingString:strContentType]; | |
| 81 | + strToSig = [strToSig stringByAppendingString:strDate]; | |
| 82 | + strToSig = [strToSig stringByAppendingString:strHeaders]; | |
| 83 | + strToSig = [strToSig stringByAppendingString:strResource]; | |
| 84 | + strToSig = [KS3MD5Util hexEncode:secretKey text:strToSig]; | |
| 85 | + return strToSig; | |
| 86 | +} | |
| 87 | + | |
| 88 | ++ (NSString *)strDateWithDate:(NSDate *)date andType:(NSString *)strType { | |
| 89 | + NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; | |
| 90 | + dateFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]; | |
| 91 | + [dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]]; | |
| 92 | + [dateFormatter setDateFormat:@"EEE, d MMM yyyy HH:mm:ss"]; | |
| 93 | + NSString *str = [dateFormatter stringFromDate:date]; | |
| 94 | + NSString *strTime = [str stringByAppendingFormat:@" %@", strType]; | |
| 95 | + return strTime; | |
| 96 | +} | |
| 97 | + | |
| 98 | ++ (NSString *)KSYSignatureWithSecretKey:(NSString *)secretKey | |
| 99 | + httpVerb:(NSString *)httpVerb | |
| 100 | + contentMd5:(NSString *)strContentMd5 | |
| 101 | + contentType:(NSString *)strContentType | |
| 102 | + date:(NSDate *)date | |
| 103 | + canonicalizedKssHeader:(NSString *)strHeaders | |
| 104 | + canonicalizedResource:(NSString *)strResource { | |
| 105 | + return [KS3AuthUtils KSYSignatureWithSecretKey:secretKey | |
| 106 | + httpVerb:httpVerb | |
| 107 | + contentMd5:strContentMd5 | |
| 108 | + contentType:strContentType | |
| 109 | + strDate:[self strDateWithDate:date andType:@"GMT"] | |
| 110 | + canonicalizedKssHeader:strHeaders | |
| 111 | + canonicalizedResource:strResource]; | |
| 112 | +} | |
| 113 | + | |
| 114 | ++ (NSString *)KSYSignatureWithSecretKey:(NSString *)secretKey | |
| 115 | + httpVerb:(NSString *)httpVerb | |
| 116 | + contentMd5:(NSString *)strContentMd5 | |
| 117 | + contentType:(NSString *)strContentType | |
| 118 | + strDate:(NSString *)strDate | |
| 119 | + canonicalizedKssHeader:(NSString *)strHeaders | |
| 120 | + canonicalizedResource:(NSString *)strResource { | |
| 121 | + // **** Signature | |
| 122 | + NSString *strToSig = httpVerb; | |
| 123 | + strToSig = [strToSig stringByAppendingString:@"\n"]; | |
| 124 | + | |
| 125 | + if(strContentMd5) { | |
| 126 | + strToSig = [strToSig stringByAppendingString:strContentMd5]; | |
| 127 | + } | |
| 128 | + strToSig = [strToSig stringByAppendingString:@"\n"]; | |
| 129 | + | |
| 130 | + if(strContentType) { | |
| 131 | + strToSig = [strToSig stringByAppendingString:strContentType]; | |
| 132 | + } | |
| 133 | + strToSig = [strToSig stringByAppendingString:@"\n"]; | |
| 134 | + | |
| 135 | + strToSig = [strToSig stringByAppendingString:strDate]; | |
| 136 | + strToSig = [strToSig stringByAppendingString:@"\n"]; | |
| 137 | + | |
| 138 | + if ([strHeaders stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]].length > 0) { | |
| 139 | + strToSig = [strToSig stringByAppendingString:strHeaders]; | |
| 140 | + strToSig = [strToSig stringByAppendingString:@"\n"]; | |
| 141 | + } | |
| 142 | + | |
| 143 | + strToSig = [strToSig stringByAppendingString:strResource]; | |
| 144 | + | |
| 145 | + NSLog(@"StringToSign: %@", strToSig); | |
| 146 | + | |
| 147 | + strToSig = [KS3MD5Util hexEncode:secretKey text:strToSig]; | |
| 148 | + return strToSig; | |
| 149 | +} | |
| 150 | + | |
| 151 | ++ (NSString *)KSYAuthorizationWithAccessKey:(NSString *)accessKey | |
| 152 | + secretKey:(NSString *)secretKey | |
| 153 | + httpVerbType:(KSS3_HTTPVerbType)httpVerb | |
| 154 | + contentMd5:(NSString *)strContentMd5 | |
| 155 | + contentType:(NSString *)strContentType | |
| 156 | + date:(NSDate *)date | |
| 157 | + canonicalizedKssHeader:(NSString *)strHeaders | |
| 158 | + canonicalizedResource:(NSString *)strResource { | |
| 159 | + NSString *strHttpVerb = @"GET"; | |
| 160 | + switch (httpVerb) { | |
| 161 | + case KSS3_HTTPVerbGet: | |
| 162 | + strHttpVerb = @"GET"; | |
| 163 | + break; | |
| 164 | + case KSS3_HTTPVerbPost: | |
| 165 | + strHttpVerb = @"POST"; | |
| 166 | + break; | |
| 167 | + case KSS3_HTTPVerbPut: | |
| 168 | + strHttpVerb = @"PUT"; | |
| 169 | + break; | |
| 170 | + case KSS3_HTTPVerbDelete: | |
| 171 | + strHttpVerb = @"DELETE"; | |
| 172 | + break; | |
| 173 | + default: | |
| 174 | + break; | |
| 175 | + } | |
| 176 | + | |
| 177 | + return [self KSYAuthorizationWithAccessKey:accessKey | |
| 178 | + secretKey:secretKey | |
| 179 | + httpVerb:strHttpVerb | |
| 180 | + contentMd5:strContentMd5 | |
| 181 | + contentType:strContentType | |
| 182 | + date:date | |
| 183 | + canonicalizedKssHeader:strHeaders | |
| 184 | + canonicalizedResource:strResource]; | |
| 185 | +} | |
| 186 | + | |
| 187 | ++ (NSString *)KSYAuthorizationWithAccessKey:(NSString *)accessKey | |
| 188 | + secretKey:(NSString *)secretKey | |
| 189 | + httpVerb:(NSString *)httpVerb | |
| 190 | + contentMd5:(NSString *)strContentMd5 | |
| 191 | + contentType:(NSString *)strContentType | |
| 192 | + date:(NSDate *)date | |
| 193 | + canonicalizedKssHeader:(NSString *)strHeaders | |
| 194 | + canonicalizedResource:(NSString *)strResource { | |
| 195 | + NSString *strAuthorization = @"KSS "; | |
| 196 | + strAuthorization = [strAuthorization stringByAppendingString:accessKey]; | |
| 197 | + strAuthorization = [strAuthorization stringByAppendingString:@":"]; | |
| 198 | + NSString *strSignature = [self KSYSignatureWithSecretKey:secretKey | |
| 199 | + httpVerb:httpVerb | |
| 200 | + contentMd5:strContentMd5 | |
| 201 | + contentType:strContentType | |
| 202 | + date:date | |
| 203 | + canonicalizedKssHeader:strHeaders | |
| 204 | + canonicalizedResource:strResource]; | |
| 205 | + strAuthorization = [strAuthorization stringByAppendingString:strSignature]; | |
| 206 | + return strAuthorization; | |
| 207 | +} | |
| 208 | + | |
| 209 | ++ (NSString *)KSYAuthorizationWithAccessKey:(NSString *)accessKey | |
| 210 | + secretKey:(NSString *)secretKey | |
| 211 | + httpVerb:(NSString *)httpVerb | |
| 212 | + contentMd5:(NSString *)strContentMd5 | |
| 213 | + contentType:(NSString *)strContentType | |
| 214 | + strDate:(NSString *)strDate | |
| 215 | + canonicalizedKssHeader:(NSString *)strHeaders | |
| 216 | + canonicalizedResource:(NSString *)strResource { | |
| 217 | + NSString *strAuthorization = @"KSS "; | |
| 218 | + strAuthorization = [strAuthorization stringByAppendingString:accessKey]; | |
| 219 | + strAuthorization = [strAuthorization stringByAppendingString:@":"]; | |
| 220 | + NSString *strSignature = [self KSYSignatureWithSecretKey:secretKey | |
| 221 | + httpVerb:httpVerb | |
| 222 | + contentMd5:strContentMd5 | |
| 223 | + contentType:strContentType | |
| 224 | + strDate:strDate | |
| 225 | + canonicalizedKssHeader:strHeaders | |
| 226 | + canonicalizedResource:strResource]; | |
| 227 | + strAuthorization = [strAuthorization stringByAppendingString:strSignature]; | |
| 228 | + return strAuthorization; | |
| 229 | +} | |
| 230 | + | |
| 231 | ++ (void)signRequestV4:(KS3ServiceRequest *)serviceRequest | |
| 232 | + urlRequest:(KS3URLRequest *)urlRequest | |
| 233 | + headers:(NSMutableDictionary *)headers | |
| 234 | + payload:(NSString *)payload | |
| 235 | + credentials:(KS3Credentials *)credentials { | |
| 236 | + [urlRequest setValue:serviceRequest.strDate forHTTPHeaderField:@"Date"]; | |
| 237 | + NSString *strAuthorization = @""; | |
| 238 | + if (credentials.accessKey != nil && credentials.secretKey != nil) { | |
| 239 | + strAuthorization = [KS3AuthUtils | |
| 240 | + KSYAuthorizationWithAccessKey:serviceRequest.credentials.accessKey | |
| 241 | + secretKey:serviceRequest.credentials.secretKey | |
| 242 | + httpVerb:serviceRequest.httpMethod | |
| 243 | + contentMd5:serviceRequest.contentMd5 | |
| 244 | + contentType:serviceRequest.contentType | |
| 245 | + date:serviceRequest.requestDate | |
| 246 | + canonicalizedKssHeader:serviceRequest.kSYHeader | |
| 247 | + canonicalizedResource:serviceRequest.kSYResource]; | |
| 248 | + } | |
| 249 | + [urlRequest setValue:strAuthorization forHTTPHeaderField:@"Authorization"]; | |
| 250 | + [urlRequest setURL:[NSURL URLWithString:serviceRequest.host]]; | |
| 251 | + [urlRequest setHTTPMethod:serviceRequest.httpMethod]; | |
| 252 | +} | |
| 253 | + | |
| 254 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3ClientException.h
0 → 100644
| 1 | +// | |
| 2 | +// KS3ClientException.h | |
| 3 | +// KS3YunSDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/22/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <Foundation/Foundation.h> | |
| 10 | + | |
| 11 | +@interface KS3ClientException : NSException | |
| 12 | + | |
| 13 | +@property(strong, nonatomic) NSString *message; | |
| 14 | + | |
| 15 | +@property(strong, nonatomic) NSError *error; | |
| 16 | + | |
| 17 | ++ (id)exceptionWithMessage:(NSString *)theMessage; | |
| 18 | + | |
| 19 | ++ (id)exceptionWithMessage:(NSString *)theMessage andError:(NSError *)theError; | |
| 20 | + | |
| 21 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3ClientException.m
0 → 100644
| 1 | +// | |
| 2 | +// KS3ClientException.m | |
| 3 | +// KS3YunSDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/22/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3ClientException.h" | |
| 10 | + | |
| 11 | +@implementation KS3ClientException | |
| 12 | + | |
| 13 | ++ (id)exceptionWithMessage:(NSString *)theMessage { | |
| 14 | + KS3ClientException *e = | |
| 15 | + [[[self class] alloc] initWithName:@"KS3ClientException" | |
| 16 | + reason:theMessage | |
| 17 | + userInfo:nil]; | |
| 18 | + e.error = nil; | |
| 19 | + e.message = theMessage; | |
| 20 | + | |
| 21 | + return e; | |
| 22 | +} | |
| 23 | + | |
| 24 | ++ (id)exceptionWithMessage:(NSString *)theMessage andError:(NSError *)theError { | |
| 25 | + KS3ClientException *e = | |
| 26 | + [[[self class] alloc] initWithName:@"KS3ClientException" | |
| 27 | + reason:theMessage | |
| 28 | + userInfo:nil]; | |
| 29 | + e.error = theError; | |
| 30 | + e.message = theMessage; | |
| 31 | + | |
| 32 | + return e; | |
| 33 | +} | |
| 34 | + | |
| 35 | +- (id)initWithMessage:(NSString *)theMessage { | |
| 36 | + self = | |
| 37 | + [super initWithName:@"KS3ClientException" reason:theMessage userInfo:nil]; | |
| 38 | + if (self) { | |
| 39 | + _message = theMessage; | |
| 40 | + } | |
| 41 | + return self; | |
| 42 | +} | |
| 43 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3Constants.h
0 → 100644
| 1 | +// | |
| 2 | +// KS3Constants.h | |
| 3 | +// KS3YunSDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/22/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#ifndef KS3YunSDK_KS3Constants_h | |
| 10 | +#define KS3YunSDK_KS3Constants_h | |
| 11 | + | |
| 12 | +#define kHttpMethodPut @"PUT" | |
| 13 | +#define kHttpMethodGet @"GET" | |
| 14 | +#define kHttpMethodHead @"HEAD" | |
| 15 | +#define kHttpMethodPost @"POST" | |
| 16 | +#define kHttpMethodDelete @"DELETE" | |
| 17 | +#define kHttpHdrHost @"Host" | |
| 18 | + | |
| 19 | +#define kKS3QueryParamPrefix @"prefix" | |
| 20 | +#define kKS3QueryParamMarker @"marker" | |
| 21 | +#define kKS3QueryParamDelimiter @"delimiter" | |
| 22 | +#define kKS3QueryParamMaxKeys @"max-keys" | |
| 23 | +#define kKS3QueryParamEncodingType @"encoding-type" | |
| 24 | +#define kKS3QueryParamResponseContentType @"response-content-type" | |
| 25 | +#define kKS3QueryParamResponseContentLanguage @"response-content-language" | |
| 26 | +#define kKS3QueryParamResponseExpires @"response-expires" | |
| 27 | +#define kKS3QueryParamResponseCacheControl @"response-cache-control" | |
| 28 | +#define kKS3QueryParamResponseContentDisposition @"response-content-disposition" | |
| 29 | +#define kKS3QueryParamResponseContentEncoding @"response-content-encoding" | |
| 30 | + | |
| 31 | +#define kKS3HttpHdrContentMD5 @"Content-MD5" | |
| 32 | + | |
| 33 | +#define kKS3SubResourceUploads @"uploads" | |
| 34 | +#define kKSHttpHdrContentEncoding @"Content-Encoding" | |
| 35 | +#define kKSHttpHdrContentDisposition @"Content-Disposition" | |
| 36 | +#define kKSHttpHdrCacheControl @"Cache-Control" | |
| 37 | +#define kKSHttpHdrContentLength @"Content-Length" | |
| 38 | +#define kKSHttpHdrContentType @"Content-Type" | |
| 39 | +#define kKSHttpHdrRange @"Range" | |
| 40 | +#define kKSHttpHdrIfModifiedSince @"If-Modified-Since" | |
| 41 | +#define kKSHttpHdrIfUnmodifiedSince @"If-Unmodified-Since" | |
| 42 | +#define kKSHttpHdrIfMatch @"If-Match" | |
| 43 | +#define kKSHttpHdrIfNoneMatch @"If-None-Match" | |
| 44 | + | |
| 45 | +#define kKS3QueryParamPartNumber @"partNumber" | |
| 46 | +#define kKS3QueryParamUploadId @"uploadId" | |
| 47 | +#define kKS3QueryParamMaxParts @"max-parts" | |
| 48 | +#define kKS3QueryParamPartNumberMarker @"part-number-marker" | |
| 49 | + | |
| 50 | +#endif | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3Credentials.h
0 → 100644
| 1 | +// | |
| 2 | +// KingSoftCredentials.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/9/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <Foundation/Foundation.h> | |
| 10 | + | |
| 11 | +@interface KS3Credentials : NSObject | |
| 12 | + | |
| 13 | +@property(strong, readonly, nonatomic) NSString *accessKey; | |
| 14 | +@property(strong, readonly, nonatomic) NSString *secretKey; | |
| 15 | + | |
| 16 | +- (id)initWithAccessKey:(NSString *)accessKey | |
| 17 | + withSecretKey:(NSString *)secretKey; | |
| 18 | + | |
| 19 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3Credentials.m
0 → 100644
| 1 | +// | |
| 2 | +// KingSoftCredentials.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/9/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3Credentials.h" | |
| 10 | + | |
| 11 | +@implementation KS3Credentials | |
| 12 | + | |
| 13 | +- (id)init { | |
| 14 | + self = [super init]; | |
| 15 | + if (self) { | |
| 16 | + _accessKey = nil; | |
| 17 | + _secretKey = nil; | |
| 18 | + } | |
| 19 | + return self; | |
| 20 | +} | |
| 21 | + | |
| 22 | +- (id)initWithAccessKey:(NSString *)accessKey | |
| 23 | + withSecretKey:(NSString *)secretKey { | |
| 24 | + self = [super init]; | |
| 25 | + if (self) { | |
| 26 | + _accessKey = accessKey; | |
| 27 | + _secretKey = secretKey; | |
| 28 | + NSLog(@"##### 初始化本地AK/SK #####"); | |
| 29 | + } | |
| 30 | + return self; | |
| 31 | +} | |
| 32 | + | |
| 33 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3ErrorHandler.h
0 → 100644
| 1 | +// | |
| 2 | +// KS3ErrorHandler.h | |
| 3 | +// KS3YunSDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/23/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <Foundation/Foundation.h> | |
| 10 | + | |
| 11 | +extern NSString *const KS3iOSSDKServiceErrorDomain; | |
| 12 | +extern NSString *const KS3iOSSDKClientErrorDomain; | |
| 13 | + | |
| 14 | +@interface KS3ErrorHandler : NSObject | |
| 15 | ++ (void)shouldThrowExceptions __attribute__((deprecated)); | |
| 16 | ++ (void)shouldNotThrowExceptions; | |
| 17 | ++ (BOOL)throwsExceptions; | |
| 18 | ++ (NSError *)errorFromExceptionWithThrowsExceptionOption: | |
| 19 | + (NSException *)exception; | |
| 20 | ++ (NSError *)errorFromException:(NSException *)exception; | |
| 21 | ++ (NSError *)errorFromException:(NSException *)exception | |
| 22 | + serviceErrorDomain:(NSString *)serviceErrorDomain | |
| 23 | + clientErrorDomain:(NSString *)clientErrorDomain; | |
| 24 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3ErrorHandler.m
0 → 100644
| 1 | +// | |
| 2 | +// KS3ErrorHandler.m | |
| 3 | +// KS3YunSDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/23/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +// Public Constants | |
| 10 | +#import "KS3ErrorHandler.h" | |
| 11 | +#import "KS3ClientException.h" | |
| 12 | + | |
| 13 | +NSString *const KS3iOSSDKServiceErrorDomain = | |
| 14 | + @"com.ks3yun.iossdk.ServiceErrorDomain"; | |
| 15 | +NSString *const KS3iOSSDKClientErrorDomain = | |
| 16 | + @"com.ks3yun.iossdk.ClientErrorDomain"; | |
| 17 | +static BOOL throwsExceptions = NO; | |
| 18 | + | |
| 19 | +@implementation KS3ErrorHandler | |
| 20 | + | |
| 21 | ++ (void)shouldThrowExceptions { | |
| 22 | + throwsExceptions = YES; | |
| 23 | +} | |
| 24 | + | |
| 25 | ++ (void)shouldNotThrowExceptions { | |
| 26 | + throwsExceptions = NO; | |
| 27 | +} | |
| 28 | + | |
| 29 | ++ (BOOL)throwsExceptions { | |
| 30 | + return throwsExceptions; | |
| 31 | +} | |
| 32 | + | |
| 33 | ++ (NSError *)errorFromExceptionWithThrowsExceptionOption: | |
| 34 | + (NSException *)exception { | |
| 35 | + if (exception == nil) { | |
| 36 | + return nil; | |
| 37 | + } else if (throwsExceptions == YES) { | |
| 38 | + @throw exception; | |
| 39 | + } else if (![exception isKindOfClass:[KS3ClientException class]]) { | |
| 40 | + // Fatal error. This should not happen. | |
| 41 | + @throw exception; | |
| 42 | + } | |
| 43 | + | |
| 44 | + return [KS3ErrorHandler errorFromException:exception]; | |
| 45 | +} | |
| 46 | + | |
| 47 | ++ (NSError *)errorFromException:(NSException *)exception | |
| 48 | + serviceErrorDomain:(NSString *)serviceErrorDomain | |
| 49 | + clientErrorDomain:(NSString *)clientErrorDomain { | |
| 50 | + NSError *error = nil; | |
| 51 | + | |
| 52 | + if ([exception isKindOfClass:[KS3ClientException class]]) { | |
| 53 | + KS3ClientException *clientException = (KS3ClientException *)exception; | |
| 54 | + | |
| 55 | + if (clientException.error != nil) { | |
| 56 | + error = clientException.error; | |
| 57 | + } else { | |
| 58 | + NSDictionary *userInfo = [NSDictionary | |
| 59 | + dictionaryWithObjectsAndKeys:clientException.message, @"message", | |
| 60 | + clientException, @"exception", nil]; | |
| 61 | + | |
| 62 | + error = | |
| 63 | + [NSError errorWithDomain:clientErrorDomain code:-1 userInfo:userInfo]; | |
| 64 | + } | |
| 65 | + } | |
| 66 | + | |
| 67 | + // Return nil for non Amazon exceptions. | |
| 68 | + return error; | |
| 69 | +} | |
| 70 | + | |
| 71 | ++ (NSError *)errorFromException:(NSException *)exception { | |
| 72 | + return [KS3ErrorHandler errorFromException:exception | |
| 73 | + serviceErrorDomain:KS3iOSSDKServiceErrorDomain | |
| 74 | + clientErrorDomain:KS3iOSSDKClientErrorDomain]; | |
| 75 | +} | |
| 76 | + | |
| 77 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3MD5Util.h
0 → 100644
| 1 | +// | |
| 2 | +// KingSoftMD5Util.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/9/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <Foundation/Foundation.h> | |
| 10 | + | |
| 11 | +@interface KS3MD5Util : NSObject | |
| 12 | ++ (NSString *)hexEncode:(NSString *)key text:(NSString *)text; | |
| 13 | + | |
| 14 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3MD5Util.m
0 → 100644
| 1 | +// | |
| 2 | +// KingSoftMD5Util.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/9/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3MD5Util.h" | |
| 10 | +#import <CommonCrypto/CommonDigest.h> | |
| 11 | +#import <CommonCrypto/CommonHMAC.h> | |
| 12 | + | |
| 13 | +@implementation KS3MD5Util | |
| 14 | + | |
| 15 | ++ (NSString *)hexEncode:(NSString *)key text:(NSString *)text { | |
| 16 | + const char *cKey = [key cStringUsingEncoding:NSUTF8StringEncoding]; | |
| 17 | + const char *cData = [text cStringUsingEncoding:NSUTF8StringEncoding]; | |
| 18 | + uint8_t cHMAC[CC_SHA1_DIGEST_LENGTH]; | |
| 19 | + CCHmac(kCCHmacAlgSHA1, cKey, strlen(cKey), cData, strlen(cData), cHMAC); | |
| 20 | + NSData *HMAC = | |
| 21 | + [[NSData alloc] initWithBytes:cHMAC length:CC_SHA1_DIGEST_LENGTH]; | |
| 22 | + NSString *strHash = @""; | |
| 23 | + if ([HMAC respondsToSelector:@selector(base64EncodedDataWithOptions:)]) { | |
| 24 | + strHash = [HMAC base64EncodedStringWithOptions: | |
| 25 | + NSDataBase64Encoding64CharacterLineLength]; | |
| 26 | + } else { | |
| 27 | + strHash = [HMAC base64Encoding]; | |
| 28 | + } | |
| 29 | + | |
| 30 | + return strHash; | |
| 31 | +} | |
| 32 | + | |
| 33 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3Request.h
0 → 100644
| 1 | +// | |
| 2 | +// S3Request.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/9/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3ServiceRequest.h" | |
| 10 | + | |
| 11 | +@interface KS3Request : KS3ServiceRequest | |
| 12 | +@property(strong, nonatomic) NSString *bucket; | |
| 13 | +@property(nonatomic, assign) int64_t contentLength; | |
| 14 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3Request.m
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3Response.h
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3Response.m
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3SDKUtil.h
0 → 100644
| 1 | +// | |
| 2 | +// KingSoftSDKUtil.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/9/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <Foundation/Foundation.h> | |
| 10 | +extern NSString *const KSYS3DefaultRunLoopMode; | |
| 11 | +@interface KS3SDKUtil : NSObject | |
| 12 | +NSDate *getCurrentDate(); | |
| 13 | ++ (NSString *)base64md5FromData:(NSData *)data; | |
| 14 | ++ (NSString *)urlEncode:(NSString *)input; | |
| 15 | ++ (NSString *)applicationDocumentFilePath; | |
| 16 | ++ (BOOL)isIpString:(NSString *)aString; | |
| 17 | ++ (BOOL)isVaildBucketName:(NSString *)bucket; | |
| 18 | +@end | |
| 19 | + | |
| 20 | +@interface NSData (WithBase64) | |
| 21 | + | |
| 22 | +/** | |
| 23 | + * Return a base64 encoded representation of the data. | |
| 24 | + * | |
| 25 | + * @return base64 encoded representation of the data. | |
| 26 | + */ | |
| 27 | +- (NSString *)base64EncodedString; | |
| 28 | + | |
| 29 | +/** | |
| 30 | + * Decode a base-64 encoded string into a new NSData object. | |
| 31 | + * | |
| 32 | + * @param encodedString an base-64 encoded string | |
| 33 | + * | |
| 34 | + * @return NSData with the data represented by the encoded string. | |
| 35 | + */ | |
| 36 | ++ (NSData *)dataWithBase64EncodedString:(NSString *)encodedString; | |
| 37 | + | |
| 38 | +@end | |
| 39 | +@interface NSString (Md5) | |
| 40 | +- (NSString *)MD5Hash; | |
| 41 | +@end | |
| 0 | 42 | \ No newline at end of file | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3SDKUtil.m
0 → 100644
| 1 | +// | |
| 2 | +// KingSoftSDKUtil.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/9/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3SDKUtil.h" | |
| 10 | +//#import "RegexKitLite.h" | |
| 11 | +#import <CommonCrypto/CommonDigest.h> | |
| 12 | +static char base64EncodingTable[] = | |
| 13 | + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; | |
| 14 | + | |
| 15 | +static const short base64DecodingTable[] = { | |
| 16 | + -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -2, -1, -1, -2, -2, -2, -2, -2, | |
| 17 | + -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, | |
| 18 | + -2, -2, -2, -2, -2, 62, -2, -2, -2, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, | |
| 19 | + 61, -2, -2, -2, -2, -2, -2, -2, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, | |
| 20 | + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -2, -2, -2, -2, | |
| 21 | + -2, -2, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, | |
| 22 | + 43, 44, 45, 46, 47, 48, 49, 50, 51, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, | |
| 23 | + -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, | |
| 24 | + -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, | |
| 25 | + -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, | |
| 26 | + -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, | |
| 27 | + -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, | |
| 28 | + -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, | |
| 29 | + -2, -2, -2, -2, -2, -2, -2, -2, -2}; | |
| 30 | +NSString *const KSYS3DefaultRunLoopMode = @"com.ksyun.DefaultRunLoopMode"; | |
| 31 | +@implementation KS3SDKUtil | |
| 32 | +NSDate *getCurrentDate() { return [NSDate date]; } | |
| 33 | ++ (NSString *)base64md5FromData:(NSData *)data { | |
| 34 | + | |
| 35 | + const void *cStr = [data bytes]; | |
| 36 | + unsigned char result[CC_MD5_DIGEST_LENGTH]; | |
| 37 | + | |
| 38 | + CC_MD5(cStr, (uint32_t)[data length], result); | |
| 39 | + | |
| 40 | + NSData *md5 = | |
| 41 | + [[NSData alloc] initWithBytes:result length:CC_MD5_DIGEST_LENGTH]; | |
| 42 | + return [md5 base64EncodedString]; | |
| 43 | +} | |
| 44 | ++ (NSString *)urlEncode:(NSString *)input { | |
| 45 | + NSString *encoded = | |
| 46 | + (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes( | |
| 47 | + NULL, (CFStringRef)input, NULL, | |
| 48 | + (CFStringRef) @"!*'\"();:@&=+$,/?%#[]% ", kCFStringEncodingUTF8)); | |
| 49 | + return encoded; | |
| 50 | +} | |
| 51 | ++ (NSString *)applicationDocumentFilePath { | |
| 52 | + NSArray *documentPaths = NSSearchPathForDirectoriesInDomains( | |
| 53 | + NSDocumentDirectory, NSUserDomainMask, YES); | |
| 54 | + return documentPaths[0]; | |
| 55 | +} | |
| 56 | + | |
| 57 | ++ (BOOL)isIpString:(NSString *)aString { | |
| 58 | + NSString *regex = @"(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|" | |
| 59 | + @"2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5]" | |
| 60 | + @")\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])"; | |
| 61 | + NSPredicate *pred = | |
| 62 | + [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex]; | |
| 63 | + BOOL isMatch = [pred evaluateWithObject:aString]; | |
| 64 | + return isMatch; | |
| 65 | + | |
| 66 | + // NSString *regex = | |
| 67 | + // @"(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])"; | |
| 68 | + // return [aString isMatchedByRegex:regex]; | |
| 69 | +} | |
| 70 | + | |
| 71 | ++ (BOOL)isVaildBucketName:(NSString *)bucket { | |
| 72 | + NSString *strReg5 = @"^[a-z0-9-.]+$"; | |
| 73 | + NSPredicate *pred = | |
| 74 | + [NSPredicate predicateWithFormat:@"SELF MATCHES %@", strReg5]; | |
| 75 | + BOOL isMatch = [pred evaluateWithObject:bucket]; | |
| 76 | + return !isMatch; | |
| 77 | + | |
| 78 | + // NSString *strReg5 = @"^[a-z0-9-.]+$"; | |
| 79 | + // return ![bucket isMatchedByRegex:strReg5]; | |
| 80 | +} | |
| 81 | +@end | |
| 82 | + | |
| 83 | +@implementation NSData (WithBase64) | |
| 84 | + | |
| 85 | +- (NSString *)base64EncodedString { | |
| 86 | + NSMutableString *result; | |
| 87 | + unsigned char *raw; | |
| 88 | + unsigned long length; | |
| 89 | + short i, nCharsToWrite; | |
| 90 | + long cursor; | |
| 91 | + unsigned char inbytes[3], outbytes[4]; | |
| 92 | + | |
| 93 | + length = [self length]; | |
| 94 | + | |
| 95 | + if (length < 1) { | |
| 96 | + return @""; | |
| 97 | + } | |
| 98 | + | |
| 99 | + result = [NSMutableString stringWithCapacity:length]; | |
| 100 | + raw = (unsigned char *)[self bytes]; | |
| 101 | + // Take 3 chars at a time, and encode to 4 | |
| 102 | + for (cursor = 0; cursor < length; cursor += 3) { | |
| 103 | + for (i = 0; i < 3; i++) { | |
| 104 | + if (cursor + i < length) { | |
| 105 | + inbytes[i] = raw[cursor + i]; | |
| 106 | + } else { | |
| 107 | + inbytes[i] = 0; | |
| 108 | + } | |
| 109 | + } | |
| 110 | + | |
| 111 | + outbytes[0] = (inbytes[0] & 0xFC) >> 2; | |
| 112 | + outbytes[1] = ((inbytes[0] & 0x03) << 4) | ((inbytes[1] & 0xF0) >> 4); | |
| 113 | + outbytes[2] = ((inbytes[1] & 0x0F) << 2) | ((inbytes[2] & 0xC0) >> 6); | |
| 114 | + outbytes[3] = inbytes[2] & 0x3F; | |
| 115 | + | |
| 116 | + nCharsToWrite = 4; | |
| 117 | + | |
| 118 | + switch (length - cursor) { | |
| 119 | + case 1: | |
| 120 | + nCharsToWrite = 2; | |
| 121 | + break; | |
| 122 | + | |
| 123 | + case 2: | |
| 124 | + nCharsToWrite = 3; | |
| 125 | + break; | |
| 126 | + } | |
| 127 | + for (i = 0; i < nCharsToWrite; i++) { | |
| 128 | + [result appendFormat:@"%c", base64EncodingTable[outbytes[i]]]; | |
| 129 | + } | |
| 130 | + for (i = nCharsToWrite; i < 4; i++) { | |
| 131 | + [result appendString:@"="]; | |
| 132 | + } | |
| 133 | + } | |
| 134 | + | |
| 135 | + return [NSString stringWithString:result]; // convert to immutable string | |
| 136 | +} | |
| 137 | + | |
| 138 | ++ (NSData *)dataWithBase64EncodedString:(NSString *)encodedString { | |
| 139 | + if (nil == encodedString || [encodedString length] < 1) { | |
| 140 | + return [NSData data]; | |
| 141 | + } | |
| 142 | + | |
| 143 | + const char *inputPtr; | |
| 144 | + unsigned char *buffer; | |
| 145 | + | |
| 146 | + NSInteger length; | |
| 147 | + | |
| 148 | + inputPtr = [encodedString cStringUsingEncoding:NSASCIIStringEncoding]; | |
| 149 | + length = strlen(inputPtr); | |
| 150 | + char ch; | |
| 151 | + NSInteger inputIdx = 0, outputIdx = 0, padIdx; | |
| 152 | + | |
| 153 | + buffer = calloc(length, sizeof(unsigned char)); | |
| 154 | + | |
| 155 | + while (((ch = *inputPtr++) != '\0') && (length-- > 0)) { | |
| 156 | + if (ch == '=') { | |
| 157 | + if (*inputPtr != '=' && ((inputIdx % 4) == 1)) { | |
| 158 | + free(buffer); | |
| 159 | + return nil; | |
| 160 | + } | |
| 161 | + continue; | |
| 162 | + } | |
| 163 | + | |
| 164 | + ch = base64DecodingTable[ch]; | |
| 165 | + | |
| 166 | + if (ch < 0) { // whitespace or other invalid character | |
| 167 | + continue; | |
| 168 | + } | |
| 169 | + | |
| 170 | + switch (inputIdx % 4) { | |
| 171 | + case 0: | |
| 172 | + buffer[outputIdx] = ch << 2; | |
| 173 | + break; | |
| 174 | + | |
| 175 | + case 1: | |
| 176 | + buffer[outputIdx++] |= ch >> 4; | |
| 177 | + buffer[outputIdx] = (ch & 0x0f) << 4; | |
| 178 | + break; | |
| 179 | + | |
| 180 | + case 2: | |
| 181 | + buffer[outputIdx++] |= ch >> 2; | |
| 182 | + buffer[outputIdx] = (ch & 0x03) << 6; | |
| 183 | + break; | |
| 184 | + | |
| 185 | + case 3: | |
| 186 | + buffer[outputIdx++] |= ch; | |
| 187 | + break; | |
| 188 | + } | |
| 189 | + | |
| 190 | + inputIdx++; | |
| 191 | + } | |
| 192 | + | |
| 193 | + padIdx = outputIdx; | |
| 194 | + | |
| 195 | + if (ch == '=') { | |
| 196 | + switch (inputIdx % 4) { | |
| 197 | + case 1: | |
| 198 | + free(buffer); | |
| 199 | + return nil; | |
| 200 | + | |
| 201 | + case 2: | |
| 202 | + padIdx++; | |
| 203 | + | |
| 204 | + case 3: | |
| 205 | + buffer[padIdx] = 0; | |
| 206 | + } | |
| 207 | + } | |
| 208 | + | |
| 209 | + NSData *objData = [[NSData alloc] initWithBytes:buffer length:outputIdx]; | |
| 210 | + free(buffer); | |
| 211 | + return objData; | |
| 212 | +} | |
| 213 | + | |
| 214 | +@end | |
| 215 | +@implementation NSString (Md5) | |
| 216 | + | |
| 217 | +- (NSString *)MD5Hash { | |
| 218 | + const char *cStr = [self UTF8String]; | |
| 219 | + unsigned char result[16]; | |
| 220 | + CC_MD5(cStr, (CC_LONG)strlen(cStr), result); | |
| 221 | + return [NSString | |
| 222 | + stringWithFormat: | |
| 223 | + @"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X", | |
| 224 | + result[0], result[1], result[2], result[3], result[4], result[5], | |
| 225 | + result[6], result[7], result[8], result[9], result[10], result[11], | |
| 226 | + result[12], result[13], result[14], result[15]]; | |
| 227 | +} | |
| 228 | + | |
| 229 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3ServiceRequest.h
0 → 100644
| 1 | +// | |
| 2 | +// KingSoftServiceRequest.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/9/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3Credentials.h" | |
| 10 | +#import "KS3URLRequest.h" | |
| 11 | +#import <Foundation/Foundation.h> | |
| 12 | +@class KS3ServiceResponse; | |
| 13 | +@class KS3ClientException; | |
| 14 | +@protocol KingSoftServiceRequestDelegate; | |
| 15 | +@interface KS3ServiceRequest : NSObject | |
| 16 | +@property(strong, nonatomic) KS3Credentials *credentials; | |
| 17 | +@property(strong, nonatomic) KS3URLRequest *urlRequest; | |
| 18 | +@property(strong, nonatomic) NSString *httpMethod; | |
| 19 | +@property(strong, nonatomic) NSURLConnection *urlConnection; | |
| 20 | +@property(strong, readonly, nonatomic) NSURL *url; | |
| 21 | +@property(strong, nonatomic) NSString *host; | |
| 22 | +@property(strong, nonatomic) NSString *contentMd5; | |
| 23 | +@property(strong, nonatomic) NSString *contentType; | |
| 24 | +@property(strong, nonatomic) NSString *kSYResource; | |
| 25 | +@property(strong, nonatomic) NSDate *requestDate; | |
| 26 | +@property(strong, nonatomic) NSString *strDate; | |
| 27 | +@property(nonatomic, strong) NSString *strKS3Token; | |
| 28 | +@property NSTimeInterval timeoutInterval; | |
| 29 | +@property(weak, nonatomic) id<KingSoftServiceRequestDelegate> delegate; | |
| 30 | + | |
| 31 | +- (KS3URLRequest *)configureURLRequest; | |
| 32 | +- (void)sign; | |
| 33 | +- (KS3ClientException *)validate; | |
| 34 | +- (void)cancel; | |
| 35 | +- (NSString *)URLEncodedString:(NSString *)str; | |
| 36 | +- (void)setCompleteRequest; | |
| 37 | + | |
| 38 | +- (NSString *)kSYHeader; | |
| 39 | +@end | |
| 40 | + | |
| 41 | +@protocol KingSoftServiceRequestDelegate <NSObject> | |
| 42 | + | |
| 43 | +@optional | |
| 44 | + | |
| 45 | +- (void)request:(KS3ServiceRequest *)request | |
| 46 | + didReceiveResponse:(NSURLResponse *)response; | |
| 47 | + | |
| 48 | +- (void)request:(KS3ServiceRequest *)request didReceiveData:(NSData *)data; | |
| 49 | + | |
| 50 | +- (void)request:(KS3ServiceRequest *)request | |
| 51 | + didCompleteWithResponse:(KS3ServiceResponse *)response; | |
| 52 | + | |
| 53 | +- (void)request:(KS3ServiceRequest *)request | |
| 54 | + didSendData:(long long)bytesWritten | |
| 55 | + totalBytesWritten:(long long)totalBytesWritten | |
| 56 | + totalBytesExpectedToWrite:(long long)totalBytesExpectedToWrite; | |
| 57 | + | |
| 58 | +- (void)request:(KS3ServiceRequest *)request didFailWithError:(NSError *)error; | |
| 59 | + | |
| 60 | +- (void)request:(KS3ServiceRequest *)request | |
| 61 | + didFailWithServiceException:(NSException *)exception | |
| 62 | + __attribute__((deprecated)); | |
| 63 | + | |
| 64 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3ServiceRequest.m
0 → 100644
| 1 | +// | |
| 2 | +// KingSoftServiceRequest.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/9/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3ServiceRequest.h" | |
| 10 | +#import "KS3AuthUtils.h" | |
| 11 | +#import "KS3ClientException.h" | |
| 12 | + | |
| 13 | +@implementation KS3ServiceRequest | |
| 14 | + | |
| 15 | +- (instancetype)init { | |
| 16 | + self = [super init]; | |
| 17 | + if (self) { | |
| 18 | + _contentMd5 = @""; | |
| 19 | + _contentType = @""; | |
| 20 | + _kSYResource = @""; | |
| 21 | + _host = @""; | |
| 22 | + _requestDate = [NSDate date]; | |
| 23 | + _strDate = [KS3AuthUtils strDateWithDate:_requestDate andType:@"GMT"]; | |
| 24 | + | |
| 25 | + _strKS3Token = nil; | |
| 26 | + _urlRequest = [KS3URLRequest new]; | |
| 27 | + } | |
| 28 | + return self; | |
| 29 | +} | |
| 30 | + | |
| 31 | +- (void)setCompleteRequest { | |
| 32 | +} | |
| 33 | +- (void)sign { | |
| 34 | + [KS3AuthUtils signRequestV4:self | |
| 35 | + urlRequest:_urlRequest | |
| 36 | + headers:nil | |
| 37 | + payload:nil | |
| 38 | + credentials:_credentials]; | |
| 39 | +} | |
| 40 | + | |
| 41 | +- (KS3URLRequest *)configureURLRequest { | |
| 42 | + [self sign]; | |
| 43 | + return _urlRequest; | |
| 44 | +} | |
| 45 | + | |
| 46 | +- (KS3ClientException *)validate { | |
| 47 | + return nil; | |
| 48 | +} | |
| 49 | +- (void)cancel { | |
| 50 | + [self.urlConnection cancel]; | |
| 51 | +} | |
| 52 | + | |
| 53 | +- (NSString *)URLEncodedString:(NSString *)str { | |
| 54 | + NSMutableString *output = [NSMutableString string]; | |
| 55 | + const unsigned char *source = (const unsigned char *)[str UTF8String]; | |
| 56 | + | |
| 57 | + int sourceLen = (int)strlen((const char *)source); | |
| 58 | + | |
| 59 | + for (int i = 0; i < sourceLen; ++i) { | |
| 60 | + | |
| 61 | + const unsigned char thisChar = source[i]; | |
| 62 | + | |
| 63 | + if (thisChar == ' ') { | |
| 64 | + | |
| 65 | + [output appendString:@"+"]; | |
| 66 | + | |
| 67 | + } else if (thisChar == '.' || thisChar == '-' || thisChar == '_' || | |
| 68 | + thisChar == '~' || | |
| 69 | + | |
| 70 | + (thisChar >= 'a' && thisChar <= 'z') || | |
| 71 | + | |
| 72 | + (thisChar >= 'A' && thisChar <= 'Z') || | |
| 73 | + | |
| 74 | + (thisChar >= '0' && thisChar <= '9')) { | |
| 75 | + | |
| 76 | + [output appendFormat:@"%c", thisChar]; | |
| 77 | + | |
| 78 | + } else { | |
| 79 | + | |
| 80 | + [output appendFormat:@"%%%02X", thisChar]; | |
| 81 | + } | |
| 82 | + } | |
| 83 | + output = [[output stringByReplacingOccurrencesOfString:@"%2F" withString:@"/"] | |
| 84 | + mutableCopy]; | |
| 85 | + output = [[output stringByReplacingOccurrencesOfString:@"+" withString:@"%20"] | |
| 86 | + mutableCopy]; | |
| 87 | + output = [[output stringByReplacingOccurrencesOfString:@"*" withString:@"%2A"] | |
| 88 | + mutableCopy]; | |
| 89 | + output = [[output stringByReplacingOccurrencesOfString:@"%7E" withString:@"~"] | |
| 90 | + mutableCopy]; | |
| 91 | + | |
| 92 | + return output; | |
| 93 | +} | |
| 94 | + | |
| 95 | +- (NSString *)kSYHeader { | |
| 96 | + NSDictionary *httpHeaders = self.urlRequest.allHTTPHeaderFields; | |
| 97 | + NSMutableArray *headerArray = [[NSMutableArray alloc] init]; | |
| 98 | + for (NSString *headerStr in httpHeaders) { | |
| 99 | + if ([headerStr hasPrefix:@"x-kss-"]) { | |
| 100 | + [headerArray addObject:[NSString stringWithFormat:@"%@:%@", headerStr, httpHeaders[headerStr]]]; | |
| 101 | + } | |
| 102 | + } | |
| 103 | + | |
| 104 | + headerArray = [headerArray sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) { | |
| 105 | + return [obj1 compare:obj2]; | |
| 106 | + }]; | |
| 107 | + | |
| 108 | + return [headerArray componentsJoinedByString:@"\n"]; | |
| 109 | +} | |
| 110 | + | |
| 111 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3ServiceResponse.h
0 → 100644
| 1 | +// | |
| 2 | +// KingSoftServiceResponse.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/9/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <Foundation/Foundation.h> | |
| 10 | +@class KS3ServiceRequest; | |
| 11 | +@interface KS3ServiceResponse : NSObject { | |
| 12 | + NSMutableData *body; | |
| 13 | +} | |
| 14 | +@property(nonatomic, readonly) NSData *body; | |
| 15 | +@property(nonatomic, readonly) BOOL isFinishedLoading; | |
| 16 | +@property(nonatomic, readonly) BOOL didTimeout; | |
| 17 | +@property(nonatomic, strong) NSDictionary *responseHeader; | |
| 18 | +@property(nonatomic) int32_t httpStatusCode; | |
| 19 | + | |
| 20 | +@property(readonly, copy) NSURL *URL; | |
| 21 | + | |
| 22 | +@property(readonly, copy) NSString *MIMEType; | |
| 23 | + | |
| 24 | +@property(readonly) long long expectedContentLength; | |
| 25 | + | |
| 26 | +@property(readonly, copy) NSString *textEncodingName; | |
| 27 | + | |
| 28 | +@property(readonly, copy) NSString *suggestedFilename; | |
| 29 | + | |
| 30 | +@property(strong, nonatomic) NSError *error; | |
| 31 | + | |
| 32 | +@property(nonatomic, strong) KS3ServiceRequest *request; | |
| 33 | +- (void)timeout; | |
| 34 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3ServiceResponse.m
0 → 100644
| 1 | +// | |
| 2 | +// KingSoftServiceResponse.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/9/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3ServiceResponse.h" | |
| 10 | +#import "KS3ListPartsResponse.h" | |
| 11 | +#import "KS3Part.h" | |
| 12 | +#import "KS3ServiceRequest.h" | |
| 13 | +#import "KS3UploadPartRequest.h" | |
| 14 | +@implementation KS3ServiceResponse | |
| 15 | + | |
| 16 | +- (NSData *)body { | |
| 17 | + return [NSData dataWithData:body]; | |
| 18 | +} | |
| 19 | + | |
| 20 | +- (void)connection:(NSURLConnection *)connection | |
| 21 | +didReceiveResponse:(NSURLResponse *)response { | |
| 22 | + NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response; | |
| 23 | + // setting response header to use it in shouldRetry method of | |
| 24 | + // AmazonAbstractWebServiceClient | |
| 25 | + _responseHeader = [httpResponse allHeaderFields]; | |
| 26 | + NSLog(@"Response Headers:"); | |
| 27 | + for (NSString *header in [[httpResponse allHeaderFields] allKeys]) { | |
| 28 | + NSLog(@"%@ = [%@]", header, | |
| 29 | + [[httpResponse allHeaderFields] valueForKey:header]); | |
| 30 | + } | |
| 31 | + self.httpStatusCode = (int32_t)[httpResponse statusCode]; | |
| 32 | + NSLog(@"httpStatus: %d", self.httpStatusCode); | |
| 33 | + [body setLength:0]; | |
| 34 | + if ([self.request.delegate | |
| 35 | + respondsToSelector:@selector(request:didReceiveResponse:)]) { | |
| 36 | + [self.request.delegate request:self.request didReceiveResponse:response]; | |
| 37 | + } | |
| 38 | +} | |
| 39 | + | |
| 40 | +- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data { | |
| 41 | + if (nil == body) { | |
| 42 | + body = [NSMutableData data]; | |
| 43 | + } | |
| 44 | + [body appendData:data]; | |
| 45 | + if ([self.request.delegate | |
| 46 | + respondsToSelector:@selector(request:didReceiveData:)]) { | |
| 47 | + [self.request.delegate request:self.request didReceiveData:data]; | |
| 48 | + } | |
| 49 | +} | |
| 50 | + | |
| 51 | +- (void)connectionDidFinishLoading:(NSURLConnection *)connection { | |
| 52 | + _isFinishedLoading = YES; | |
| 53 | + NSString *tmpStr = | |
| 54 | + [[NSString alloc] initWithData:body encoding:NSUTF8StringEncoding]; | |
| 55 | + NSLog(@"Response Body:\n%@", tmpStr); | |
| 56 | + [self processBody]; | |
| 57 | + if ([self.request isKindOfClass:[KS3ListPartsResponse class]]) { | |
| 58 | + KS3ListPartsResponse *listParts = (KS3ListPartsResponse *)self.request; | |
| 59 | + NSLog(@"%@", listParts.listResult.parts); | |
| 60 | + for (KS3Part *part in listParts.listResult.parts) { | |
| 61 | + NSLog(@"part = %@", part); | |
| 62 | + } | |
| 63 | + } | |
| 64 | + if (_request.delegate && | |
| 65 | + [_request.delegate | |
| 66 | + respondsToSelector:@selector(request:didCompleteWithResponse:)]) { | |
| 67 | + [_request.delegate request:self.request didCompleteWithResponse:self]; | |
| 68 | + } | |
| 69 | +} | |
| 70 | + | |
| 71 | +- (void)connection:(NSURLConnection *)connection | |
| 72 | + didFailWithError:(NSError *)theError { | |
| 73 | + _isFinishedLoading = YES; | |
| 74 | + NSDictionary *info = [theError userInfo]; | |
| 75 | + NSLog(@"%@", info); | |
| 76 | + self.error = theError; | |
| 77 | + // for (id key in info) | |
| 78 | + // { | |
| 79 | + // NSLog(@"UserInfo.%@ = %@\n", [key description], [[info | |
| 80 | + // valueForKey:key] description]); | |
| 81 | + // } | |
| 82 | + if ([self.request.delegate | |
| 83 | + respondsToSelector:@selector(request:didFailWithError:)]) { | |
| 84 | + [self.request.delegate request:self.request didFailWithError:theError]; | |
| 85 | + } | |
| 86 | +} | |
| 87 | + | |
| 88 | +- (void)connection:(NSURLConnection *)connection | |
| 89 | + didSendBodyData:(NSInteger)bytesWritten | |
| 90 | + totalBytesWritten:(NSInteger)totalBytesWritten | |
| 91 | + totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite { | |
| 92 | + | |
| 93 | + //上传暂停 | |
| 94 | + if ([self.request isKindOfClass:[KS3UploadPartRequest class]]) { | |
| 95 | + KS3UploadPartRequest *req = (KS3UploadPartRequest *)self.request; | |
| 96 | + if (req.multipartUpload.isPaused) { | |
| 97 | + [self.request cancel]; | |
| 98 | + } | |
| 99 | + } | |
| 100 | + | |
| 101 | + if ([self.request.delegate | |
| 102 | + respondsToSelector:@selector(request: | |
| 103 | + didSendData: | |
| 104 | + totalBytesWritten: | |
| 105 | + totalBytesExpectedToWrite:)]) { | |
| 106 | + [self.request.delegate request:self.request | |
| 107 | + didSendData:(long long)bytesWritten | |
| 108 | + totalBytesWritten:(long long)totalBytesWritten | |
| 109 | + totalBytesExpectedToWrite:(long long)totalBytesExpectedToWrite]; | |
| 110 | + } | |
| 111 | +} | |
| 112 | + | |
| 113 | +// When a request gets a redirect due to the bucket being in a different region, | |
| 114 | +// The request gets re-written with a GET http method. This is to set the method | |
| 115 | +// back to | |
| 116 | +// the appropriate method if necessary | |
| 117 | +- (NSURLRequest *)connection:(NSURLConnection *)connection | |
| 118 | + willSendRequest:(NSURLRequest *)proposedRequest | |
| 119 | + redirectResponse:(NSURLResponse *)redirectResponse { | |
| 120 | + return proposedRequest; | |
| 121 | +} | |
| 122 | + | |
| 123 | +- (NSCachedURLResponse *)connection:(NSURLConnection *)connection | |
| 124 | + willCacheResponse:(NSCachedURLResponse *)cachedResponse { | |
| 125 | + return nil; | |
| 126 | +} | |
| 127 | + | |
| 128 | +- (void)processBody { | |
| 129 | +} | |
| 130 | +- (void)timeout { | |
| 131 | +} | |
| 132 | + | |
| 133 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3URLRequest.h
0 → 100644
| 1 | +// | |
| 2 | +// KingSoftURLRequest.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/9/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3Credentials.h" | |
| 10 | +#import <Foundation/Foundation.h> | |
| 11 | + | |
| 12 | +@interface KS3URLRequest : NSMutableURLRequest | |
| 13 | +@property(weak, nonatomic) KS3Credentials *credentials; | |
| 14 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3URLRequest.m
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3WebServiceClient.h
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3WebServiceClient.m
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/Advanced/Upload/KS3UploadManager.h
0 → 100644
| 1 | +// | |
| 2 | +// KS3UploadManager.h | |
| 3 | +// Pods | |
| 4 | +// | |
| 5 | +// Created by Sun Peng on 2017/4/27. | |
| 6 | +// | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <Foundation/Foundation.h> | |
| 10 | + | |
| 11 | +@class KS3Client; | |
| 12 | +@class KS3Request; | |
| 13 | +@class KS3Response; | |
| 14 | +@class KS3UploadRequest; | |
| 15 | +@class KS3Upload; | |
| 16 | + | |
| 17 | +#define kKB 1024 | |
| 18 | +#define kMB 1048576 | |
| 19 | + | |
| 20 | +typedef void (^KS3UploadErrorHandler)(KS3Upload *upload, NSError *error); | |
| 21 | +typedef void (^KS3UploadCompletionHandler)(KS3Upload *upload, KS3Response *response); | |
| 22 | +typedef void (^KS3UploadProgressHandler)(NSString *key, double percent); | |
| 23 | +typedef BOOL (^KS3UploadCancellationSignal)(NSString *key); | |
| 24 | +typedef NSString* (^KS3AuthCalculateHandler)(KS3Request *request); | |
| 25 | + | |
| 26 | +@interface KS3UploadManager : NSObject | |
| 27 | + | |
| 28 | +- (instancetype)initWithClient:(KS3Client *)client authHandler:(KS3AuthCalculateHandler)authHandler; | |
| 29 | + | |
| 30 | ++ (instancetype)sharedInstanceWithClient:(KS3Client *)client authHandler:(KS3AuthCalculateHandler)authHandler; | |
| 31 | + | |
| 32 | +- (void)putData:(NSData *)data | |
| 33 | + request:(KS3UploadRequest *)request | |
| 34 | + blockSize:(NSInteger)size | |
| 35 | + progress:(KS3UploadProgressHandler)progressHandler | |
| 36 | + cancelSignal:(KS3UploadCancellationSignal)cancelSignal | |
| 37 | + complete:(KS3UploadCompletionHandler)completionHandler | |
| 38 | + error:(KS3UploadErrorHandler)errorHandler; | |
| 39 | + | |
| 40 | +- (void)resumeUpload:(NSData *)data | |
| 41 | + upload:(KS3Upload *)upload | |
| 42 | + progress:(KS3UploadProgressHandler)progressHandler | |
| 43 | + cancelSignal:(KS3UploadCancellationSignal)cancelSignal | |
| 44 | + complete:(KS3UploadCompletionHandler)completionHandler | |
| 45 | + error:(KS3UploadErrorHandler)errorHandler; | |
| 46 | + | |
| 47 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/Advanced/Upload/KS3UploadManager.m
0 → 100644
| 1 | +// | |
| 2 | +// KS3UploadManager.m | |
| 3 | +// Pods | |
| 4 | +// | |
| 5 | +// Created by Sun Peng on 2017/4/27. | |
| 6 | +// | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3UploadManager.h" | |
| 10 | +#import "KS3Request.h" | |
| 11 | +#import "KS3Response.h" | |
| 12 | +#import "KS3Client.h" | |
| 13 | +#import "KS3UploadRequest.h" | |
| 14 | +#import "KS3Upload.h" | |
| 15 | +#import "KS3ListPartsRequest.h" | |
| 16 | +#import "KS3ServiceRequest.h" | |
| 17 | +#import "KS3InitiateMultipartUploadResponse.h" | |
| 18 | +#import "KS3UploadPartRequest.h" | |
| 19 | +#import "KS3SDKUtil.h" | |
| 20 | +#import "KS3AuthUtils.h" | |
| 21 | +#import "KS3CompleteMultipartUploadRequest.h" | |
| 22 | +#import "KS3CompleteMultipartUploadResponse.h" | |
| 23 | +#import "KS3ListPartsResponse.h" | |
| 24 | +#import "KS3Part.h" | |
| 25 | + | |
| 26 | +#define kMinBlockSize 5 * kMB | |
| 27 | +#define kMaxBlockSize 512 * kMB | |
| 28 | + | |
| 29 | +@interface KS3UploadManager() | |
| 30 | + | |
| 31 | +@property (nonatomic, strong) KS3Client *client; | |
| 32 | +@property (nonatomic, strong) KS3AuthCalculateHandler authHandler; | |
| 33 | + | |
| 34 | +@property (nonatomic, strong) NSMutableDictionary *uploadRecorder; | |
| 35 | +@property (nonatomic, strong) NSMutableDictionary *dataRecorder; | |
| 36 | +@property (nonatomic, strong) NSMutableDictionary *progressRecorder; | |
| 37 | +@property (nonatomic, strong) NSMutableDictionary *progressHandlers; | |
| 38 | +@property (nonatomic, strong) NSMutableDictionary *cancelSignalHandlers; | |
| 39 | +@property (nonatomic, strong) NSMutableDictionary *completeHandlers; | |
| 40 | +@property (nonatomic, strong) NSMutableDictionary *errorHandlers; | |
| 41 | + | |
| 42 | +@end | |
| 43 | + | |
| 44 | +@interface KS3UploadManager () <KingSoftServiceRequestDelegate> | |
| 45 | +@end | |
| 46 | + | |
| 47 | +@implementation KS3UploadManager | |
| 48 | + | |
| 49 | +- (instancetype)initWithClient:(KS3Client *)client authHandler:(KS3AuthCalculateHandler)authHandler { | |
| 50 | + if (self = [super init]) { | |
| 51 | + self.client = client; | |
| 52 | + self.authHandler = authHandler; | |
| 53 | + | |
| 54 | + self.uploadRecorder = [[NSMutableDictionary alloc] init]; | |
| 55 | + self.dataRecorder = [[NSMutableDictionary alloc] init]; | |
| 56 | + self.progressRecorder = [[NSMutableDictionary alloc] init]; | |
| 57 | + self.progressHandlers = [[NSMutableDictionary alloc] init]; | |
| 58 | + self.cancelSignalHandlers = [[NSMutableDictionary alloc] init]; | |
| 59 | + self.completeHandlers = [[NSMutableDictionary alloc] init]; | |
| 60 | + self.errorHandlers = [[NSMutableDictionary alloc] init]; | |
| 61 | + } | |
| 62 | + | |
| 63 | + return self; | |
| 64 | +} | |
| 65 | + | |
| 66 | ++(instancetype)sharedInstanceWithClient:(KS3Client *)client authHandler:(KS3AuthCalculateHandler)authHandler { | |
| 67 | + static KS3UploadManager *sharedManager = nil; | |
| 68 | + | |
| 69 | + static dispatch_once_t onceToken; | |
| 70 | + dispatch_once(&onceToken, ^{ | |
| 71 | + sharedManager = [[self alloc] initWithClient:client authHandler:authHandler]; | |
| 72 | + }); | |
| 73 | + | |
| 74 | + return sharedManager; | |
| 75 | +} | |
| 76 | + | |
| 77 | +- (void)putData:(NSData *)data | |
| 78 | + request:(KS3UploadRequest *)request | |
| 79 | + blockSize:(NSInteger)size | |
| 80 | + progress:(KS3UploadProgressHandler)progressHandler | |
| 81 | + cancelSignal:(KS3UploadCancellationSignal)cancelSignal | |
| 82 | + complete:(KS3UploadCompletionHandler)completionHandler | |
| 83 | + error:(KS3UploadErrorHandler)errorHandler { | |
| 84 | + NSInteger contentLength = data.length; | |
| 85 | + | |
| 86 | + NSInteger blockLength = size; | |
| 87 | + | |
| 88 | + if (size < kMinBlockSize) { | |
| 89 | + size = kMinBlockSize; | |
| 90 | + } | |
| 91 | + if (size > kMaxBlockSize) { | |
| 92 | + size = kMaxBlockSize; | |
| 93 | + } | |
| 94 | + | |
| 95 | + NSInteger partCount = (ceilf((float)contentLength / (float)size)); | |
| 96 | + | |
| 97 | + // Step 1 initiate Multipart Upload | |
| 98 | + KS3InitiateMultipartUploadResponse *initiateMultipartUploadResponse = [self.client initiateMultipartUploadWithRequestAndResponse:request]; | |
| 99 | + KS3MultipartUpload *multipartUpload = initiateMultipartUploadResponse.multipartUpload; | |
| 100 | + if (!multipartUpload) { | |
| 101 | + errorHandler(nil, initiateMultipartUploadResponse.error); | |
| 102 | + NSLog(@"Initiate multipart upload failed.."); | |
| 103 | + return; | |
| 104 | + } | |
| 105 | + | |
| 106 | + KS3Upload *upload = [[KS3Upload alloc] init]; | |
| 107 | + upload.key = multipartUpload.key; | |
| 108 | + upload.bucket = multipartUpload.bucket; | |
| 109 | + upload.uploadId = multipartUpload.uploadId; | |
| 110 | + upload.storageClass = multipartUpload.storageClass; | |
| 111 | + upload.initiator = multipartUpload.initiator; | |
| 112 | + upload.initiated = multipartUpload.initiated; | |
| 113 | + upload.blockSize = size; | |
| 114 | + upload.partCount = partCount; | |
| 115 | + upload.contentLength = contentLength; | |
| 116 | + | |
| 117 | + [self registerUpload:upload data:data progressHandler:progressHandler cancelSignal:cancelSignal completeHandler:completionHandler errorHandler:errorHandler]; | |
| 118 | + | |
| 119 | + // Step 2 kick first part upload | |
| 120 | + // later parts will be uploaded in delegate methods | |
| 121 | + [self upload:upload.uploadId part:1]; | |
| 122 | +} | |
| 123 | + | |
| 124 | +- (void)resumeUpload:(NSData *)data | |
| 125 | + upload:(KS3Upload *)upload | |
| 126 | + progress:(KS3UploadProgressHandler)progressHandler | |
| 127 | + cancelSignal:(KS3UploadCancellationSignal)cancelSignal | |
| 128 | + complete:(KS3UploadCompletionHandler)completionHandler | |
| 129 | + error:(KS3UploadErrorHandler)errorHandler { | |
| 130 | + [self registerUpload:upload data:data progressHandler:progressHandler cancelSignal:cancelSignal completeHandler:completionHandler errorHandler:errorHandler]; | |
| 131 | + NSString *uploadId = upload.uploadId; | |
| 132 | + NSString *objectKey = upload.key; | |
| 133 | + | |
| 134 | + //list一下所有上传过的块 | |
| 135 | + KS3ListPartsRequest *req2 = [[KS3ListPartsRequest alloc] initWithMultipartUpload:upload]; | |
| 136 | + [req2 setCompleteRequest]; | |
| 137 | + | |
| 138 | + //使用token签名时从Appserver获取token后设置token,使用Ak sk则忽略,不需要调用 | |
| 139 | + if (self.authHandler) { | |
| 140 | + [req2 setStrKS3Token:self.authHandler(req2)]; | |
| 141 | + } else { | |
| 142 | + [req2 setStrKS3Token:[self authorizationForRequest:req2]]; | |
| 143 | + } | |
| 144 | + | |
| 145 | + | |
| 146 | + KS3ListPartsResponse *response2 = [[KS3Client initialize] listParts:req2]; | |
| 147 | + | |
| 148 | + NSLog(@"response.listResult.parts.count =%lu",(unsigned long)[response2.listResult.parts count]); | |
| 149 | + | |
| 150 | + //从这块开始上传,list结果的最后一块 | |
| 151 | + NSNumber *uploadedPart = [NSNumber numberWithInteger:((KS3Part *)[response2.listResult.parts lastObject]).partNumber]; | |
| 152 | + [self.progressRecorder setObject:uploadedPart forKey:uploadId]; | |
| 153 | + | |
| 154 | + //进度补齐 | |
| 155 | + long long alreadyTotalWriten = uploadedPart.integerValue * upload.blockSize ; | |
| 156 | + double progress = 1.0 * alreadyTotalWriten / upload.contentLength; | |
| 157 | + progressHandler(objectKey, progress); | |
| 158 | + | |
| 159 | + [self upload:uploadId part:uploadedPart.integerValue + 1]; | |
| 160 | +} | |
| 161 | + | |
| 162 | +#pragma mark - Register methods | |
| 163 | +- (void)registerUpload:(KS3Upload *)upload data:(NSData *)data | |
| 164 | + progressHandler:(KS3UploadProgressHandler)progressHandler | |
| 165 | + cancelSignal:(KS3UploadCancellationSignal)cancelSignal | |
| 166 | + completeHandler:(KS3UploadCompletionHandler)completionHandler | |
| 167 | + errorHandler:(KS3UploadErrorHandler)errorHandler { | |
| 168 | + NSString *uploadId = upload.uploadId; | |
| 169 | + [self.uploadRecorder setObject:upload forKey:uploadId]; | |
| 170 | + [self.dataRecorder setObject:data forKey:uploadId]; | |
| 171 | + [self.progressRecorder setObject:[NSNumber numberWithInteger:0] forKey:uploadId]; | |
| 172 | + [self.progressHandlers setObject:progressHandler forKey:uploadId]; | |
| 173 | + [self.cancelSignalHandlers setObject:cancelSignal forKey:uploadId]; | |
| 174 | + [self.completeHandlers setObject:completionHandler forKey:uploadId]; | |
| 175 | + [self.errorHandlers setObject:errorHandler forKey:uploadId]; | |
| 176 | +} | |
| 177 | + | |
| 178 | +- (void)removeUpload:(KS3Upload *)upload { | |
| 179 | + NSString *uploadId = upload.uploadId; | |
| 180 | + [self.uploadRecorder removeObjectForKey:uploadId]; | |
| 181 | + [self.dataRecorder removeObjectForKey:uploadId]; | |
| 182 | + [self.progressRecorder removeObjectForKey:uploadId]; | |
| 183 | + [self.progressHandlers removeObjectForKey:uploadId]; | |
| 184 | + [self.cancelSignalHandlers removeObjectForKey:uploadId]; | |
| 185 | + [self.completeHandlers removeObjectForKey:uploadId]; | |
| 186 | + [self.errorHandlers removeObjectForKey:uploadId]; | |
| 187 | +} | |
| 188 | + | |
| 189 | +#pragma mark - Data Helper | |
| 190 | +- (NSData *)dataWithRange:(NSData *)data range:(NSRange)range { | |
| 191 | + NSRange totalRange = NSMakeRange(0, data.length); | |
| 192 | + NSRange intersectRange = NSIntersectionRange(range, totalRange); | |
| 193 | + return [data subdataWithRange:intersectRange]; | |
| 194 | +} | |
| 195 | + | |
| 196 | +#pragma mark - Upload methods | |
| 197 | +- (void)upload:(NSString *)uploadId part:(NSInteger) part | |
| 198 | +{ | |
| 199 | + @autoreleasepool { | |
| 200 | + KS3Upload *multipartUpload = [self.uploadRecorder objectForKey:uploadId]; | |
| 201 | + | |
| 202 | + NSRange dataRange = NSMakeRange((part - 1) * multipartUpload.blockSize, multipartUpload.blockSize); | |
| 203 | + NSData *content = [self.dataRecorder objectForKey:uploadId]; | |
| 204 | + NSData *partData = [self dataWithRange:content range:dataRange]; | |
| 205 | + | |
| 206 | + KS3UploadPartRequest *req = [[KS3UploadPartRequest alloc] initWithMultipartUpload:multipartUpload partNumber:(int32_t)part data:partData generateMD5:NO]; | |
| 207 | + req.delegate = self; | |
| 208 | + req.contentLength = partData.length; | |
| 209 | + req.contentMd5 = [KS3SDKUtil base64md5FromData:partData]; | |
| 210 | + [req setCompleteRequest]; | |
| 211 | + | |
| 212 | + if (self.authHandler) { | |
| 213 | + [req setStrKS3Token:self.authHandler(req)]; | |
| 214 | + } else { | |
| 215 | + [req setStrKS3Token:[self authorizationForRequest:req]]; | |
| 216 | + } | |
| 217 | + | |
| 218 | + [[KS3Client initialize] uploadPart:req]; | |
| 219 | + } | |
| 220 | +} | |
| 221 | + | |
| 222 | +#pragma mark - Auth Utils | |
| 223 | +- (NSString *)authorizationForRequest:(KS3Request *)request { | |
| 224 | + return [KS3AuthUtils KSYAuthorizationWithAccessKey:self.client.credentials.accessKey | |
| 225 | + secretKey:self.client.credentials.secretKey | |
| 226 | + httpVerb:request.httpMethod | |
| 227 | + contentMd5:request.contentMd5 | |
| 228 | + contentType:request.contentType | |
| 229 | + strDate:request.strDate | |
| 230 | + canonicalizedKssHeader:request.kSYHeader | |
| 231 | + canonicalizedResource:request.kSYResource]; | |
| 232 | +} | |
| 233 | + | |
| 234 | +#pragma mark - 上传的回调方法 | |
| 235 | +- (void)request:(KS3Request *)request didCompleteWithResponse:(KS3Response *)response | |
| 236 | +{ | |
| 237 | + if ([request isKindOfClass:[KS3UploadPartRequest class]]) { | |
| 238 | + KS3UploadPartRequest *uploadPartRequest = (KS3UploadPartRequest *)request; | |
| 239 | + NSString *uploadId = uploadPartRequest.uploadId; | |
| 240 | + | |
| 241 | + if (response.httpStatusCode != 200) { | |
| 242 | + KS3UploadErrorHandler errorHandler = [self.errorHandlers objectForKey:uploadId]; | |
| 243 | + if (errorHandler) { | |
| 244 | + errorHandler([self.uploadRecorder objectForKey:uploadId], [NSError errorWithDomain:NSURLErrorDomain code:response.httpStatusCode userInfo:@{@"mesage" : [[NSString alloc] initWithData:response.body encoding:NSUTF8StringEncoding]}] ); | |
| 245 | + } | |
| 246 | + return; | |
| 247 | + } | |
| 248 | + | |
| 249 | + NSNumber *progress = [self.progressRecorder objectForKey:uploadId]; | |
| 250 | + KS3Upload *upload = [self.uploadRecorder objectForKey:uploadId]; | |
| 251 | + progress = [NSNumber numberWithInteger:progress.integerValue + 1]; | |
| 252 | + [self.progressRecorder setObject:progress forKey:uploadId]; | |
| 253 | + | |
| 254 | + // 所有块上传完成 | |
| 255 | + if (progress.integerValue >= upload.partCount) { | |
| 256 | + KS3ListPartsRequest *req2 = [[KS3ListPartsRequest alloc] initWithMultipartUpload:upload]; | |
| 257 | + [req2 setCompleteRequest]; | |
| 258 | + | |
| 259 | + if (self.authHandler) { | |
| 260 | + [req2 setStrKS3Token:self.authHandler(req2)]; | |
| 261 | + } else { | |
| 262 | + [req2 setStrKS3Token:[self authorizationForRequest:req2]]; | |
| 263 | + } | |
| 264 | + | |
| 265 | + KS3ListPartsResponse *response2 = [[KS3Client initialize] listParts:req2]; | |
| 266 | + KS3CompleteMultipartUploadRequest *req = [[KS3CompleteMultipartUploadRequest alloc] initWithMultipartUpload:upload]; | |
| 267 | + | |
| 268 | + NSLog(@"%@",response2.listResult.parts); | |
| 269 | + for (KS3Part *part in response2.listResult.parts) { | |
| 270 | + [req addPartWithPartNumber:part.partNumber withETag:part.etag]; | |
| 271 | + } | |
| 272 | + //req参数设置完一定要调这个函数 | |
| 273 | + [req setCompleteRequest]; | |
| 274 | + | |
| 275 | + if (self.authHandler) { | |
| 276 | + [req setStrKS3Token:self.authHandler(req)]; | |
| 277 | + } else { | |
| 278 | + [req setStrKS3Token:[self authorizationForRequest:req]]; | |
| 279 | + } | |
| 280 | + | |
| 281 | + KS3CompleteMultipartUploadResponse *resp = [[KS3Client initialize] completeMultipartUpload:req]; | |
| 282 | + NSString *bodyStr = [[NSString alloc]initWithData:resp.body encoding:NSUTF8StringEncoding]; | |
| 283 | + if (resp.httpStatusCode != 200) { | |
| 284 | + NSLog(@"#####complete multipart upload failed!!! code: %d#####,body = %@", resp.httpStatusCode,bodyStr); | |
| 285 | + | |
| 286 | + KS3UploadErrorHandler errorHandler = [self.errorHandlers objectForKey:uploadId]; | |
| 287 | + errorHandler(upload, [NSError errorWithDomain:NSURLErrorDomain code:response.httpStatusCode userInfo:@{@"mesage" : [[NSString alloc] initWithData:response.body encoding:NSUTF8StringEncoding]}]); | |
| 288 | + }else if (resp.httpStatusCode == 200) { | |
| 289 | + NSLog(@"分块上传成功!!"); | |
| 290 | + | |
| 291 | + KS3UploadCompletionHandler handler = [self.completeHandlers objectForKey:uploadId]; | |
| 292 | + handler([self.uploadRecorder objectForKey:uploadId], resp); | |
| 293 | + } | |
| 294 | + | |
| 295 | + [self removeUpload:upload]; | |
| 296 | + } | |
| 297 | + else { | |
| 298 | + [self upload:uploadId part:progress.integerValue + 1]; | |
| 299 | + } | |
| 300 | + } | |
| 301 | + | |
| 302 | +} | |
| 303 | + | |
| 304 | +- (void)request:(KS3Request *)request didFailWithError:(NSError *)error | |
| 305 | +{ | |
| 306 | + NSLog(@"upload error: %@", error); | |
| 307 | + if ([request respondsToSelector:@selector(uploadId)]) { | |
| 308 | + NSString *uploadId = [request performSelector:@selector(uploadId)]; | |
| 309 | + KS3UploadErrorHandler handler = [self.errorHandlers objectForKey:uploadId]; | |
| 310 | + KS3Upload *upload = [self.uploadRecorder objectForKey:uploadId]; | |
| 311 | + if (handler) { | |
| 312 | + handler(upload, error); | |
| 313 | + } | |
| 314 | + } | |
| 315 | +} | |
| 316 | + | |
| 317 | +- (void)request:(KS3Request *)request didReceiveResponse:(NSURLResponse *)response | |
| 318 | +{ | |
| 319 | +} | |
| 320 | + | |
| 321 | +- (void)request:(KS3Request *)request didReceiveData:(NSData *)data | |
| 322 | +{ | |
| 323 | +} | |
| 324 | + | |
| 325 | +-(void)request:(KS3Request *)request didSendData:(long long)bytesWritten totalBytesWritten:(long long)totalBytesWritten totalBytesExpectedToWrite:(long long)totalBytesExpectedToWrite | |
| 326 | +{ | |
| 327 | + if ([request isKindOfClass:[KS3UploadPartRequest class]]) { | |
| 328 | + KS3UploadPartRequest *uploadPartRequest = (KS3UploadPartRequest *)request; | |
| 329 | + NSString *uploadId = uploadPartRequest.uploadId; | |
| 330 | + NSString *objectKey = uploadPartRequest.key; | |
| 331 | + | |
| 332 | + KS3UploadProgressHandler progressHandler = [self.progressHandlers objectForKey:uploadId]; | |
| 333 | + KS3UploadCancellationSignal signal = [self.cancelSignalHandlers objectForKey:uploadId]; | |
| 334 | + if (signal(objectKey)) { | |
| 335 | + [request cancel]; | |
| 336 | + | |
| 337 | + progressHandler(uploadPartRequest.key, 0); | |
| 338 | + return; | |
| 339 | + } | |
| 340 | + | |
| 341 | + KS3Upload *upload = [self.uploadRecorder objectForKey:uploadId]; | |
| 342 | + NSInteger uploadPart = [[self.progressRecorder objectForKey:uploadId] integerValue]; | |
| 343 | + long long alreadyTotalWriten = uploadPart * upload.blockSize + totalBytesWritten; | |
| 344 | + double progress = 1.0 * alreadyTotalWriten / upload.contentLength; | |
| 345 | + if (progress > 1.0) { | |
| 346 | + NSLog(@"WTF???"); | |
| 347 | + } | |
| 348 | + NSLog(@"upload progress: %f", progress); | |
| 349 | + | |
| 350 | + progressHandler(objectKey, progress); | |
| 351 | + } | |
| 352 | +} | |
| 353 | + | |
| 354 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KS3Client.h
0 → 100644
| 1 | +// | |
| 2 | +// KingSoftS3Client.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/9/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// 有问题联系 | |
| 8 | +// QQ:315720327 | |
| 9 | +// email:me@iluckly.com | |
| 10 | +// | |
| 11 | + | |
| 12 | +#import "KS3WebServiceClient.h" | |
| 13 | + | |
| 14 | +@class KingSoftURLConnection; | |
| 15 | +@class KS3DownLoad; | |
| 16 | +@class ALAsset; | |
| 17 | +#pragma mark - Download block | |
| 18 | + | |
| 19 | +typedef void (^KSS3GetTokenSuccessBlock)(NSString *strToken); | |
| 20 | +typedef void (^KSS3DownloadBeginBlock)(KS3DownLoad *aDownload, | |
| 21 | + NSURLResponse *responseHeaders); | |
| 22 | +typedef void (^KSS3DownloadProgressChangeBlock)(KS3DownLoad *aDownload, | |
| 23 | + double newProgress); | |
| 24 | +typedef void (^KSS3DownloadFailedBlock)(KS3DownLoad *aDownload, NSError *error); | |
| 25 | +typedef void (^kSS3DownloadFileCompleteionBlock)(KS3DownLoad *aDownload, | |
| 26 | + NSString *filePath); | |
| 27 | + | |
| 28 | +@class KS3DeleteBucketResponse; | |
| 29 | +@class KS3SetACLResponse; | |
| 30 | +@class KS3ListBucketsRequest; | |
| 31 | +@class KS3ListBucketsResponse; | |
| 32 | +@class KS3CreateBucketResponse; | |
| 33 | +@class KS3GetACLResponse; | |
| 34 | +@class KS3GetBucketLoggingResponse; | |
| 35 | +@class KS3SetBucketLoggingResponse; | |
| 36 | +@class KS3GetObjectResponse; | |
| 37 | +@class KS3DeleteObjectResponse; | |
| 38 | +@class KS3HeadObjectResponse; | |
| 39 | +@class KS3PutObjectResponse; | |
| 40 | +@class KS3GetObjectACLResponse; | |
| 41 | +@class KS3SetObjectACLResponse; | |
| 42 | +@class KS3UploadPartResponse; | |
| 43 | +@class KS3UploadPartRequest; | |
| 44 | +@class KS3MultipartUpload; | |
| 45 | +@class KS3ListPartsResponse; | |
| 46 | +@class KS3ListPartsRequest; | |
| 47 | +@class KS3CompleteMultipartUploadResponse; | |
| 48 | +@class KS3CompleteMultipartUploadRequest; | |
| 49 | +@class KS3ListObjectsResponse; | |
| 50 | +@class KS3ListObjectsRequest; | |
| 51 | +@class KS3CreateBucketRequest; | |
| 52 | +@class KS3DeleteBucketResponse; | |
| 53 | +@class KS3DeleteBucketRequest; | |
| 54 | +@class KS3SetACLRequest; | |
| 55 | +@class KS3PutObjectRequest; | |
| 56 | +@class KS3GetObjectACLRequest; | |
| 57 | +@class KS3SetObjectACLRequest; | |
| 58 | +@class KS3DeleteObjectRequest; | |
| 59 | +@class KS3AbortMultipartUploadRequest; | |
| 60 | +@class KS3AbortMultipartUploadResponse; | |
| 61 | +@class KS3HeadBucketRequest; | |
| 62 | +@class KS3HeadBucketResponse; | |
| 63 | +@class KS3GetACLRequest; | |
| 64 | +@class KS3GetObjectRequest; | |
| 65 | +@class KS3HeadObjectRequest; | |
| 66 | +@class KS3SetGrantACLResponse; | |
| 67 | +@class KS3SetGrantACLRequest; | |
| 68 | +@class KS3SetObjectGrantACLResponse; | |
| 69 | +@class KS3SetObjectGrantACLRequest; | |
| 70 | +@class KS3SetBucketLoggingRequest; | |
| 71 | +@class KS3PutObjectCopyRequest; | |
| 72 | +@class KS3PutObjectCopyResponse; | |
| 73 | +@class KS3Response; | |
| 74 | +@class KS3Request; | |
| 75 | +@class KS3InitiateMultipartUploadRequest; | |
| 76 | +@class KS3InitiateMultipartUploadResponse; | |
| 77 | +@class KS3GetBucketLoggingRequest; | |
| 78 | +@class KS3Credentials; | |
| 79 | + | |
| 80 | +typedef enum { | |
| 81 | + KS3BucketBeijing = 0, | |
| 82 | + KS3BucketAmerica, | |
| 83 | + KS3BucketHongkong, | |
| 84 | + KS3BucketHangzhou, | |
| 85 | + KS3BucketShanghai, | |
| 86 | +} KS3BucketDomainRegion; // bucket所在地区 | |
| 87 | + | |
| 88 | +@interface KS3Client : KS3WebServiceClient | |
| 89 | + | |
| 90 | +@property(assign, nonatomic) BOOL enableHTTPS; | |
| 91 | +@property(strong, nonatomic) KS3Credentials *credentials; | |
| 92 | + | |
| 93 | +/** | |
| 94 | + * 初始化 | |
| 95 | + * | |
| 96 | + * @return Client对象 | |
| 97 | + */ | |
| 98 | ++ (KS3Client *)initialize; | |
| 99 | + | |
| 100 | +/** | |
| 101 | + * 返回请求协议:http/https | |
| 102 | + * 目前由enableHTTPS决定 | |
| 103 | + */ | |
| 104 | +- (NSString *)requestProtocol; | |
| 105 | + | |
| 106 | +/** | |
| 107 | + * 设置AccessKey和SecretKey | |
| 108 | + * | |
| 109 | + * @param accessKey | |
| 110 | + * @param secretKey | |
| 111 | + * 注释:这个接口必须实现(这个是使用下面API的(前提))建议在工程的delegate里面实现 | |
| 112 | + */ | |
| 113 | +- (void)connectWithAccessKey:(NSString *)accessKey | |
| 114 | + withSecretKey:(NSString *)secretKey; | |
| 115 | +/** | |
| 116 | + * 设置KS3Bucket所在的地区,默认北京 | |
| 117 | + | |
| 118 | + * @param 共有北京,杭州,美国圣克拉拉,香港四个 | |
| 119 | + * 注释:建议在工程的delegate里面实现 | |
| 120 | + */ | |
| 121 | +- (void)setBucketDomainWithRegion:(KS3BucketDomainRegion)domainRegion; | |
| 122 | + | |
| 123 | +/* | |
| 124 | + 设置KS3Bucket 所在的地区 | |
| 125 | + @param 自定义的域名 | |
| 126 | + */ | |
| 127 | +- (void)setBucketDomain:(NSString *)domainRegion; | |
| 128 | + | |
| 129 | +/** | |
| 130 | + * 获取当前bucket所在地区,默认北京 | |
| 131 | + 共有北京,杭州,美国圣克拉拉,香港四个 | |
| 132 | + */ | |
| 133 | +- (NSString *)getBucketDomain; | |
| 134 | + | |
| 135 | +/** | |
| 136 | + * 获取用户自定义的域名 | |
| 137 | + * 如果没有设置,返回nil | |
| 138 | + */ | |
| 139 | +- (NSString *)getCustomBucketDomain; | |
| 140 | + | |
| 141 | +/** | |
| 142 | + * 列出客户所有的Bucket信息 | |
| 143 | + * | |
| 144 | + * @return 所有bucket的数组 | |
| 145 | + */ | |
| 146 | +- (NSArray *)listBuckets:(KS3ListBucketsRequest *)listBucketsRequest; | |
| 147 | + | |
| 148 | +/** | |
| 149 | + * 创建一个新的Bucket | |
| 150 | + * | |
| 151 | + * @param createBucketRequest 设置创建bucket的request信息 | |
| 152 | + * | |
| 153 | + * @return 返回resonse对象(里边有服务返回的数据(具体的参照demo)) | |
| 154 | + */ | |
| 155 | +- (KS3CreateBucketResponse *)createBucket: | |
| 156 | + (KS3CreateBucketRequest *)createBucketRequest; | |
| 157 | +/** | |
| 158 | + * 删除指定Bucket | |
| 159 | + * | |
| 160 | + * @param deleteBucketRequest 设置删除bucket的request信息 | |
| 161 | + * | |
| 162 | + * @return 返回resonse对象(里边有服务返回的数据(具体的参照demo)) | |
| 163 | + */ | |
| 164 | +- (KS3DeleteBucketResponse *)deleteBucket: | |
| 165 | + (KS3DeleteBucketRequest *)deleteBucketRequest; | |
| 166 | +/** | |
| 167 | + * 查询是否已经存在指定Bucket | |
| 168 | + * | |
| 169 | + * @param headBucketRequest 设置是否已经存在指定Bucket的request信息 | |
| 170 | + * | |
| 171 | + * @return 返回resonse对象(里边有服务返回的数据(具体的参照demo)) | |
| 172 | + */ | |
| 173 | +- (KS3HeadBucketResponse *)headBucket:(KS3HeadBucketRequest *)headBucketRequest; | |
| 174 | + | |
| 175 | +/** | |
| 176 | + * 获得Bucket的acl | |
| 177 | + * | |
| 178 | + * @param getACLRequest 设置获取Bucket的acl的request对象 | |
| 179 | + * | |
| 180 | + * @return 返回resonse对象(里边有服务返回的数据(具体的参照demo)) | |
| 181 | + */ | |
| 182 | +- (KS3GetACLResponse *)getBucketACL:(KS3GetACLRequest *)getACLRequest; | |
| 183 | +/** | |
| 184 | + * 设置Bucket的ACL | |
| 185 | + * | |
| 186 | + * @param getACLRequest 设置设置Bucket的ACL的request对象 | |
| 187 | + * | |
| 188 | + * @return 返回resonse对象(里边有服务返回的数据(具体的参照demo)) | |
| 189 | + */ | |
| 190 | +- (KS3SetACLResponse *)setBucketACL:(KS3SetACLRequest *)getACLRequest; | |
| 191 | +/** | |
| 192 | + * 设置GrantACL信息 | |
| 193 | + * | |
| 194 | + * @param setGrantACLRequest 设置grantACL的request信息 | |
| 195 | + * | |
| 196 | + * @return 返回resonse对象(里边有服务返回的数据(具体的参照demo)) | |
| 197 | + */ | |
| 198 | +- (KS3SetGrantACLResponse *)setGrantACL: | |
| 199 | + (KS3SetGrantACLRequest *)setGrantACLRequest; | |
| 200 | +/** | |
| 201 | + * 列举Bucket内的Object | |
| 202 | + * | |
| 203 | + * @param bucketName | |
| 204 | + * | |
| 205 | + * @return 返回resonse对象(里边有服务返回的数据(具体的参照demo)) | |
| 206 | + */ | |
| 207 | +- (KS3ListObjectsResponse *)listObjects: | |
| 208 | + (KS3ListObjectsRequest *)listObjectsRequest; | |
| 209 | + | |
| 210 | +/** | |
| 211 | + * 获得Bucket的日志信息 | |
| 212 | + * | |
| 213 | + * @param bucketName | |
| 214 | + * | |
| 215 | + * @return 返回resonse对象(里边有服务返回的数据(具体的参照demo)) | |
| 216 | + */ | |
| 217 | +- (KS3GetBucketLoggingResponse *)getBucketLogging: | |
| 218 | + (KS3GetBucketLoggingRequest *)getBucketLoggingRequest; | |
| 219 | +/** | |
| 220 | + * 下载Object数据 | |
| 221 | + * | |
| 222 | + * @param getObjectRequest 设置下载Object的request请求信息 | |
| 223 | + * | |
| 224 | + * @return 返回resonse对象(里边有服务返回的数据(具体的参照demo)) | |
| 225 | + */ | |
| 226 | +- (KS3GetObjectResponse *)getObject:(KS3GetObjectRequest *)getObjectRequest; | |
| 227 | +/** | |
| 228 | + * 删除指定Object | |
| 229 | + * | |
| 230 | + * @param deleteObjectRequest 设置删除Object的request请求信息 | |
| 231 | + * | |
| 232 | + * @return 返回resonse对象(里边有服务返回的数据(具体的参照demo)) | |
| 233 | + */ | |
| 234 | +- (KS3DeleteObjectResponse *)deleteObject: | |
| 235 | + (KS3DeleteObjectRequest *)deleteObjectRequest; | |
| 236 | + | |
| 237 | +/** | |
| 238 | + * 查询是否已经存在指定Object | |
| 239 | + * | |
| 240 | + * @param headObjectRequest 设置是否已存在Object的request的信息 | |
| 241 | + * | |
| 242 | + * @return 返回resonse对象(里边有服务返回的数据(具体的参照demo)) | |
| 243 | + */ | |
| 244 | +- (KS3HeadObjectResponse *)headObject:(KS3HeadObjectRequest *)headObjectRequest; | |
| 245 | +/** | |
| 246 | + * 上传Object数据 (如果文件比较大请设置委托) | |
| 247 | + * | |
| 248 | + * @param putObjectRequest 设置上传object的request的信息 | |
| 249 | + * | |
| 250 | + * @return 返回resonse对象(里边有服务返回的数据(具体的参照demo)) | |
| 251 | + */ | |
| 252 | +- (KS3PutObjectResponse *)putObject:(KS3PutObjectRequest *)putObjectRequest; | |
| 253 | +/** | |
| 254 | + * 把源Bucket里面的某个Object复制到目的Bucket里面一个指定的Object | |
| 255 | + * | |
| 256 | + * @param putObjectCopyRequest 设置setObjectACLRequest的request信息 | |
| 257 | + * | |
| 258 | + * @return 返回response对象(里边有服务返回的数据(具体的参照demo) | |
| 259 | + */ | |
| 260 | +- (KS3PutObjectCopyResponse *)putObjectCopy: | |
| 261 | + (KS3PutObjectCopyRequest *)putObjectCopyRequest; | |
| 262 | + | |
| 263 | +/** | |
| 264 | + * 获得Object的acl | |
| 265 | + * | |
| 266 | + * @param getObjectACLRequest 设置获取object的acl的request信息 | |
| 267 | + * | |
| 268 | + * @return 返回resonse对象(里边有服务返回的数据(具体的参照demo)) | |
| 269 | + */ | |
| 270 | +- (KS3GetObjectACLResponse *)getObjectACL: | |
| 271 | + (KS3GetObjectACLRequest *)getObjectACLRequest; | |
| 272 | +/** | |
| 273 | + * 设置Object的acl | |
| 274 | + * | |
| 275 | + * @param setObjectACLRequest 设置设置object的acl的request信息 | |
| 276 | + * | |
| 277 | + * @return 返回resonse对象(里边有服务返回的数据(具体的参照demo)) | |
| 278 | + */ | |
| 279 | + | |
| 280 | +- (KS3SetObjectACLResponse *)setObjectACL: | |
| 281 | + (KS3SetObjectACLRequest *)setObjectACLRequest; | |
| 282 | +/** | |
| 283 | + * 设置ObjectGrantACL | |
| 284 | + * | |
| 285 | + * @param setObjectGrantACLRequest 设置设置ObjectGrantACL的request信息 | |
| 286 | + * | |
| 287 | + * @return @return 返回resonse对象(里边有服务返回的数据(具体的参照demo)) | |
| 288 | + */ | |
| 289 | + | |
| 290 | +- (KS3SetObjectGrantACLResponse *)setObjectGrantACL: | |
| 291 | + (KS3SetObjectGrantACLRequest *)setObjectGrantACLRequest; | |
| 292 | +/** | |
| 293 | + * 调用这个接口会初始化一个分块上传 | |
| 294 | + * | |
| 295 | + * @param theKey 指的是上传到bucketName的文件名称 | |
| 296 | + * @param bucketName | |
| 297 | + * | |
| 298 | + * @return 返回resonse对象(里边有服务返回的数据(具体的参照demo)) | |
| 299 | + */ | |
| 300 | +- (KS3MultipartUpload *)initiateMultipartUploadWithRequest: | |
| 301 | + (KS3InitiateMultipartUploadRequest *)request; | |
| 302 | + | |
| 303 | +- (KS3InitiateMultipartUploadResponse *)initiateMultipartUploadWithRequestAndResponse:(KS3InitiateMultipartUploadRequest *)request; | |
| 304 | + | |
| 305 | +/** | |
| 306 | + * 上传分块 | |
| 307 | + * | |
| 308 | + * @param uploadPartRequest 指定上传分块的request信息 | |
| 309 | + * | |
| 310 | + * @return 返回resonse对象(里边有服务返回的数据(具体的参照demo)) | |
| 311 | + */ | |
| 312 | +- (KS3UploadPartResponse *)uploadPart:(KS3UploadPartRequest *)uploadPartRequest; | |
| 313 | +/** | |
| 314 | + * 获取相册分块数据 | |
| 315 | + * | |
| 316 | + * @param partNum 从1开始计数,第一块partNum = 1 | |
| 317 | + * @param partLength 每一块数据的大小,单位为字节 | |
| 318 | + * @param alassetURL 形如assets-library://asset/asset.mov? | |
| 319 | + id=25A47CAE-87CF-47A3-8834-592D60841DDB&ext=mov 的相册地址 , | |
| 320 | + * | |
| 321 | + * @return | |
| 322 | + */ | |
| 323 | +- (NSData *)getUploadPartDataWithPartNum:(NSInteger)partNum | |
| 324 | + partLength:(NSInteger)partlength | |
| 325 | + alassetURL:(NSURL *)alassetURL; | |
| 326 | +/** | |
| 327 | + * 获取相册分块数据 | |
| 328 | + * | |
| 329 | + * @param partNum 从1开始计数,第一块partNum = 1 | |
| 330 | + * @param partLength 每一块数据的大小,单位为字节 | |
| 331 | + * @param alassetURL Alasset对象,是获取视频数据的类 , | |
| 332 | + * | |
| 333 | + * @return | |
| 334 | + */ | |
| 335 | +- (NSData *)getUploadPartDataWithPartNum:(NSInteger)partNum | |
| 336 | + partLength:(NSInteger)partlength | |
| 337 | + Alasset:(ALAsset *)assets; | |
| 338 | +/** | |
| 339 | + * 获取相册类 | |
| 340 | + * @param alassetURL 开头是assets-library://标识Alasset类的相册地址 | |
| 341 | + * | |
| 342 | + * @return | |
| 343 | + */ | |
| 344 | +- (ALAsset *)getAlassetFromAlassetURL:(NSURL *)alassetURL; | |
| 345 | +/** | |
| 346 | + * 罗列出已经上传的块 | |
| 347 | + * | |
| 348 | + * @param listPartsRequest 设置罗列已经上传的分块的request信息 | |
| 349 | + * | |
| 350 | + * @return 返回resonse对象(里边有服务返回的数据(具体的参照demo)) | |
| 351 | + */ | |
| 352 | + | |
| 353 | +- (KS3ListPartsResponse *)listParts:(KS3ListPartsRequest *)listPartsRequest; | |
| 354 | +/** | |
| 355 | + * 组装所有分块上传的文件 | |
| 356 | + * | |
| 357 | + * @param completeMultipartUploadRequest 设置组装所有分块的http信息 | |
| 358 | + * | |
| 359 | + * @return 返回resonse对象(里边有服务返回的数据(具体的参照demo)) | |
| 360 | + */ | |
| 361 | +- (KS3CompleteMultipartUploadResponse *)completeMultipartUpload: | |
| 362 | + (KS3CompleteMultipartUploadRequest *)completeMultipartUploadRequest; | |
| 363 | +/** | |
| 364 | + * 取消分块上传 | |
| 365 | + * | |
| 366 | + * @param abortMultipartRequest 设置分块文件属性 | |
| 367 | + * | |
| 368 | + * @return 返回resonse对象(里边有服务返回的数据(具体的参照demo)) | |
| 369 | + */ | |
| 370 | +- (KS3AbortMultipartUploadResponse *)abortMultipartUpload: | |
| 371 | + (KS3AbortMultipartUploadRequest *)abortMultipartRequest; | |
| 372 | +/** | |
| 373 | + * 下载Object数据 | |
| 374 | + * | |
| 375 | + * @param bucketName | |
| 376 | + * @param key 文件所在的仓库路径(和listObject的key对应)(具体的参照demo) | |
| 377 | + * @param downloadBeginBlock 下载开始回调 | |
| 378 | + * @param downloadFileCompleteion 下载完成回调 | |
| 379 | + * @param downloadProgressChangeBlock 下载进度回调 | |
| 380 | + * @param failedBlock 下载失败回调 | |
| 381 | + * | |
| 382 | + * @return 一个下载器对象(里面有文件属性) | |
| 383 | + */ | |
| 384 | +- (KS3DownLoad *) | |
| 385 | +downloadObjectWithBucketName:(NSString *)bucketName | |
| 386 | + key:(NSString *)key | |
| 387 | + downloadBeginBlock:(KSS3DownloadBeginBlock)downloadBeginBlock | |
| 388 | + downloadFileCompleteion: | |
| 389 | + (kSS3DownloadFileCompleteionBlock)downloadFileCompleteion | |
| 390 | + downloadProgressChangeBlock: | |
| 391 | + (KSS3DownloadProgressChangeBlock)downloadProgressChangeBlock | |
| 392 | + failedBlock:(KSS3DownloadFailedBlock)failedBlock; | |
| 393 | + | |
| 394 | +/** | |
| 395 | + * 返回版本信息 | |
| 396 | + * | |
| 397 | + * @return 版本信息 | |
| 398 | + */ | |
| 399 | ++ (NSString *)apiVersion; | |
| 400 | + | |
| 401 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KS3Client.m
0 → 100644
| 1 | +// | |
| 2 | +// KingSoftS3Client.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/9/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3Client.h" | |
| 10 | +#import "KS3AbortMultipartUploadRequest.h" | |
| 11 | +#import "KS3AbortMultipartUploadResponse.h" | |
| 12 | +#import "KS3AccessControlList.h" | |
| 13 | +#import "KS3AuthUtils.h" | |
| 14 | +#import "KS3ClientException.h" | |
| 15 | +#import "KS3CompleteMultipartUploadRequest.h" | |
| 16 | +#import "KS3CompleteMultipartUploadResponse.h" | |
| 17 | +#import "KS3CreateBucketRequest.h" | |
| 18 | +#import "KS3CreateBucketResponse.h" | |
| 19 | +#import "KS3Credentials.h" | |
| 20 | +#import "KS3DeleteBucketRequest.h" | |
| 21 | +#import "KS3DeleteBucketResponse.h" | |
| 22 | +#import "KS3DeleteBucketResponse.h" | |
| 23 | +#import "KS3DeleteObjectRequest.h" | |
| 24 | +#import "KS3DeleteObjectResponse.h" | |
| 25 | +#import "KS3DownLoad.h" | |
| 26 | +#import "KS3ErrorHandler.h" | |
| 27 | +#import "KS3GetACLRequest.h" | |
| 28 | +#import "KS3GetACLResponse.h" | |
| 29 | +#import "KS3GetBucketLoggingRequest.h" | |
| 30 | +#import "KS3GetBucketLoggingResponse.h" | |
| 31 | +#import "KS3GetObjectACLRequest.h" | |
| 32 | +#import "KS3GetObjectACLResponse.h" | |
| 33 | +#import "KS3GetObjectRequest.h" | |
| 34 | +#import "KS3GetObjectResponse.h" | |
| 35 | +#import "KS3HeadBucketRequest.h" | |
| 36 | +#import "KS3HeadBucketResponse.h" | |
| 37 | +#import "KS3HeadObjectRequest.h" | |
| 38 | +#import "KS3HeadObjectResponse.h" | |
| 39 | +#import "KS3InitiateMultipartUploadRequest.h" | |
| 40 | +#import "KS3InitiateMultipartUploadResponse.h" | |
| 41 | +#import "KS3ListBucketsRequest.h" | |
| 42 | +#import "KS3ListBucketsResponse.h" | |
| 43 | +#import "KS3ListBucketsResult.h" | |
| 44 | +#import "KS3ListObjectsRequest.h" | |
| 45 | +#import "KS3ListObjectsResponse.h" | |
| 46 | +#import "KS3ListObjectsResult.h" | |
| 47 | +#import "KS3ListPartsRequest.h" | |
| 48 | +#import "KS3ListPartsResponse.h" | |
| 49 | +#import "KS3PutObjectCopyRequest.h" | |
| 50 | +#import "KS3PutObjectCopyResponse.h" | |
| 51 | +#import "KS3PutObjectRequest.h" | |
| 52 | +#import "KS3PutObjectResponse.h" | |
| 53 | +#import "KS3SDKUtil.h" | |
| 54 | +#import "KS3SetACLRequest.h" | |
| 55 | +#import "KS3SetACLResponse.h" | |
| 56 | +#import "KS3SetBucketLoggingRequest.h" | |
| 57 | +#import "KS3SetBucketLoggingResponse.h" | |
| 58 | +#import "KS3SetGrantACLRequest.h" | |
| 59 | +#import "KS3SetGrantACLResponse.h" | |
| 60 | +#import "KS3SetObjectACLRequest.h" | |
| 61 | +#import "KS3SetObjectACLResponse.h" | |
| 62 | +#import "KS3SetObjectGrantACLRequest.h" | |
| 63 | +#import "KS3SetObjectGrantACLResponse.h" | |
| 64 | +#import "KS3UploadPartRequest.h" | |
| 65 | +#import "KS3UploadPartResponse.h" | |
| 66 | +#import <AssetsLibrary/AssetsLibrary.h> | |
| 67 | +static NSString *const KingSoftYun_Host_Name = | |
| 68 | +@"http://ks3-cn-beijing.ksyun.com"; | |
| 69 | +static NSTimeInterval const KingSoftYun_RequestTimeout = 600; // in seconds | |
| 70 | + | |
| 71 | +@interface KS3Client () <NSURLConnectionDataDelegate> | |
| 72 | + | |
| 73 | +@property(strong, nonatomic) KSS3GetTokenSuccessBlock tokenBlock; | |
| 74 | +@property(strong, nonatomic) NSMutableData *tokenData; | |
| 75 | +@property(assign, nonatomic) KS3BucketDomainRegion bucketDomainRegion; | |
| 76 | +@property(copy, nonatomic) NSString *bucketDomainIp; | |
| 77 | +@property(strong, nonatomic) NSString *customBucketDomain; //用户自定义的domain | |
| 78 | +@property(strong, nonatomic) ALAssetsLibrary *assetsLibrary; | |
| 79 | + | |
| 80 | +@end | |
| 81 | + | |
| 82 | +@implementation KS3Client | |
| 83 | + | |
| 84 | ++ (KS3Client *)initialize { | |
| 85 | + static KS3Client *shareObj = nil; | |
| 86 | + static dispatch_once_t onceToken; | |
| 87 | + dispatch_once(&onceToken, ^{ | |
| 88 | + shareObj = [[self alloc] init]; | |
| 89 | + shareObj.bucketDomainRegion = KS3BucketBeijing; | |
| 90 | + shareObj.bucketDomainIp = @"ks3-cn-beijing.ksyun.com"; | |
| 91 | + shareObj.assetsLibrary = [[ALAssetsLibrary alloc] init]; | |
| 92 | + shareObj.enableHTTPS = YES; | |
| 93 | + }); | |
| 94 | + return shareObj; | |
| 95 | +} | |
| 96 | + | |
| 97 | +#pragma mark - Request Protocol | |
| 98 | +- (NSString *)requestProtocol { | |
| 99 | + return self.enableHTTPS ? @"https" : @"http"; | |
| 100 | +} | |
| 101 | + | |
| 102 | +#pragma mark - Init credentials | |
| 103 | + | |
| 104 | +- (void)connectWithAccessKey:(NSString *)accessKey | |
| 105 | + withSecretKey:(NSString *)secretKey { | |
| 106 | + if (_credentials == nil) { | |
| 107 | + _credentials = [[KS3Credentials alloc] initWithAccessKey:accessKey | |
| 108 | + withSecretKey:secretKey]; | |
| 109 | + } | |
| 110 | +} | |
| 111 | + | |
| 112 | +- (void)setBucketDomainWithRegion:(KS3BucketDomainRegion)domainRegion { | |
| 113 | + _bucketDomainRegion = domainRegion; | |
| 114 | +} | |
| 115 | + | |
| 116 | +- (NSString *)getBucketDomain { | |
| 117 | + if (_customBucketDomain != nil) { | |
| 118 | + return _customBucketDomain; | |
| 119 | + } | |
| 120 | + | |
| 121 | + if (_bucketDomainRegion == KS3BucketBeijing) { | |
| 122 | + return @"ks3-cn-beijing.ksyun.com"; | |
| 123 | + } | |
| 124 | + | |
| 125 | + if (_bucketDomainRegion == KS3BucketAmerica) { | |
| 126 | + return @"ks3-us-west-1.ksyun.com"; | |
| 127 | + } | |
| 128 | + if (_bucketDomainRegion == KS3BucketHongkong) { | |
| 129 | + return @"ks3-cn-hk-1.ksyun.com"; | |
| 130 | + } | |
| 131 | + if (_bucketDomainRegion == KS3BucketHangzhou) { | |
| 132 | + return @"kss.ksyun.com"; | |
| 133 | + } | |
| 134 | + if (_bucketDomainRegion == KS3BucketShanghai) { | |
| 135 | + return @"ks3-cn-shanghai.ksyun.com"; | |
| 136 | + } | |
| 137 | + return @"ks3-cn-beijing.ksyun.com"; | |
| 138 | +} | |
| 139 | + | |
| 140 | +- (NSString *)getCustomBucketDomain { | |
| 141 | + if (_customBucketDomain) { | |
| 142 | + return _customBucketDomain; | |
| 143 | + } else { | |
| 144 | + return nil; | |
| 145 | + } | |
| 146 | +} | |
| 147 | + | |
| 148 | +- (void)setBucketDomain:(NSString *)domainRegion { | |
| 149 | + _customBucketDomain = domainRegion; | |
| 150 | +} | |
| 151 | + | |
| 152 | +#pragma mark - Buckets | |
| 153 | + | |
| 154 | +- (NSArray *)listBuckets:(KS3ListBucketsRequest *)listBucketsRequest { | |
| 155 | + KS3ListBucketsResponse *listResponse = | |
| 156 | + (KS3ListBucketsResponse *)[self invoke:listBucketsRequest]; | |
| 157 | + if (listResponse.error == nil) { | |
| 158 | + if (![listResponse respondsToSelector:@selector(listBucketsResult)]) { | |
| 159 | + return nil; | |
| 160 | + } | |
| 161 | + if (listResponse.listBucketsResult != nil && | |
| 162 | + listResponse.listBucketsResult.buckets != nil) { | |
| 163 | + return [NSArray arrayWithArray:listResponse.listBucketsResult.buckets]; | |
| 164 | + } | |
| 165 | + } | |
| 166 | + return nil; | |
| 167 | +} | |
| 168 | + | |
| 169 | +- (KS3CreateBucketResponse *)createBucket: | |
| 170 | +(KS3CreateBucketRequest *)createBucketRequest { | |
| 171 | + return (KS3CreateBucketResponse *)[self invoke:createBucketRequest]; | |
| 172 | +} | |
| 173 | + | |
| 174 | +- (KS3DeleteBucketResponse *)deleteBucket: | |
| 175 | +(KS3DeleteBucketRequest *)deleteBucketRequest { | |
| 176 | + return (KS3DeleteBucketResponse *)[self invoke:deleteBucketRequest]; | |
| 177 | +} | |
| 178 | + | |
| 179 | +- (KS3HeadBucketResponse *)headBucket:(KS3HeadBucketRequest *)headBucketRequest; | |
| 180 | +{ return (KS3HeadBucketResponse *)[self invoke:headBucketRequest]; } | |
| 181 | + | |
| 182 | +- (KS3GetACLResponse *)getBucketACL:(KS3GetACLRequest *)getACLRequest { | |
| 183 | + return (KS3GetACLResponse *)[self invoke:getACLRequest]; | |
| 184 | +} | |
| 185 | + | |
| 186 | +- (KS3SetACLResponse *)setBucketACL:(KS3SetACLRequest *)bucketACLRequest { | |
| 187 | + return (KS3SetACLResponse *)[self invoke:bucketACLRequest]; | |
| 188 | +} | |
| 189 | + | |
| 190 | +- (KS3GetBucketLoggingResponse *)getBucketLogging: | |
| 191 | +(KS3GetBucketLoggingRequest *)getBucketLoggingRequest { | |
| 192 | + return (KS3GetBucketLoggingResponse *)[self invoke:getBucketLoggingRequest]; | |
| 193 | +} | |
| 194 | + | |
| 195 | +- (KS3SetBucketLoggingResponse *)setBucketLogging: | |
| 196 | +(KS3SetBucketLoggingRequest *)setBucketTaggingRequest { | |
| 197 | + return (KS3SetBucketLoggingResponse *)[self invoke:setBucketTaggingRequest]; | |
| 198 | +} | |
| 199 | + | |
| 200 | +#pragma mark - Objects | |
| 201 | + | |
| 202 | +- (KS3ListObjectsResponse *)listObjects: | |
| 203 | +(KS3ListObjectsRequest *)listObjectsRequest { | |
| 204 | + return (KS3ListObjectsResponse *)[self invoke:listObjectsRequest]; | |
| 205 | +} | |
| 206 | + | |
| 207 | +- (KS3GetObjectResponse *)getObject:(KS3GetObjectRequest *)getObjectRequest { | |
| 208 | + return (KS3GetObjectResponse *)[self invoke:getObjectRequest]; | |
| 209 | +} | |
| 210 | + | |
| 211 | +- (KS3DeleteObjectResponse *)deleteObject: | |
| 212 | +(KS3DeleteObjectRequest *)deleteObjectRequest { | |
| 213 | + return (KS3DeleteObjectResponse *)[self invoke:deleteObjectRequest]; | |
| 214 | +} | |
| 215 | + | |
| 216 | +- (KS3HeadObjectResponse *)headObject: | |
| 217 | +(KS3HeadObjectRequest *)headObjectRequest { | |
| 218 | + return (KS3HeadObjectResponse *)[self invoke:headObjectRequest]; | |
| 219 | +} | |
| 220 | + | |
| 221 | +- (KS3PutObjectResponse *)putObject:(KS3PutObjectRequest *)putObjectRequest { | |
| 222 | + return (KS3PutObjectResponse *)[self invoke:putObjectRequest]; | |
| 223 | +} | |
| 224 | + | |
| 225 | +- (KS3PutObjectCopyResponse *)putObjectCopy: | |
| 226 | +(KS3PutObjectCopyRequest *)putObjectCopyRequest { | |
| 227 | + return (KS3PutObjectCopyResponse *)[self invoke:putObjectCopyRequest]; | |
| 228 | +} | |
| 229 | + | |
| 230 | +- (KS3GetObjectACLResponse *)getObjectACL: | |
| 231 | +(KS3GetObjectACLRequest *)getObjectACLRequest { | |
| 232 | + return (KS3GetObjectACLResponse *)[self invoke:getObjectACLRequest]; | |
| 233 | +} | |
| 234 | + | |
| 235 | +- (KS3SetObjectACLResponse *)setObjectACL: | |
| 236 | +(KS3SetObjectACLRequest *)setObjectACLRequest { | |
| 237 | + return (KS3SetObjectACLResponse *)[self invoke:setObjectACLRequest]; | |
| 238 | +} | |
| 239 | + | |
| 240 | +- (KS3SetObjectGrantACLResponse *)setObjectGrantACL: | |
| 241 | +(KS3SetObjectGrantACLRequest *)setObjectGrantACLRequest { | |
| 242 | + return (KS3SetObjectGrantACLResponse *)[self invoke:setObjectGrantACLRequest]; | |
| 243 | +} | |
| 244 | + | |
| 245 | +- (KS3SetGrantACLResponse *)setGrantACL: | |
| 246 | +(KS3SetGrantACLRequest *)setGrantACLRequest { | |
| 247 | + return (KS3SetGrantACLResponse *)[self invoke:setGrantACLRequest]; | |
| 248 | +} | |
| 249 | + | |
| 250 | +#pragma mark - MultipartUpload | |
| 251 | + | |
| 252 | +- (KS3MultipartUpload *)initiateMultipartUploadWithRequest: | |
| 253 | +(KS3InitiateMultipartUploadRequest *)request { | |
| 254 | + KS3InitiateMultipartUploadResponse *response = | |
| 255 | + (KS3InitiateMultipartUploadResponse *)[self invoke:request]; | |
| 256 | + return response.multipartUpload; | |
| 257 | +} | |
| 258 | + | |
| 259 | +- (KS3InitiateMultipartUploadResponse *)initiateMultipartUploadWithRequestAndResponse: | |
| 260 | +(KS3InitiateMultipartUploadRequest *)request { | |
| 261 | + KS3InitiateMultipartUploadResponse *response = | |
| 262 | + (KS3InitiateMultipartUploadResponse *)[self invoke:request]; | |
| 263 | + return response; | |
| 264 | +} | |
| 265 | + | |
| 266 | +- (KS3UploadPartResponse *)uploadPart: | |
| 267 | +(KS3UploadPartRequest *)uploadPartRequest { | |
| 268 | + return (KS3UploadPartResponse *)[self invoke:uploadPartRequest]; | |
| 269 | +} | |
| 270 | + | |
| 271 | +- (NSData *)getUploadPartDataWithPartNum:(NSInteger)partNum | |
| 272 | + partLength:(NSInteger)partlength | |
| 273 | + alassetURL:(NSURL *)alassetURL { | |
| 274 | + if (alassetURL == nil || alassetURL.absoluteString.length == 0) { | |
| 275 | + NSLog(@"请检查AlassetURL"); | |
| 276 | + return nil; | |
| 277 | + } | |
| 278 | + if (partlength < 5 * 1024 * 1024) { | |
| 279 | + NSLog(@"分块上传最小块为5MB"); | |
| 280 | + return nil; | |
| 281 | + } | |
| 282 | + if (partNum < 0) { | |
| 283 | + NSLog(@"partNum不合法,请检查"); | |
| 284 | + return nil; | |
| 285 | + } | |
| 286 | + | |
| 287 | + ALAsset *alasset = | |
| 288 | + [[KS3Client initialize] getAlassetFromAlassetURL:alassetURL]; | |
| 289 | + return [self getUploadPartDataWithPartNum:partNum | |
| 290 | + partLength:partlength | |
| 291 | + Alasset:alasset]; | |
| 292 | +} | |
| 293 | + | |
| 294 | +- (NSData *)getUploadPartDataWithPartNum:(NSInteger)partNum | |
| 295 | + partLength:(NSInteger)partlength | |
| 296 | + Alasset:(ALAsset *)assets { | |
| 297 | + | |
| 298 | + if (assets == nil) { | |
| 299 | + NSLog(@"请检查Alasset"); | |
| 300 | + return nil; | |
| 301 | + } | |
| 302 | + if (partlength < 5 * 1024 * 1024) { | |
| 303 | + NSLog(@"分块上传最小块为5MB"); | |
| 304 | + return nil; | |
| 305 | + } | |
| 306 | + if (partNum < 1) { | |
| 307 | + NSLog(@"partNum不合法,请检查"); | |
| 308 | + return nil; | |
| 309 | + } | |
| 310 | + BOOL endOfStreamReached = NO; | |
| 311 | + NSUInteger currentOffset = (partNum - 1) * partlength; //当前偏移量 | |
| 312 | + NSError *error; | |
| 313 | + NSMutableData *mData = [[NSMutableData alloc] init]; | |
| 314 | + while (!endOfStreamReached) { | |
| 315 | + NSInteger maxLength = 256 * 1024; | |
| 316 | + uint8_t readBuffer[maxLength]; | |
| 317 | + NSInteger bytesRead = [assets.defaultRepresentation getBytes:readBuffer | |
| 318 | + fromOffset:currentOffset | |
| 319 | + length:maxLength | |
| 320 | + error:&error]; | |
| 321 | + if (bytesRead <= 0) { | |
| 322 | + //读取完了或者读取地址不正确,导致读取为空 | |
| 323 | + endOfStreamReached = YES; | |
| 324 | + if (mData.length > 0) { | |
| 325 | + return mData; | |
| 326 | + } | |
| 327 | + } else { | |
| 328 | + [mData appendBytes:readBuffer length:bytesRead]; | |
| 329 | + currentOffset += bytesRead; | |
| 330 | + //正在读取,满5M则本地存储分块 | |
| 331 | + if (mData.length >= partlength) { | |
| 332 | + return mData; | |
| 333 | + } | |
| 334 | + } | |
| 335 | + } | |
| 336 | + return mData; | |
| 337 | +} | |
| 338 | + | |
| 339 | +- (ALAsset *)getAlassetFromAlassetURL:(NSURL *)alassetURL { | |
| 340 | + | |
| 341 | + __block ALAsset *assets; | |
| 342 | + dispatch_semaphore_t sem = dispatch_semaphore_create(0); | |
| 343 | + dispatch_queue_t concurrentQueue = | |
| 344 | + dispatch_queue_create("my.concurrent.queue", DISPATCH_QUEUE_SERIAL); | |
| 345 | + dispatch_async(concurrentQueue, ^{ | |
| 346 | + | |
| 347 | + [self.assetsLibrary assetForURL:alassetURL | |
| 348 | + resultBlock:^(ALAsset *asset) { | |
| 349 | + //本地存储的上传文件 | |
| 350 | + assets = asset; | |
| 351 | + dispatch_semaphore_signal(sem); | |
| 352 | + } | |
| 353 | + failureBlock:^(NSError *error) { | |
| 354 | + NSLog(@"读取AssetURL出错,%@", error.localizedDescription); | |
| 355 | + dispatch_semaphore_signal(sem); | |
| 356 | + }]; | |
| 357 | + | |
| 358 | + }); | |
| 359 | + dispatch_semaphore_wait(sem, DISPATCH_TIME_FOREVER); | |
| 360 | + return assets; | |
| 361 | +} | |
| 362 | +- (KS3ListPartsResponse *)listParts:(KS3ListPartsRequest *)listPartsRequest { | |
| 363 | + return (KS3ListPartsResponse *)[self invoke:listPartsRequest]; | |
| 364 | +} | |
| 365 | + | |
| 366 | +- (KS3CompleteMultipartUploadResponse *)completeMultipartUpload: | |
| 367 | +(KS3CompleteMultipartUploadRequest *)completeMultipartUploadRequest { | |
| 368 | + return (KS3CompleteMultipartUploadResponse *)[self | |
| 369 | + invoke:completeMultipartUploadRequest]; | |
| 370 | +} | |
| 371 | + | |
| 372 | +- (KS3AbortMultipartUploadResponse *)abortMultipartUpload: | |
| 373 | +(KS3AbortMultipartUploadRequest *)abortMultipartRequest { | |
| 374 | + return (KS3AbortMultipartUploadResponse *)[self invoke:abortMultipartRequest]; | |
| 375 | +} | |
| 376 | + | |
| 377 | ++ (id)constructResponseFromRequest:(KS3Request *)request { | |
| 378 | + NSString *requestClassName = NSStringFromClass([request class]); | |
| 379 | + NSString *responseClassName = | |
| 380 | + [[requestClassName substringToIndex:[requestClassName length] - 7] | |
| 381 | + stringByAppendingFormat:@"Response"]; | |
| 382 | + id response = [[NSClassFromString(responseClassName) alloc] init]; | |
| 383 | + if (nil == response) { | |
| 384 | + if ([requestClassName isEqualToString:@"KS3UploadRequest"]) { | |
| 385 | + response = [[KS3InitiateMultipartUploadResponse alloc] init]; | |
| 386 | + } else { | |
| 387 | + response = [[KS3Response alloc] init]; | |
| 388 | + } | |
| 389 | + } | |
| 390 | + return response; | |
| 391 | +} | |
| 392 | + | |
| 393 | +- (NSMutableURLRequest *)signKSS3Request:(KS3Request *)request { | |
| 394 | + request.credentials = _credentials; | |
| 395 | + KS3URLRequest *urlRequest = [request configureURLRequest]; | |
| 396 | + return urlRequest; | |
| 397 | +} | |
| 398 | + | |
| 399 | +- (NSTimeInterval)getRequestTimeOut:(KS3Request *)request { | |
| 400 | + NSTimeInterval ksyRequestTimeOut = request.timeoutInterval; | |
| 401 | + if (ksyRequestTimeOut == 0 || ksyRequestTimeOut < 0) { | |
| 402 | + ksyRequestTimeOut = KingSoftYun_RequestTimeout; | |
| 403 | + } | |
| 404 | + return ksyRequestTimeOut; | |
| 405 | +} | |
| 406 | +- (KS3Response *)invoke:(KS3Request *)request { | |
| 407 | + NSString *message = nil; | |
| 408 | + if ((_credentials.accessKey == nil || _credentials.secretKey == nil) && | |
| 409 | + _credentials != nil) { | |
| 410 | + NSLog(@"######### 使用本地AK/SK签名, 请正确配置本地AK/SK #############"); | |
| 411 | + message = @"请正确配置本地AK/SK"; | |
| 412 | + } | |
| 413 | + if (message) { | |
| 414 | + KS3Response *response = [KS3Response new]; | |
| 415 | + response.error = | |
| 416 | + [KS3ErrorHandler errorFromExceptionWithThrowsExceptionOption: | |
| 417 | + [KS3ClientException exceptionWithMessage:message]]; | |
| 418 | + return response; | |
| 419 | + } | |
| 420 | + | |
| 421 | + if (nil == request) { | |
| 422 | + KS3Response *response = [KS3Response new]; | |
| 423 | + response.error = [KS3ErrorHandler | |
| 424 | + errorFromExceptionWithThrowsExceptionOption: | |
| 425 | + [KS3ClientException | |
| 426 | + exceptionWithMessage:@"Request cannot be nil."]]; | |
| 427 | + return response; | |
| 428 | + } | |
| 429 | + KS3ClientException *clientException = [request validate]; | |
| 430 | + if (clientException != nil) { | |
| 431 | + KS3Response *response = [KS3Response new]; | |
| 432 | + response.error = [KS3ErrorHandler | |
| 433 | + errorFromExceptionWithThrowsExceptionOption:((NSException *) | |
| 434 | + clientException)]; | |
| 435 | + return response; | |
| 436 | + } | |
| 437 | + NSMutableURLRequest *urlRequest = [self signKSS3Request:request]; | |
| 438 | + | |
| 439 | + [urlRequest setTimeoutInterval:[self getRequestTimeOut:request]]; | |
| 440 | + return [self startURLRequest:urlRequest | |
| 441 | + KS3Request:request | |
| 442 | + token:request.strKS3Token]; | |
| 443 | +} | |
| 444 | + | |
| 445 | +- (KS3Response *)startURLRequest:(NSMutableURLRequest *)urlRequest | |
| 446 | + KS3Request:(KS3Request *)request | |
| 447 | + token:(NSString *)strToken { | |
| 448 | + if (strToken != nil) { | |
| 449 | + [urlRequest setValue:strToken forHTTPHeaderField:@"Authorization"]; | |
| 450 | + } | |
| 451 | + KS3Response *response = [KS3Client constructResponseFromRequest:request]; | |
| 452 | + [response setRequest:request]; | |
| 453 | + if ([request delegate] != nil) { | |
| 454 | + NSURLConnection *urlConnection = [[NSURLConnection alloc] initWithRequest:urlRequest | |
| 455 | + delegate:response | |
| 456 | + startImmediately:NO]; | |
| 457 | + request.urlConnection = urlConnection; | |
| 458 | + | |
| 459 | + [NSTimer scheduledTimerWithTimeInterval:[self getRequestTimeOut:request] | |
| 460 | + target:response | |
| 461 | + selector:@selector(timeout) | |
| 462 | + userInfo:nil | |
| 463 | + repeats:NO]; | |
| 464 | + | |
| 465 | + dispatch_async(dispatch_get_main_queue(), ^{ | |
| 466 | + [urlConnection start]; | |
| 467 | + }); | |
| 468 | + return nil; | |
| 469 | + } | |
| 470 | + NSURLConnection *urlConnection = | |
| 471 | + [[NSURLConnection alloc] initWithRequest:urlRequest | |
| 472 | + delegate:response | |
| 473 | + startImmediately:NO]; | |
| 474 | + [urlConnection scheduleInRunLoop:[NSRunLoop currentRunLoop] | |
| 475 | + forMode:KSYS3DefaultRunLoopMode]; | |
| 476 | + request.urlConnection = urlConnection; | |
| 477 | + [urlConnection start]; | |
| 478 | + | |
| 479 | + NSTimer *timeoutTimer = | |
| 480 | + [NSTimer timerWithTimeInterval:[self getRequestTimeOut:request] | |
| 481 | + target:response | |
| 482 | + selector:@selector(timeout) | |
| 483 | + userInfo:nil | |
| 484 | + repeats:NO]; | |
| 485 | + [[NSRunLoop currentRunLoop] addTimer:timeoutTimer | |
| 486 | + forMode:KSYS3DefaultRunLoopMode]; | |
| 487 | + while (!response.isFinishedLoading) { | |
| 488 | + [[NSRunLoop currentRunLoop] | |
| 489 | + runMode:KSYS3DefaultRunLoopMode | |
| 490 | + beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; | |
| 491 | + } | |
| 492 | + return response; | |
| 493 | +} | |
| 494 | + | |
| 495 | +#pragma mark - Download | |
| 496 | + | |
| 497 | +- (KS3DownLoad *) | |
| 498 | +downloadObjectWithBucketName:(NSString *)bucketName | |
| 499 | +key:(NSString *)key | |
| 500 | +downloadBeginBlock:(KSS3DownloadBeginBlock)downloadBeginBlock | |
| 501 | +downloadFileCompleteion: | |
| 502 | +(kSS3DownloadFileCompleteionBlock)downloadFileCompleteion | |
| 503 | +downloadProgressChangeBlock: | |
| 504 | +(KSS3DownloadProgressChangeBlock)downloadProgressChangeBlock | |
| 505 | +failedBlock:(KSS3DownloadFailedBlock)failedBlock { | |
| 506 | + if (!bucketName || !key) { | |
| 507 | + NSLog(@"bucket 或 key 不能为空"); | |
| 508 | + return nil; | |
| 509 | + } | |
| 510 | + | |
| 511 | + if ((_credentials.accessKey == nil || _credentials.secretKey == nil) && | |
| 512 | + _credentials != nil) { | |
| 513 | + NSLog(@"######### 使用本地AK/SK签名, 请正确配置本地AK/SK #############"); | |
| 514 | + return nil; | |
| 515 | + } | |
| 516 | + NSLog(@"====== downloadObjectWithBucketName ======"); | |
| 517 | + NSString *strHost = [NSString | |
| 518 | + stringWithFormat:@"%@://%@.%@/%@", | |
| 519 | + [[KS3Client initialize] requestProtocol], bucketName, | |
| 520 | + [[KS3Client initialize] getBucketDomain], key]; | |
| 521 | + KS3DownLoad *downLoad = [[KS3DownLoad alloc] initWithUrl:strHost | |
| 522 | + credentials: | |
| 523 | + _credentials: | |
| 524 | + bucketName:key]; | |
| 525 | + downLoad.downloadBeginBlock = downloadBeginBlock; | |
| 526 | + downLoad.downloadFileCompleteionBlock = downloadFileCompleteion; | |
| 527 | + downLoad.downloadProgressChangeBlock = downloadProgressChangeBlock; | |
| 528 | + downLoad.failedBlock = failedBlock; | |
| 529 | + | |
| 530 | + return downLoad; | |
| 531 | +} | |
| 532 | + | |
| 533 | ++ (NSString *)apiVersion { | |
| 534 | + return @"2.1.2"; | |
| 535 | +} | |
| 536 | + | |
| 537 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3BucketACLResult.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3BucketACLResult.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/12/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3Grant.h" | |
| 10 | +#import "KS3Owner.h" | |
| 11 | +#import <Foundation/Foundation.h> | |
| 12 | + | |
| 13 | +@interface KS3BucketACLResult : NSObject | |
| 14 | +@property(strong, nonatomic) KS3Owner *owner; | |
| 15 | +@property(strong, nonatomic) NSMutableArray *accessControlList; | |
| 16 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3BucketACLResult.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3BucketACLResult.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/12/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3BucketACLResult.h" | |
| 10 | + | |
| 11 | +@implementation KS3BucketACLResult | |
| 12 | +- (instancetype)init { | |
| 13 | + self = [super init]; | |
| 14 | + if (self) { | |
| 15 | + _accessControlList = [[NSMutableArray alloc] init]; | |
| 16 | + } | |
| 17 | + return self; | |
| 18 | +} | |
| 19 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3BucketACLXMLParser.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3BucketACLXMLParser.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/12/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3BucketACLResult.h" | |
| 10 | +#import <Foundation/Foundation.h> | |
| 11 | + | |
| 12 | +@interface KS3BucketACLXMLParser : NSObject <NSXMLParserDelegate> | |
| 13 | +@property(strong, nonatomic) KS3BucketACLResult *listBuctkResult; | |
| 14 | +- (void)kSS3XMLarse:(NSData *)dataXml; | |
| 15 | + | |
| 16 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3BucketACLXMLParser.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3BucketACLXMLParser.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/12/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3BucketACLXMLParser.h" | |
| 10 | +#import "KS3Grant.h" | |
| 11 | +@interface KS3BucketACLXMLParser () | |
| 12 | +@property(strong, nonatomic) NSString *currentTag; | |
| 13 | +@property(strong, nonatomic) NSMutableString *currentText; | |
| 14 | +@property(strong, nonatomic) KS3Grant *grant; | |
| 15 | +@property(strong, nonatomic) KS3Grantee *grantee; | |
| 16 | +@property(nonatomic) BOOL isOwnerParser; | |
| 17 | +@property(nonatomic) BOOL isGrantParser; | |
| 18 | + | |
| 19 | +@end | |
| 20 | +@implementation KS3BucketACLXMLParser | |
| 21 | +- (void)kSS3XMLarse:(NSData *)dataXml { | |
| 22 | + NSXMLParser *parser = [[NSXMLParser alloc] initWithData:dataXml]; | |
| 23 | + [parser setDelegate:self]; | |
| 24 | + [parser parse]; | |
| 25 | +} | |
| 26 | + | |
| 27 | +#pragma mark - Xml delegate | |
| 28 | + | |
| 29 | +- (void)parserDidStartDocument:(NSXMLParser *)parser { | |
| 30 | + _listBuctkResult = [[KS3BucketACLResult alloc] init]; | |
| 31 | +} | |
| 32 | + | |
| 33 | +- (void)parser:(NSXMLParser *)parser | |
| 34 | + didStartElement:(NSString *)elementName | |
| 35 | + namespaceURI:(NSString *)namespaceURI | |
| 36 | + qualifiedName:(NSString *)qName | |
| 37 | + attributes:(NSDictionary *)attributeDict { | |
| 38 | + if (nil != _currentText) { | |
| 39 | + _currentText = nil; | |
| 40 | + } | |
| 41 | + _currentTag = elementName; | |
| 42 | + | |
| 43 | + if ([elementName isEqualToString:@"Owner"]) { | |
| 44 | + _listBuctkResult.owner = [KS3Owner new]; | |
| 45 | + _isOwnerParser = YES; | |
| 46 | + _isGrantParser = NO; | |
| 47 | + } | |
| 48 | + if ([elementName isEqualToString:@"Grant"]) { | |
| 49 | + if (nil != _grant) { | |
| 50 | + _grant = nil; | |
| 51 | + } | |
| 52 | + if (nil != _grantee) { | |
| 53 | + _grantee = nil; | |
| 54 | + } | |
| 55 | + _grantee = [KS3Grantee new]; | |
| 56 | + _grant = [KS3Grant new]; | |
| 57 | + | |
| 58 | + _isGrantParser = YES; | |
| 59 | + _isOwnerParser = NO; | |
| 60 | + } | |
| 61 | +} | |
| 62 | + | |
| 63 | +- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string { | |
| 64 | + if (nil == _currentText) { | |
| 65 | + _currentText = [[NSMutableString alloc] init]; | |
| 66 | + } | |
| 67 | + [_currentText appendString:string]; | |
| 68 | +} | |
| 69 | + | |
| 70 | +- (void)parser:(NSXMLParser *)parser | |
| 71 | + didEndElement:(NSString *)elementName | |
| 72 | + namespaceURI:(NSString *)namespaceURI | |
| 73 | + qualifiedName:(NSString *)qName { | |
| 74 | + if (_isOwnerParser) { | |
| 75 | + if ([elementName isEqualToString:@"ID"]) { | |
| 76 | + _listBuctkResult.owner.ID = _currentText; | |
| 77 | + } | |
| 78 | + if ([elementName isEqualToString:@"DisplayName"]) { | |
| 79 | + _listBuctkResult.owner.displayName = _currentText; | |
| 80 | + } | |
| 81 | + } | |
| 82 | + if (_isGrantParser) { | |
| 83 | + if ([elementName isEqualToString:@"ID"]) { | |
| 84 | + _grantee.ID = _currentText; | |
| 85 | + } | |
| 86 | + if ([elementName isEqualToString:@"DisplayName"]) { | |
| 87 | + _grantee.displayName = _currentText; | |
| 88 | + } | |
| 89 | + if ([elementName isEqualToString:@"URI"]) { | |
| 90 | + _grantee.URI = _currentText; | |
| 91 | + } | |
| 92 | + if ([elementName isEqualToString:@"Permission"]) { | |
| 93 | + _grant.permission = _currentText; | |
| 94 | + } | |
| 95 | + } | |
| 96 | + if ([elementName isEqualToString:@"Owner"]) { | |
| 97 | + _isOwnerParser = NO; | |
| 98 | + } | |
| 99 | + if ([elementName isEqualToString:@"Grant"]) { | |
| 100 | + _isGrantParser = NO; | |
| 101 | + _grant.grantee = _grantee; | |
| 102 | + [_listBuctkResult.accessControlList addObject:_grant]; | |
| 103 | + } | |
| 104 | +} | |
| 105 | + | |
| 106 | +- (void)parserDidEndDocument:(NSXMLParser *)parser { | |
| 107 | +} | |
| 108 | + | |
| 109 | +- (void)parser:(NSXMLParser *)parser foundCDATA:(NSData *)CDATABlock { | |
| 110 | +} | |
| 111 | + | |
| 112 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3BucketNameUtilities.h
0 → 100644
| 1 | +// | |
| 2 | +// KS3BucketNameUtilities.h | |
| 3 | +// KS3YunSDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/23/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <Foundation/Foundation.h> | |
| 10 | +@class KS3ClientException; | |
| 11 | +@interface KS3BucketNameUtilities : NSObject | |
| 12 | ++ (KS3ClientException *)validateBucketName:(NSString *)theBucketName; | |
| 13 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3BucketNameUtilities.m
0 → 100644
| 1 | +// | |
| 2 | +// KS3BucketNameUtilities.m | |
| 3 | +// KS3YunSDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/23/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3BucketNameUtilities.h" | |
| 10 | +#import "KS3ClientException.h" | |
| 11 | +#import "KS3SDKUtil.h" | |
| 12 | +#import <ctype.h> | |
| 13 | +@implementation KS3BucketNameUtilities | |
| 14 | ++ (KS3ClientException *)validateBucketName:(NSString *)theBucketName { | |
| 15 | + if (theBucketName == nil) { | |
| 16 | + return [KS3ClientException | |
| 17 | + exceptionWithMessage:@"Bucket name should not be nil."]; | |
| 18 | + } | |
| 19 | + | |
| 20 | + if ([theBucketName length] < 3 || [theBucketName length] > 255) { | |
| 21 | + return [KS3ClientException | |
| 22 | + exceptionWithMessage: | |
| 23 | + @"Bucket name should be between 3 and 255 characters in length."]; | |
| 24 | + } | |
| 25 | + if ([KS3SDKUtil isVaildBucketName:theBucketName]) { | |
| 26 | + return [KS3ClientException | |
| 27 | + exceptionWithMessage: | |
| 28 | + @"Bucket name 只能包含小写英文字母(a-z),数字,点(.),中线."]; | |
| 29 | + } | |
| 30 | + | |
| 31 | + if ([theBucketName hasPrefix:@"kss"]) { | |
| 32 | + return [KS3ClientException | |
| 33 | + exceptionWithMessage:@"Bucket name should not start with a 'kss'."]; | |
| 34 | + } | |
| 35 | + if ([theBucketName hasPrefix:@"."]) { | |
| 36 | + return [KS3ClientException | |
| 37 | + exceptionWithMessage:@"Bucket name should not start with a '.'."]; | |
| 38 | + } | |
| 39 | + if ([theBucketName hasPrefix:@"-"]) { | |
| 40 | + return [KS3ClientException | |
| 41 | + exceptionWithMessage:@"Bucket name should not start with a '-'."]; | |
| 42 | + } | |
| 43 | + if ([KS3SDKUtil isIpString:theBucketName]) { | |
| 44 | + return [KS3ClientException | |
| 45 | + exceptionWithMessage:@"Bucket name should not be a IP"]; | |
| 46 | + } | |
| 47 | + | |
| 48 | + // if ( [KS3BucketNameUtilities contains:theBucketName searchString:@".."]) | |
| 49 | + // { | |
| 50 | + // return [KS3ClientException exceptionWithMessage : @"Bucket name | |
| 51 | + // should not contain two adjacent periods."]; | |
| 52 | + // } | |
| 53 | + // | |
| 54 | + // if ( [KS3BucketNameUtilities contains:theBucketName searchString:@"_"]) | |
| 55 | + // { | |
| 56 | + // return [KS3ClientException exceptionWithMessage : @"Bucket name | |
| 57 | + // should not contain '_'."]; | |
| 58 | + // } | |
| 59 | + // | |
| 60 | + // if ( [KS3BucketNameUtilities contains:theBucketName searchString:@"-."] | |
| 61 | + // || | |
| 62 | + // [KS3BucketNameUtilities contains:theBucketName searchString:@".-"]) | |
| 63 | + // { | |
| 64 | + // return [KS3ClientException exceptionWithMessage : @"Bucket name | |
| 65 | + // should not contain dashes next to periods."]; | |
| 66 | + // } | |
| 67 | + // | |
| 68 | + // if ( [[theBucketName lowercaseString] isEqualToString:theBucketName] == | |
| 69 | + // NO) { | |
| 70 | + // return [KS3ClientException exceptionWithMessage : @"Bucket name | |
| 71 | + // should not contain upper case characters."]; | |
| 72 | + // } | |
| 73 | + | |
| 74 | + return nil; | |
| 75 | +} | |
| 76 | ++ (bool)isDNSBucketName:(NSString *)theBucketName; | |
| 77 | +{ | |
| 78 | + if (theBucketName == nil) { | |
| 79 | + return NO; | |
| 80 | + } | |
| 81 | + | |
| 82 | + if ([theBucketName length] < 3 || [theBucketName length] > 255) { | |
| 83 | + return NO; | |
| 84 | + } | |
| 85 | + | |
| 86 | + if ([theBucketName hasPrefix:@"-"]) { | |
| 87 | + return NO; | |
| 88 | + } | |
| 89 | + // | |
| 90 | + // if ( [KS3BucketNameUtilities contains:theBucketName searchString:@"_"]) | |
| 91 | + // { | |
| 92 | + // return NO; | |
| 93 | + // } | |
| 94 | + // | |
| 95 | + // if ( [KS3BucketNameUtilities contains:theBucketName searchString:@"."]) | |
| 96 | + // { | |
| 97 | + // return NO; | |
| 98 | + // } | |
| 99 | + // | |
| 100 | + // if ( [KS3BucketNameUtilities contains:theBucketName searchString:@"-."] | |
| 101 | + // || | |
| 102 | + // [KS3BucketNameUtilities contains:theBucketName searchString:@".-"]) | |
| 103 | + // { | |
| 104 | + // return NO; | |
| 105 | + // } | |
| 106 | + // | |
| 107 | + // if ( [[theBucketName lowercaseString] isEqualToString:theBucketName] == | |
| 108 | + // NO) { | |
| 109 | + // return NO; | |
| 110 | + // } | |
| 111 | + | |
| 112 | + return YES; | |
| 113 | +} | |
| 114 | + | |
| 115 | ++ (bool)contains:(NSString *)sourceString | |
| 116 | + searchString:(NSString *)searchString { | |
| 117 | + NSRange range = [sourceString rangeOfString:searchString]; | |
| 118 | + | |
| 119 | + return (range.location != NSNotFound); | |
| 120 | +} | |
| 121 | + | |
| 122 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3CreateBucketRequest.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3CreateBucketRequest.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/12/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3Request.h" | |
| 10 | +@interface KS3CreateBucketRequest : KS3Request | |
| 11 | +- (instancetype)initWithName:(NSString *)bucketName; | |
| 12 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3CreateBucketRequest.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3CreateBucketRequest.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/12/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3CreateBucketRequest.h" | |
| 10 | +#import "KS3BucketNameUtilities.h" | |
| 11 | +#import "KS3Client.h" | |
| 12 | +#import "KS3Constants.h" | |
| 13 | +@implementation KS3CreateBucketRequest | |
| 14 | + | |
| 15 | +- (instancetype)initWithName:(NSString *)bucketName { | |
| 16 | + self = [super init]; | |
| 17 | + if (self) { | |
| 18 | + self.bucket = [self URLEncodedString:bucketName]; | |
| 19 | + self.httpMethod = kHttpMethodPut; | |
| 20 | + self.contentMd5 = @""; | |
| 21 | + self.contentType = @""; | |
| 22 | + self.kSYResource = [NSString stringWithFormat:@"/%@/", self.bucket]; | |
| 23 | + self.host = [NSString | |
| 24 | + stringWithFormat:@"%@://%@.%@", | |
| 25 | + [[KS3Client initialize] requestProtocol], self.bucket, | |
| 26 | + [[KS3Client initialize] getBucketDomain]]; | |
| 27 | + } | |
| 28 | + return self; | |
| 29 | +} | |
| 30 | + | |
| 31 | +- (KS3ClientException *)validate { | |
| 32 | + KS3ClientException *clientException = [super validate]; | |
| 33 | + if (!clientException) { | |
| 34 | + clientException = [KS3BucketNameUtilities validateBucketName:self.bucket]; | |
| 35 | + } | |
| 36 | + return clientException; | |
| 37 | +} | |
| 38 | + | |
| 39 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3CreateBucketResponse.h
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3CreateBucketResponse.m
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3DeleteBucketRequest.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3DeleteBucketRequest.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/12/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3Request.h" | |
| 10 | + | |
| 11 | +@interface KS3DeleteBucketRequest : KS3Request | |
| 12 | + | |
| 13 | +- (instancetype)initWithName:(NSString *)bucketName; | |
| 14 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3DeleteBucketRequest.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3DeleteBucketRequest.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/12/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3DeleteBucketRequest.h" | |
| 10 | +#import "KS3Client.h" | |
| 11 | +#import "KS3ClientException.h" | |
| 12 | +#import "KS3Constants.h" | |
| 13 | +@implementation KS3DeleteBucketRequest | |
| 14 | + | |
| 15 | +- (instancetype)initWithName:(NSString *)bucketName { | |
| 16 | + self = [super init]; | |
| 17 | + if (self) { | |
| 18 | + self.bucket = [self URLEncodedString:bucketName]; | |
| 19 | + self.httpMethod = kHttpMethodDelete; | |
| 20 | + self.contentMd5 = @""; | |
| 21 | + self.contentType = @""; | |
| 22 | + self.kSYResource = [NSString stringWithFormat:@"/%@/", self.bucket]; | |
| 23 | + self.host = [NSString | |
| 24 | + stringWithFormat:@"%@://%@.%@", | |
| 25 | + [[KS3Client initialize] requestProtocol], self.bucket, | |
| 26 | + [[KS3Client initialize] getBucketDomain]]; | |
| 27 | + } | |
| 28 | + return self; | |
| 29 | +} | |
| 30 | +- (KS3ClientException *)validate { | |
| 31 | + KS3ClientException *clientException = [super validate]; | |
| 32 | + if (clientException == nil) { | |
| 33 | + if (nil == self.bucket) { | |
| 34 | + clientException = [KS3ClientException | |
| 35 | + exceptionWithMessage:@"Bucket Name should not be nil."]; | |
| 36 | + } | |
| 37 | + } | |
| 38 | + return clientException; | |
| 39 | +} | |
| 40 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3DeleteBucketResponse.h
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3DeleteBucketResponse.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3DeleteBucketResponse.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/10/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3DeleteBucketResponse.h" | |
| 10 | + | |
| 11 | +@implementation KS3DeleteBucketResponse | |
| 12 | + | |
| 13 | +- (void)processBody { | |
| 14 | +} | |
| 15 | + | |
| 16 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3GetACLRequest.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3BucketACLRequest.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/12/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3Request.h" | |
| 10 | + | |
| 11 | +@interface KS3GetACLRequest : KS3Request | |
| 12 | +- (instancetype)initWithName:(NSString *)bucketName; | |
| 13 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3GetACLRequest.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3BucketACLRequest.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/12/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3GetACLRequest.h" | |
| 10 | +#import "KS3Client.h" | |
| 11 | +#import "KS3Constants.h" | |
| 12 | +@implementation KS3GetACLRequest | |
| 13 | + | |
| 14 | +- (instancetype)initWithName:(NSString *)bucketName { | |
| 15 | + self = [super init]; | |
| 16 | + if (self) { | |
| 17 | + self.bucket = [self URLEncodedString:bucketName]; | |
| 18 | + self.httpMethod = kHttpMethodGet; | |
| 19 | + self.contentMd5 = @""; | |
| 20 | + self.kSYResource = [NSString stringWithFormat:@"/%@/?acl", self.bucket]; | |
| 21 | + self.host = [NSString | |
| 22 | + stringWithFormat:@"%@://%@.%@/?acl", | |
| 23 | + [[KS3Client initialize] requestProtocol], self.bucket, | |
| 24 | + [[KS3Client initialize] getBucketDomain]]; | |
| 25 | + } | |
| 26 | + return self; | |
| 27 | +} | |
| 28 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3GetACLResponse.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3BucketACLResponse.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/12/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3Response.h" | |
| 10 | +@class KS3BucketACLResult; | |
| 11 | +@interface KS3GetACLResponse : KS3Response | |
| 12 | + | |
| 13 | +@property(nonatomic, strong) KS3BucketACLResult *listBucketsResult; | |
| 14 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3GetACLResponse.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3BucketACLResponse.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/12/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3GetACLResponse.h" | |
| 10 | +#import "KS3BucketACLResult.h" | |
| 11 | +#import "KS3BucketACLXMLParser.h" | |
| 12 | +@implementation KS3GetACLResponse | |
| 13 | + | |
| 14 | +- (void)processBody { | |
| 15 | + KS3BucketACLXMLParser *xmlParser = [[KS3BucketACLXMLParser alloc] init]; | |
| 16 | + [xmlParser kSS3XMLarse:body]; | |
| 17 | + _listBucketsResult = xmlParser.listBuctkResult; | |
| 18 | +} | |
| 19 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3GetBucketLoggingRequest.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3GetBucketLoggingRequest.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/14/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3Request.h" | |
| 10 | + | |
| 11 | +@interface KS3GetBucketLoggingRequest : KS3Request | |
| 12 | +@property(nonatomic, strong) NSString *prefix; | |
| 13 | + | |
| 14 | +@property(nonatomic, strong) NSString *marker; | |
| 15 | + | |
| 16 | +@property(nonatomic) int32_t maxKeys; | |
| 17 | + | |
| 18 | +@property(nonatomic, retain) NSString *delimiter; | |
| 19 | + | |
| 20 | +- (instancetype)initWithName:(NSString *)bucketName; | |
| 21 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3GetBucketLoggingRequest.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3GetBucketLoggingRequest.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/14/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3GetBucketLoggingRequest.h" | |
| 10 | +#import "KS3Client.h" | |
| 11 | +#import "KS3Constants.h" | |
| 12 | +#import "KS3SDKUtil.h" | |
| 13 | +@implementation KS3GetBucketLoggingRequest | |
| 14 | +- (instancetype)initWithName:(NSString *)bucketName { | |
| 15 | + self = [super init]; | |
| 16 | + if (self) { | |
| 17 | + self.bucket = [self URLEncodedString:bucketName]; | |
| 18 | + self.httpMethod = kHttpMethodGet; | |
| 19 | + self.contentMd5 = @""; | |
| 20 | + self.contentType = @""; | |
| 21 | + self.kSYResource = [NSString stringWithFormat:@"/%@/?logging", self.bucket]; | |
| 22 | + self.host = [NSString | |
| 23 | + stringWithFormat:@"%@://%@.%@/?logging", | |
| 24 | + [[KS3Client initialize] requestProtocol], self.bucket, | |
| 25 | + [[KS3Client initialize] getBucketDomain]]; | |
| 26 | + } | |
| 27 | + return self; | |
| 28 | +} | |
| 29 | +- (KS3URLRequest *)configureURLRequest { | |
| 30 | + NSMutableString *queryString = [NSMutableString stringWithCapacity:512]; | |
| 31 | + | |
| 32 | + if (nil != self.prefix) { | |
| 33 | + [queryString appendFormat:@"%@=%@", kKS3QueryParamPrefix, | |
| 34 | + [KS3SDKUtil urlEncode:self.prefix]]; | |
| 35 | + } | |
| 36 | + if (nil != self.marker) { | |
| 37 | + if ([queryString length] > 0) { | |
| 38 | + [queryString appendFormat:@"&"]; | |
| 39 | + } | |
| 40 | + [queryString appendFormat:@"%@=%@", kKS3QueryParamMarker, | |
| 41 | + [KS3SDKUtil urlEncode:self.marker]]; | |
| 42 | + } | |
| 43 | + if (nil != self.delimiter) { | |
| 44 | + if ([queryString length] > 0) { | |
| 45 | + [queryString appendFormat:@"&"]; | |
| 46 | + } | |
| 47 | + [queryString appendFormat:@"%@=%@", kKS3QueryParamDelimiter, | |
| 48 | + [KS3SDKUtil urlEncode:self.delimiter]]; | |
| 49 | + } | |
| 50 | + if (self.maxKeys > 0) { | |
| 51 | + if ([queryString length] > 0) { | |
| 52 | + [queryString appendFormat:@"&"]; | |
| 53 | + } | |
| 54 | + [queryString appendFormat:@"%@=%d", kKS3QueryParamMaxKeys, self.maxKeys]; | |
| 55 | + } | |
| 56 | + | |
| 57 | + if ([queryString length] > 0) { | |
| 58 | + self.host = [NSString stringWithFormat:@"%@?%@", self.host, queryString]; | |
| 59 | + } | |
| 60 | + | |
| 61 | + [super configureURLRequest]; | |
| 62 | + return self.urlRequest; | |
| 63 | +} | |
| 64 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3GetBucketLoggingResponse.h
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3GetBucketLoggingResponse.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3GetBucketLoggingResponse.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/14/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3GetBucketLoggingResponse.h" | |
| 10 | + | |
| 11 | +@implementation KS3GetBucketLoggingResponse | |
| 12 | +- (void)processBody { | |
| 13 | +} | |
| 14 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3HeadBucketRequest.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3HeadBucketRequest.h | |
| 3 | +// KS3YunSDK | |
| 4 | +// | |
| 5 | +// Created by Blues on 12/18/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | +#import "KS3Request.h" | |
| 9 | +@interface KS3HeadBucketRequest : KS3Request | |
| 10 | +- (instancetype)initWithName:(NSString *)bucketName; | |
| 11 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3HeadBucketRequest.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3HeadBucketRequest.m | |
| 3 | +// KS3YunSDK | |
| 4 | +// | |
| 5 | +// Created by Blues on 12/18/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3HeadBucketRequest.h" | |
| 10 | +#import "KS3Client.h" | |
| 11 | +#import "KS3Constants.h" | |
| 12 | +@implementation KS3HeadBucketRequest | |
| 13 | +- (instancetype)initWithName:(NSString *)bucketName { | |
| 14 | + self = [super init]; | |
| 15 | + if (self) { | |
| 16 | + self.bucket = [self URLEncodedString:bucketName]; | |
| 17 | + self.httpMethod = kHttpMethodHead; | |
| 18 | + self.contentMd5 = @""; | |
| 19 | + self.contentType = @""; | |
| 20 | + self.kSYResource = [NSString stringWithFormat:@"/%@/", self.bucket]; | |
| 21 | + self.host = [NSString | |
| 22 | + stringWithFormat:@"%@://%@.%@", | |
| 23 | + [[KS3Client initialize] requestProtocol], self.bucket, | |
| 24 | + [[KS3Client initialize] getBucketDomain]]; | |
| 25 | + } | |
| 26 | + return self; | |
| 27 | +} | |
| 28 | + | |
| 29 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3HeadBucketResponse.h
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3HeadBucketResponse.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3HeadBucketResponse.m | |
| 3 | +// KS3YunSDK | |
| 4 | +// | |
| 5 | +// Created by Blues on 12/18/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3HeadBucketResponse.h" | |
| 10 | + | |
| 11 | +@implementation KS3HeadBucketResponse | |
| 12 | + | |
| 13 | +- (void)processBody { | |
| 14 | +} | |
| 15 | + | |
| 16 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3ListObjectsRequest.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3ListObjectsRequest.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/12/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3Request.h" | |
| 10 | + | |
| 11 | +@interface KS3ListObjectsRequest : KS3Request | |
| 12 | + | |
| 13 | +@property(nonatomic, strong) NSString *prefix; | |
| 14 | +@property(nonatomic, strong) NSString *marker; | |
| 15 | +@property(nonatomic) int32_t maxKeys; | |
| 16 | +@property(nonatomic, retain) NSString *delimiter; | |
| 17 | +@property(nonatomic, strong) NSString *encodingType; | |
| 18 | + | |
| 19 | +- (instancetype)initWithName:(NSString *)bucketName; | |
| 20 | + | |
| 21 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3ListObjectsRequest.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3ListObjectsRequest.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/12/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3ListObjectsRequest.h" | |
| 10 | +#import "KS3Client.h" | |
| 11 | +#import "KS3Constants.h" | |
| 12 | +#import "KS3SDKUtil.h" | |
| 13 | +@implementation KS3ListObjectsRequest | |
| 14 | +- (instancetype)initWithName:(NSString *)bucketName { | |
| 15 | + self = [super init]; | |
| 16 | + if (self) { | |
| 17 | + self.bucket = [self URLEncodedString:bucketName]; | |
| 18 | + self.httpMethod = kHttpMethodGet; | |
| 19 | + self.contentMd5 = @""; | |
| 20 | + self.contentType = @""; | |
| 21 | + self.kSYResource = [NSString stringWithFormat:@"/%@/", self.bucket]; | |
| 22 | + self.host = [NSString | |
| 23 | + stringWithFormat:@"%@://%@.%@", | |
| 24 | + [[KS3Client initialize] requestProtocol], self.bucket, | |
| 25 | + [[KS3Client initialize] getBucketDomain]]; | |
| 26 | + } | |
| 27 | + return self; | |
| 28 | +} | |
| 29 | + | |
| 30 | +- (KS3URLRequest *)configureURLRequest { | |
| 31 | + NSMutableString *queryString = [NSMutableString stringWithCapacity:512]; | |
| 32 | + if (nil != self.prefix) { | |
| 33 | + [queryString appendFormat:@"%@=%@", kKS3QueryParamPrefix, | |
| 34 | + [KS3SDKUtil urlEncode:self.prefix]]; | |
| 35 | + } | |
| 36 | + if (nil != self.marker) { | |
| 37 | + if ([queryString length] > 0) { | |
| 38 | + [queryString appendFormat:@"&"]; | |
| 39 | + } | |
| 40 | + [queryString appendFormat:@"%@=%@", kKS3QueryParamMarker, | |
| 41 | + [KS3SDKUtil urlEncode:self.marker]]; | |
| 42 | + } | |
| 43 | + if (nil != self.delimiter) { | |
| 44 | + if ([queryString length] > 0) { | |
| 45 | + [queryString appendFormat:@"&"]; | |
| 46 | + } | |
| 47 | + [queryString appendFormat:@"%@=%@", kKS3QueryParamDelimiter, | |
| 48 | + [KS3SDKUtil urlEncode:self.delimiter]]; | |
| 49 | + } | |
| 50 | + if (nil != self.encodingType) { | |
| 51 | + if (queryString.length > 0) { | |
| 52 | + [queryString appendFormat:@"&"]; | |
| 53 | + } | |
| 54 | + [queryString appendFormat:@"%@=%@", kKS3QueryParamEncodingType, | |
| 55 | + [KS3SDKUtil urlEncode:self.encodingType]]; | |
| 56 | + } | |
| 57 | + if (self.maxKeys > 0) { | |
| 58 | + if ([queryString length] > 0) { | |
| 59 | + [queryString appendFormat:@"&"]; | |
| 60 | + } | |
| 61 | + [queryString appendFormat:@"%@=%d", kKS3QueryParamMaxKeys, self.maxKeys]; | |
| 62 | + } | |
| 63 | + if ([queryString length] > 0) { | |
| 64 | + self.host = [NSString stringWithFormat:@"%@/?%@", self.host, queryString]; | |
| 65 | + } | |
| 66 | + [super configureURLRequest]; | |
| 67 | + return self.urlRequest; | |
| 68 | +} | |
| 69 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3ListObjectsResponse.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3ListObjectsResponse.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/12/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3Response.h" | |
| 10 | +@class KS3ListObjectsResult; | |
| 11 | + | |
| 12 | +@interface KS3ListObjectsResponse : KS3Response | |
| 13 | +@property(nonatomic, strong) KS3ListObjectsResult *listBucketsResult; | |
| 14 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3ListObjectsResponse.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3ListObjectsResponse.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/12/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3ListObjectsResponse.h" | |
| 10 | +#import "KS3ListObjectsResult.h" | |
| 11 | +#import "KS3ListObjectsXMLPrarser.h" | |
| 12 | +#import "KS3ObjectSummary.h" | |
| 13 | +#import "KS3Owner.h" | |
| 14 | +@implementation KS3ListObjectsResponse | |
| 15 | +- (void)processBody { | |
| 16 | + KS3ListObjectsXMLPrarser *xmlParser = [[KS3ListObjectsXMLPrarser alloc] init]; | |
| 17 | + [xmlParser kSS3XMLarse:body]; | |
| 18 | + _listBucketsResult = xmlParser.listBuctkResult; | |
| 19 | +} | |
| 20 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3ListObjectsResult.h
0 → 100644
| 1 | +// | |
| 2 | +// ListBucketObjects.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/12/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <Foundation/Foundation.h> | |
| 10 | + | |
| 11 | +@interface KS3ListObjectsResult : NSObject | |
| 12 | + | |
| 13 | +@property(strong, nonatomic) NSMutableArray *objectSummaries; | |
| 14 | +@property(strong, nonatomic) NSString *bucketName; | |
| 15 | +@property(strong, nonatomic) NSString *prefix; | |
| 16 | +@property(strong, nonatomic) NSString *marker; | |
| 17 | +@property(strong, nonatomic) NSString *NextMarker; | |
| 18 | +@property(nonatomic) int32_t maxKeys; | |
| 19 | +@property(strong, nonatomic) NSString *delimiter; | |
| 20 | +@property(assign, nonatomic) BOOL IsTruncated; | |
| 21 | +@property(strong, nonatomic) NSMutableArray *commonPrefixes; | |
| 22 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3ListObjectsResult.m
0 → 100644
| 1 | +// | |
| 2 | +// ListBucketObjects.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/12/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3ListObjectsResult.h" | |
| 10 | + | |
| 11 | +@implementation KS3ListObjectsResult | |
| 12 | +- (instancetype)init { | |
| 13 | + self = [super init]; | |
| 14 | + if (self) { | |
| 15 | + _objectSummaries = [NSMutableArray new]; | |
| 16 | + _commonPrefixes = [NSMutableArray new]; | |
| 17 | + } | |
| 18 | + return self; | |
| 19 | +} | |
| 20 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3ListObjectsXMLPrarser.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3ListObjectsXMLPrarser.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/14/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <Foundation/Foundation.h> | |
| 10 | +@class KS3ListObjectsResult; | |
| 11 | +@interface KS3ListObjectsXMLPrarser : NSObject <NSXMLParserDelegate> | |
| 12 | +@property(strong, nonatomic) KS3ListObjectsResult *listBuctkResult; | |
| 13 | +- (void)kSS3XMLarse:(NSData *)dataXml; | |
| 14 | + | |
| 15 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3ListObjectsXMLPrarser.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3ListObjectsXMLPrarser.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/14/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3ListObjectsXMLPrarser.h" | |
| 10 | +#import "KS3ListObjectsResult.h" | |
| 11 | +#import "KS3ObjectSummary.h" | |
| 12 | +#import "KS3Owner.h" | |
| 13 | + | |
| 14 | +@interface KS3ListObjectsXMLPrarser () | |
| 15 | + | |
| 16 | +@property(strong, nonatomic) NSString *currentTag; | |
| 17 | +@property(strong, nonatomic) NSMutableString *currentText; | |
| 18 | +@property(strong, nonatomic) KS3ObjectSummary *objectSummary; | |
| 19 | + | |
| 20 | +@property(nonatomic) BOOL isContents; | |
| 21 | +@property(nonatomic) BOOL isOwner; | |
| 22 | +@property(nonatomic) BOOL isCommonPrefixes; | |
| 23 | + | |
| 24 | +@end | |
| 25 | + | |
| 26 | +@implementation KS3ListObjectsXMLPrarser | |
| 27 | + | |
| 28 | +- (void)kSS3XMLarse:(NSData *)dataXml { | |
| 29 | + NSXMLParser *parser = [[NSXMLParser alloc] initWithData:dataXml]; | |
| 30 | + [parser setDelegate:self]; | |
| 31 | + [parser parse]; | |
| 32 | +} | |
| 33 | + | |
| 34 | +#pragma mark - Xml delegate | |
| 35 | + | |
| 36 | +- (void)parserDidStartDocument:(NSXMLParser *)parser { | |
| 37 | + _listBuctkResult = [[KS3ListObjectsResult alloc] init]; | |
| 38 | +} | |
| 39 | + | |
| 40 | +- (void)parser:(NSXMLParser *)parser | |
| 41 | + didStartElement:(NSString *)elementName | |
| 42 | + namespaceURI:(NSString *)namespaceURI | |
| 43 | + qualifiedName:(NSString *)qName | |
| 44 | + attributes:(NSDictionary *)attributeDict { | |
| 45 | + if (nil != _currentText) { | |
| 46 | + _currentText = nil; | |
| 47 | + } | |
| 48 | + _currentTag = elementName; | |
| 49 | + | |
| 50 | + if ([elementName isEqualToString:@"Contents"]) { | |
| 51 | + _isContents = YES; | |
| 52 | + _isCommonPrefixes = NO; | |
| 53 | + if (nil != _objectSummary) { | |
| 54 | + _objectSummary = nil; | |
| 55 | + } | |
| 56 | + _objectSummary = [KS3ObjectSummary new]; | |
| 57 | + } | |
| 58 | + if ([elementName isEqualToString:@"Owner"]) { | |
| 59 | + if (nil != _objectSummary.owner) { | |
| 60 | + _objectSummary.owner = nil; | |
| 61 | + } | |
| 62 | + _objectSummary.owner = [KS3Owner new]; | |
| 63 | + } | |
| 64 | + if ([elementName isEqualToString:@"CommonPrefixes"]) { | |
| 65 | + _isCommonPrefixes = YES; | |
| 66 | + _isContents = NO; | |
| 67 | + } | |
| 68 | +} | |
| 69 | + | |
| 70 | +- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string { | |
| 71 | + if (nil == _currentText) { | |
| 72 | + _currentText = [[NSMutableString alloc] init]; | |
| 73 | + } | |
| 74 | + | |
| 75 | + [_currentText appendString:string]; | |
| 76 | +} | |
| 77 | + | |
| 78 | +- (void)parser:(NSXMLParser *)parser | |
| 79 | + didEndElement:(NSString *)elementName | |
| 80 | + namespaceURI:(NSString *)namespaceURI | |
| 81 | + qualifiedName:(NSString *)qName { | |
| 82 | + | |
| 83 | + if (_isContents) { | |
| 84 | + if ([elementName isEqualToString:@"Key"]) { | |
| 85 | + _objectSummary.Key = _currentText; | |
| 86 | + } else if ([elementName isEqualToString:@"LastModified"]) { | |
| 87 | + _objectSummary.LastModified = _currentText; | |
| 88 | + } else if ([elementName isEqualToString:@"ETag"]) { | |
| 89 | + _objectSummary.ETag = _currentText; | |
| 90 | + | |
| 91 | + } else if ([elementName isEqualToString:@"Size"]) { | |
| 92 | + _objectSummary.size = (int32_t)[_currentText integerValue]; | |
| 93 | + | |
| 94 | + } else if ([elementName isEqualToString:@"ID"]) { | |
| 95 | + _objectSummary.owner.ID = _currentText; | |
| 96 | + | |
| 97 | + } else if ([elementName isEqualToString:@"DisplayName"]) { | |
| 98 | + _objectSummary.owner.displayName = _currentText; | |
| 99 | + | |
| 100 | + } else if ([elementName isEqualToString:@"StorageClass"]) { | |
| 101 | + _objectSummary.storageClass = _currentText; | |
| 102 | + } else if ([elementName isEqualToString:@"Contents"]) { | |
| 103 | + [_listBuctkResult.objectSummaries addObject:_objectSummary]; | |
| 104 | + _isContents = NO; | |
| 105 | + } | |
| 106 | + } else if (_isCommonPrefixes) { | |
| 107 | + if ([elementName isEqualToString:@"Prefix"]) { | |
| 108 | + [_listBuctkResult.commonPrefixes addObject:_currentText]; | |
| 109 | + } else if ([elementName isEqualToString:@"CommonPrefixes"]) { | |
| 110 | + _isCommonPrefixes = NO; | |
| 111 | + } | |
| 112 | + | |
| 113 | + } else { | |
| 114 | + if ([elementName isEqualToString:@"Name"]) { | |
| 115 | + _listBuctkResult.bucketName = _currentText; | |
| 116 | + } else if ([elementName isEqualToString:@"Marker"]) { | |
| 117 | + _listBuctkResult.marker = _currentText; | |
| 118 | + } else if ([elementName isEqualToString:@"NextMarker"]) { | |
| 119 | + _listBuctkResult.NextMarker = _currentText; | |
| 120 | + } else if ([elementName isEqualToString:@"MaxKeys"]) { | |
| 121 | + _listBuctkResult.maxKeys = (int32_t)[_currentText integerValue]; | |
| 122 | + } else if ([elementName isEqualToString:@"Delimiter"]) { | |
| 123 | + _listBuctkResult.delimiter = _currentText; | |
| 124 | + } else if ([elementName isEqualToString:@"IsTruncated"]) { | |
| 125 | + _listBuctkResult.IsTruncated = [_currentText boolValue]; | |
| 126 | + } | |
| 127 | + } | |
| 128 | +} | |
| 129 | + | |
| 130 | +- (void)parserDidEndDocument:(NSXMLParser *)parser { | |
| 131 | +} | |
| 132 | + | |
| 133 | +- (void)parser:(NSXMLParser *)parser foundCDATA:(NSData *)CDATABlock { | |
| 134 | +} | |
| 135 | + | |
| 136 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3ObjectSummary.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3Contents.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/13/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <Foundation/Foundation.h> | |
| 10 | +@class KS3Owner; | |
| 11 | +@interface KS3ObjectSummary : NSObject | |
| 12 | +@property(strong, nonatomic) NSString *Key; | |
| 13 | +@property(strong, nonatomic) NSString *LastModified; | |
| 14 | +@property(strong, nonatomic) NSString *ETag; | |
| 15 | +@property(strong, nonatomic) KS3Owner *owner; | |
| 16 | +@property(assign, nonatomic) int32_t size; | |
| 17 | +@property(strong, nonatomic) NSString *storageClass; | |
| 18 | + | |
| 19 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3ObjectSummary.m
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3SetACLRequest.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3SetACLRequest.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/12/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3Request.h" | |
| 10 | + | |
| 11 | +@class KS3AccessControlList; | |
| 12 | +@interface KS3SetACLRequest : KS3Request | |
| 13 | + | |
| 14 | +@property(strong, nonatomic) KS3AccessControlList *acl; | |
| 15 | + | |
| 16 | +- (instancetype)initWithName:(NSString *)bucketName | |
| 17 | + accessACL:(KS3AccessControlList *)accessACL; | |
| 18 | + | |
| 19 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3SetACLRequest.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3SetACLRequest.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/12/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3SetACLRequest.h" | |
| 10 | +#import "KS3AccessControlList.h" | |
| 11 | +#import "KS3Client.h" | |
| 12 | +#import "KS3Constants.h" | |
| 13 | +@implementation KS3SetACLRequest | |
| 14 | + | |
| 15 | +- (instancetype)initWithName:(NSString *)bucketName | |
| 16 | + accessACL:(KS3AccessControlList *)accessACL { | |
| 17 | + self = [super init]; | |
| 18 | + if (self) { | |
| 19 | + self.bucket = [self URLEncodedString:bucketName]; | |
| 20 | + self.httpMethod = kHttpMethodPut; | |
| 21 | + self.contentMd5 = @""; | |
| 22 | + self.contentType = @""; | |
| 23 | + self.kSYResource = [NSString stringWithFormat:@"/%@/?acl", self.bucket]; | |
| 24 | + self.host = [NSString | |
| 25 | + stringWithFormat:@"%@://%@.%@/?acl", | |
| 26 | + [[KS3Client initialize] requestProtocol], self.bucket, | |
| 27 | + [[KS3Client initialize] getBucketDomain]]; | |
| 28 | + _acl = accessACL; | |
| 29 | + } | |
| 30 | + return self; | |
| 31 | +} | |
| 32 | + | |
| 33 | +- (KS3URLRequest *)configureURLRequest { | |
| 34 | + | |
| 35 | + [super configureURLRequest]; | |
| 36 | + [self.urlRequest setValue:_acl.accessACL forHTTPHeaderField:@"x-kss-acl"]; | |
| 37 | + return self.urlRequest; | |
| 38 | +} | |
| 39 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3SetACLResponse.h
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3SetACLResponse.m
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3SetBucketLoggingRequest.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3SetBucketLoggingRequest.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/14/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3Request.h" | |
| 10 | + | |
| 11 | +@interface KS3SetBucketLoggingRequest : KS3Request | |
| 12 | + | |
| 13 | +- (instancetype)initWithName:(NSString *)bucketName; | |
| 14 | + | |
| 15 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3SetBucketLoggingRequest.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3SetBucketLoggingRequest.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/14/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3SetBucketLoggingRequest.h" | |
| 10 | +#import "KS3Client.h" | |
| 11 | +#import "KS3Constants.h" | |
| 12 | +@implementation KS3SetBucketLoggingRequest | |
| 13 | +- (instancetype)initWithName:(NSString *)bucketName { | |
| 14 | + self = [super init]; | |
| 15 | + if (self) { | |
| 16 | + self.bucket = [self URLEncodedString:bucketName]; | |
| 17 | + self.httpMethod = kHttpMethodPut; | |
| 18 | + self.contentMd5 = @""; | |
| 19 | + self.contentType = @""; | |
| 20 | + self.kSYResource = [NSString stringWithFormat:@"/%@/?logging", self.bucket]; | |
| 21 | + self.host = [NSString | |
| 22 | + stringWithFormat:@"%@://%@.%@/?logging", | |
| 23 | + [[KS3Client initialize] requestProtocol], self.bucket, | |
| 24 | + [[KS3Client initialize] getBucketDomain]]; | |
| 25 | + } | |
| 26 | + return self; | |
| 27 | +} | |
| 28 | +- (KS3URLRequest *)configureURLRequest { | |
| 29 | + NSString *strBody = @"<BucketLoggingStatus " | |
| 30 | + @"xmlns=\"http://doc.s3.amazonaws.com/2006-03-01\" />"; | |
| 31 | + [self.urlRequest | |
| 32 | + setHTTPBody:[strBody dataUsingEncoding:NSUTF8StringEncoding]]; | |
| 33 | + | |
| 34 | + [super configureURLRequest]; | |
| 35 | + return self.urlRequest; | |
| 36 | +} | |
| 37 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3SetBucketLoggingResponse.h
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3SetBucketLoggingResponse.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3SetBucketLoggingResponse.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/14/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3SetBucketLoggingResponse.h" | |
| 10 | + | |
| 11 | +@implementation KS3SetBucketLoggingResponse | |
| 12 | +- (void)processBody { | |
| 13 | +} | |
| 14 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3SetGrantACLRequest.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3SetGrantACLRequest.h | |
| 3 | +// KS3iOSSDKDemo | |
| 4 | +// | |
| 5 | +// Created by Blues on 12/18/14. | |
| 6 | +// Copyright (c) 2014 Blues. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3Request.h" | |
| 10 | + | |
| 11 | +@class KS3GrantAccessControlList; | |
| 12 | + | |
| 13 | +@interface KS3SetGrantACLRequest : KS3Request | |
| 14 | + | |
| 15 | +@property(nonatomic, strong) KS3GrantAccessControlList *acl; | |
| 16 | + | |
| 17 | +- (instancetype)initWithName:(NSString *)bucketName | |
| 18 | + accessACL:(KS3GrantAccessControlList *)accessACL; | |
| 19 | + | |
| 20 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3SetGrantACLRequest.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3SetGrantACLRequest.m | |
| 3 | +// KS3iOSSDKDemo | |
| 4 | +// | |
| 5 | +// Created by Blues on 12/18/14. | |
| 6 | +// Copyright (c) 2014 Blues. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3SetGrantACLRequest.h" | |
| 10 | +#import "KS3Client.h" | |
| 11 | +#import "KS3Constants.h" | |
| 12 | +#import "KS3GrantAccessControlList.h" | |
| 13 | +@implementation KS3SetGrantACLRequest | |
| 14 | +- (instancetype)initWithName:(NSString *)bucketName | |
| 15 | + accessACL:(KS3GrantAccessControlList *)accessACL { | |
| 16 | + self = [super init]; | |
| 17 | + if (self) { | |
| 18 | + self.bucket = [self URLEncodedString:bucketName]; | |
| 19 | + self.httpMethod = kHttpMethodPut; | |
| 20 | + self.contentMd5 = @""; | |
| 21 | + self.contentType = @""; | |
| 22 | + self.kSYResource = [NSString stringWithFormat:@"/%@/?acl", self.bucket]; | |
| 23 | + self.host = [NSString | |
| 24 | + stringWithFormat:@"%@://%@.%@/?acl", | |
| 25 | + [[KS3Client initialize] requestProtocol], self.bucket, | |
| 26 | + [[KS3Client initialize] getBucketDomain]]; | |
| 27 | + | |
| 28 | + if (accessACL) { | |
| 29 | + _acl = accessACL; | |
| 30 | + NSString *strValue = | |
| 31 | + [NSString stringWithFormat:@"id=\"%@\", ", _acl.identifier]; | |
| 32 | + strValue = [strValue | |
| 33 | + stringByAppendingFormat:@"displayName=\"%@\"", _acl.displayName]; | |
| 34 | + [self.urlRequest setValue:strValue | |
| 35 | + forHTTPHeaderField:_acl.accessGrantACL]; | |
| 36 | + } | |
| 37 | + } | |
| 38 | + return self; | |
| 39 | +} | |
| 40 | + | |
| 41 | +- (KS3URLRequest *)configureURLRequest { | |
| 42 | + [super configureURLRequest]; | |
| 43 | + return self.urlRequest; | |
| 44 | +} | |
| 45 | + | |
| 46 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3SetGrantACLResponse.h
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3SetGrantACLResponse.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3SetGrantACLResponse.m | |
| 3 | +// KS3iOSSDKDemo | |
| 4 | +// | |
| 5 | +// Created by Blues on 12/18/14. | |
| 6 | +// Copyright (c) 2014 Blues. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3SetGrantACLResponse.h" | |
| 10 | + | |
| 11 | +@implementation KS3SetGrantACLResponse | |
| 12 | + | |
| 13 | +- (void)processBody { | |
| 14 | +} | |
| 15 | + | |
| 16 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/KS3AccessControlList.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3AccessControlList.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/12/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <Foundation/Foundation.h> | |
| 10 | + | |
| 11 | +typedef NS_ENUM(NSInteger, KingSoftYun_PermissionACLType) { | |
| 12 | + KingSoftYun_Permission_Private, | |
| 13 | + KingSoftYun_Permission_Public_Read, | |
| 14 | + KingSoftYun_Permission_Public_Read_Write, | |
| 15 | + KingSoftYun_Permission_Authenticated_Read, | |
| 16 | + | |
| 17 | +}; | |
| 18 | + | |
| 19 | +@interface KS3AccessControlList : NSObject | |
| 20 | +@property(strong, nonatomic) NSString *accessACL; | |
| 21 | + | |
| 22 | +- (NSString *)setContronAccess:(KingSoftYun_PermissionACLType)aclType; | |
| 23 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/KS3AccessControlList.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3AccessControlList.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/12/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3AccessControlList.h" | |
| 10 | + | |
| 11 | +@implementation KS3AccessControlList | |
| 12 | + | |
| 13 | +- (instancetype)init { | |
| 14 | + self = [super init]; | |
| 15 | + if (self) { | |
| 16 | + _accessACL = @""; | |
| 17 | + } | |
| 18 | + return self; | |
| 19 | +} | |
| 20 | +- (NSString *)setContronAccess:(KingSoftYun_PermissionACLType)aclType { | |
| 21 | + _accessACL = @""; | |
| 22 | + switch (aclType) { | |
| 23 | + case KingSoftYun_Permission_Private: | |
| 24 | + _accessACL = @"private"; | |
| 25 | + break; | |
| 26 | + case KingSoftYun_Permission_Public_Read: | |
| 27 | + _accessACL = @"public-read"; | |
| 28 | + break; | |
| 29 | + case KingSoftYun_Permission_Public_Read_Write: | |
| 30 | + _accessACL = @"public-read-write"; | |
| 31 | + break; | |
| 32 | + case KingSoftYun_Permission_Authenticated_Read: | |
| 33 | + _accessACL = @"authenticated-read"; | |
| 34 | + break; | |
| 35 | + default: | |
| 36 | + break; | |
| 37 | + } | |
| 38 | + return _accessACL; | |
| 39 | +} | |
| 40 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/KS3Grant.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3Grant.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/12/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <Foundation/Foundation.h> | |
| 10 | +@class KS3Grantee; | |
| 11 | +@interface KS3Grant : NSObject | |
| 12 | +@property(strong, nonatomic) NSString *permission; | |
| 13 | +@property(strong, nonatomic) KS3Grantee *grantee; | |
| 14 | + | |
| 15 | +@end | |
| 16 | + | |
| 17 | +@interface KS3Grantee : NSObject | |
| 18 | +@property(strong, nonatomic) NSString *ID; | |
| 19 | +@property(strong, nonatomic) NSString *displayName; | |
| 20 | +@property(strong, nonatomic) NSString *URI; | |
| 21 | + | |
| 22 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/KS3Grant.m
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/KS3GrantAccessControlList.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3GrantAccessControlList.h | |
| 3 | +// KS3iOSSDKDemo | |
| 4 | +// | |
| 5 | +// Created by Blues on 12/18/14. | |
| 6 | +// Copyright (c) 2014 Blues. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <Foundation/Foundation.h> | |
| 10 | + | |
| 11 | +typedef enum { | |
| 12 | + KingSoftYun_Grant_Permission_Read, | |
| 13 | + KingSoftYun_Grant_Permission_Write, | |
| 14 | + KingSoftYun_Grant_Permission_Read_ACP, | |
| 15 | + KingSoftYun_Grant_Permission_Write_ACP, | |
| 16 | + KingSoftYun_Grant_Permission_Full_Control, | |
| 17 | +} KingSoftYun_GrantPermissionACLType; | |
| 18 | + | |
| 19 | +@interface KS3GrantAccessControlList : NSObject | |
| 20 | + | |
| 21 | +@property(nonatomic, strong) NSString *accessGrantACL; | |
| 22 | +@property(nonatomic, strong) NSString *identifier; | |
| 23 | +@property(nonatomic, strong) NSString *displayName; | |
| 24 | + | |
| 25 | +- (NSString *)setGrantControlAccess: | |
| 26 | + (KingSoftYun_GrantPermissionACLType)grantAclType; | |
| 27 | + | |
| 28 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/KS3GrantAccessControlList.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3GrantAccessControlList.m | |
| 3 | +// KS3iOSSDKDemo | |
| 4 | +// | |
| 5 | +// Created by Blues on 12/18/14. | |
| 6 | +// Copyright (c) 2014 Blues. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3GrantAccessControlList.h" | |
| 10 | + | |
| 11 | +@implementation KS3GrantAccessControlList | |
| 12 | + | |
| 13 | +- (instancetype)init { | |
| 14 | + self = [super init]; | |
| 15 | + if (self) { | |
| 16 | + _accessGrantACL = @""; | |
| 17 | + } | |
| 18 | + return self; | |
| 19 | +} | |
| 20 | + | |
| 21 | +- (NSString *)setGrantControlAccess: | |
| 22 | + (KingSoftYun_GrantPermissionACLType)grantAclType { | |
| 23 | + _accessGrantACL = @""; | |
| 24 | + switch (grantAclType) { | |
| 25 | + case KingSoftYun_Grant_Permission_Read: | |
| 26 | + _accessGrantACL = @"x-kss-grant-read"; | |
| 27 | + break; | |
| 28 | + case KingSoftYun_Grant_Permission_Write: | |
| 29 | + _accessGrantACL = @"x-kss-grant-write"; | |
| 30 | + break; | |
| 31 | + case KingSoftYun_Grant_Permission_Read_ACP: | |
| 32 | + _accessGrantACL = @"x-kss-grant-read-acp"; | |
| 33 | + break; | |
| 34 | + case KingSoftYun_Grant_Permission_Write_ACP: | |
| 35 | + _accessGrantACL = @"x-kss-grant-write-acp"; | |
| 36 | + break; | |
| 37 | + case KingSoftYun_Grant_Permission_Full_Control: | |
| 38 | + _accessGrantACL = @"x-kss-grant-full-control"; | |
| 39 | + break; | |
| 40 | + default: | |
| 41 | + break; | |
| 42 | + } | |
| 43 | + return _accessGrantACL; | |
| 44 | +} | |
| 45 | + | |
| 46 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/KS3Owner.h
0 → 100644
| 1 | +// | |
| 2 | +// S3Owner.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/11/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <Foundation/Foundation.h> | |
| 10 | + | |
| 11 | +@interface KS3Owner : NSObject | |
| 12 | + | |
| 13 | +@property(strong, nonatomic) NSString *ID; | |
| 14 | + | |
| 15 | +@property(strong, nonatomic) NSString *displayName; | |
| 16 | + | |
| 17 | +- (id)initWithID:(NSString *)theID withDisplayName:(NSString *)theDisplayName; | |
| 18 | + | |
| 19 | ++ (id)ownerWithID:(NSString *)theID withDisplayName:(NSString *)theDisplayName; | |
| 20 | + | |
| 21 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/KS3Owner.m
0 → 100644
| 1 | +// | |
| 2 | +// S3Owner.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/11/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3Owner.h" | |
| 10 | + | |
| 11 | +@implementation KS3Owner | |
| 12 | + | |
| 13 | +- (id)initWithID:(NSString *)theID withDisplayName:(NSString *)theDisplayName { | |
| 14 | + self = [super init]; | |
| 15 | + if (self) { | |
| 16 | + _ID = theID; | |
| 17 | + _displayName = theDisplayName; | |
| 18 | + } | |
| 19 | + return self; | |
| 20 | +} | |
| 21 | + | |
| 22 | ++ (id)ownerWithID:(NSString *)theID withDisplayName:(NSString *)theDisplayName { | |
| 23 | + return [[self alloc] initWithID:theID withDisplayName:theDisplayName]; | |
| 24 | +} | |
| 25 | + | |
| 26 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/KS3ResponseHeaderOverrides.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3ResponseHeaderOverrides.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/14/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <Foundation/Foundation.h> | |
| 10 | + | |
| 11 | +@interface KS3ResponseHeaderOverrides : NSObject | |
| 12 | + | |
| 13 | +@property(nonatomic, strong) NSString *contentType; | |
| 14 | + | |
| 15 | +@property(nonatomic, strong) NSString *contentLanguage; | |
| 16 | + | |
| 17 | +@property(nonatomic, strong) NSString *expires; | |
| 18 | + | |
| 19 | +@property(nonatomic, strong) NSString *cacheControl; | |
| 20 | + | |
| 21 | +@property(nonatomic, strong) NSString *contentDisposition; | |
| 22 | + | |
| 23 | +@property(nonatomic, strong) NSString *contentEncoding; | |
| 24 | + | |
| 25 | +@property(nonatomic, assign) NSString *queryString; | |
| 26 | + | |
| 27 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/KS3ResponseHeaderOverrides.m
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3AbortMultipartUploadRequest.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3AbortMultipartUploadRequest.h | |
| 3 | +// KS3iOSSDKDemo | |
| 4 | +// | |
| 5 | +// Created by Blues on 12/18/14. | |
| 6 | +// Copyright (c) 2014 Blues. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3MultipartUpload.h" | |
| 10 | +#import "KS3Request.h" | |
| 11 | + | |
| 12 | +@interface KS3AbortMultipartUploadRequest : KS3Request | |
| 13 | + | |
| 14 | +@property(strong, nonatomic) NSString *key; | |
| 15 | +@property(strong, nonatomic) NSString *uploadId; | |
| 16 | + | |
| 17 | +- (instancetype)initWithName:(NSString *)bucketName; | |
| 18 | +- (id)initWithMultipartUpload:(KS3MultipartUpload *)multipartUpload; | |
| 19 | + | |
| 20 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3AbortMultipartUploadRequest.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3AbortMultipartUploadRequest.m | |
| 3 | +// KS3iOSSDKDemo | |
| 4 | +// | |
| 5 | +// Created by Blues on 12/18/14. | |
| 6 | +// Copyright (c) 2014 Blues. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3AbortMultipartUploadRequest.h" | |
| 10 | +#import "KS3Client.h" | |
| 11 | +#import "KS3Constants.h" | |
| 12 | +@implementation KS3AbortMultipartUploadRequest | |
| 13 | + | |
| 14 | +- (instancetype)initWithName:(NSString *)bucketName { | |
| 15 | + self = [super init]; | |
| 16 | + if (self) { | |
| 17 | + self.bucket = [self URLEncodedString:bucketName]; | |
| 18 | + self.httpMethod = kHttpMethodDelete; | |
| 19 | + self.contentMd5 = @""; | |
| 20 | + self.contentType = @""; | |
| 21 | + self.kSYResource = [NSString stringWithFormat:@"/%@", self.bucket]; | |
| 22 | + self.host = [NSString | |
| 23 | + stringWithFormat:@"%@://%@.%@/", | |
| 24 | + [[KS3Client initialize] requestProtocol], self.bucket, | |
| 25 | + [[KS3Client initialize] getBucketDomain]]; | |
| 26 | + } | |
| 27 | + return self; | |
| 28 | +} | |
| 29 | + | |
| 30 | +- (id)initWithMultipartUpload:(KS3MultipartUpload *)multipartUpload { | |
| 31 | + if (self = [super init]) { | |
| 32 | + self.bucket = [self URLEncodedString:multipartUpload.bucket]; | |
| 33 | + self.key = [self URLEncodedString:multipartUpload.key]; | |
| 34 | + self.uploadId = multipartUpload.uploadId; | |
| 35 | + | |
| 36 | + self.httpMethod = kHttpMethodDelete; | |
| 37 | + self.contentMd5 = @""; | |
| 38 | + self.contentType = @""; | |
| 39 | + self.kSYResource = [NSString stringWithFormat:@"/%@", self.bucket]; | |
| 40 | + self.host = [NSString | |
| 41 | + stringWithFormat:@"%@://%@.%@", | |
| 42 | + [[KS3Client initialize] requestProtocol], self.bucket, | |
| 43 | + [[KS3Client initialize] getBucketDomain]]; | |
| 44 | + [multipartUpload cancel]; | |
| 45 | + } | |
| 46 | + | |
| 47 | + return self; | |
| 48 | +} | |
| 49 | + | |
| 50 | +- (void)setCompleteRequest { | |
| 51 | + self.kSYResource = | |
| 52 | + [NSString stringWithFormat:@"%@/%@?uploadId=%@", self.kSYResource, _key, | |
| 53 | + self.uploadId]; | |
| 54 | +} | |
| 55 | +- (KS3URLRequest *)configureURLRequest { | |
| 56 | + | |
| 57 | + self.host = [NSString | |
| 58 | + stringWithFormat:@"%@/%@?uploadId=%@", self.host, _key, _uploadId]; | |
| 59 | + [super configureURLRequest]; | |
| 60 | + return self.urlRequest; | |
| 61 | +} | |
| 62 | + | |
| 63 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3AbortMultipartUploadResponse.h
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3AbortMultipartUploadResponse.m
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3BucketObject.h
0 → 100644
| 1 | +// | |
| 2 | +// KS3BucketObj.h | |
| 3 | +// KS3iOSSDKDemo | |
| 4 | +// | |
| 5 | +// Created by Blues on 15/4/15. | |
| 6 | +// Copyright (c) 2015年 Blues. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <Foundation/Foundation.h> | |
| 10 | + | |
| 11 | +@interface KS3BucketObject : NSObject | |
| 12 | +@property(strong, nonatomic) NSString *bucketName; | |
| 13 | +@property(strong, nonatomic) NSString *objKey; | |
| 14 | + | |
| 15 | +- (instancetype)initWithBucketName:(NSString *)strBucketName | |
| 16 | + keyName:(NSString *)strKeyName; | |
| 17 | + | |
| 18 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3BucketObject.m
0 → 100644
| 1 | +// | |
| 2 | +// KS3BucketObj.m | |
| 3 | +// KS3iOSSDKDemo | |
| 4 | +// | |
| 5 | +// Created by Blues on 15/4/15. | |
| 6 | +// Copyright (c) 2015年 Blues. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3BucketObject.h" | |
| 10 | + | |
| 11 | +@implementation KS3BucketObject | |
| 12 | + | |
| 13 | +- (instancetype)initWithBucketName:(NSString *)strBucketName | |
| 14 | + keyName:(NSString *)strKeyName { | |
| 15 | + self = [super init]; | |
| 16 | + if (self) { | |
| 17 | + _bucketName = strBucketName; | |
| 18 | + _objKey = strKeyName; | |
| 19 | + } | |
| 20 | + return self; | |
| 21 | +} | |
| 22 | + | |
| 23 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3CompleteMultipartUploadRequest.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3CompleteMultipartUploadRequest.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3MultipartUpload.h" | |
| 10 | +#import "KS3Request.h" | |
| 11 | + | |
| 12 | +@interface KS3CompleteMultipartUploadRequest : KS3Request | |
| 13 | + | |
| 14 | +@property(nonatomic, strong) NSString *key; | |
| 15 | +@property(nonatomic, strong) NSString *uploadId; | |
| 16 | +@property(nonatomic, strong) NSData *dataParts; | |
| 17 | +@property(nonatomic, strong) NSString *callbackUrl; | |
| 18 | +@property(nonatomic, strong) NSString *callbackBody; | |
| 19 | +@property(nonatomic, strong) NSDictionary *callbackParams; | |
| 20 | + | |
| 21 | +- (id)initWithMultipartUpload:(KS3MultipartUpload *)multipartUpload; | |
| 22 | + | |
| 23 | +- (void)addPartWithPartNumber:(int)partNumber withETag:(NSString *)etag; | |
| 24 | + | |
| 25 | +- (NSData *)requestBody; | |
| 26 | + | |
| 27 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3CompleteMultipartUploadRequest.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3CompleteMultipartUploadRequest.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3CompleteMultipartUploadRequest.h" | |
| 10 | +#import "KS3Client.h" | |
| 11 | +#import "KS3Constants.h" | |
| 12 | +@interface KS3CompleteMultipartUploadRequest () | |
| 13 | +@property(strong, nonatomic) NSMutableDictionary *parts; | |
| 14 | +@end | |
| 15 | + | |
| 16 | +@implementation KS3CompleteMultipartUploadRequest | |
| 17 | +- (id)initWithMultipartUpload:(KS3MultipartUpload *)multipartUpload { | |
| 18 | + if (self = [super init]) { | |
| 19 | + self.bucket = [self URLEncodedString:multipartUpload.bucket]; | |
| 20 | + self.key = [self URLEncodedString:multipartUpload.key]; | |
| 21 | + self.uploadId = multipartUpload.uploadId; | |
| 22 | + self.contentMd5 = @""; | |
| 23 | + self.contentType = @"text/xml"; | |
| 24 | + self.httpMethod = kHttpMethodPost; | |
| 25 | + self.kSYResource = [NSString stringWithFormat:@"/%@", self.bucket]; | |
| 26 | + } | |
| 27 | + return self; | |
| 28 | +} | |
| 29 | + | |
| 30 | +- (void)setCompleteRequest { | |
| 31 | + // **** 一定要先设置callbackbody,再设置callbackurl才可以签名成功 | |
| 32 | + if (nil != _callbackBody && nil != _callbackUrl) { | |
| 33 | + [self.urlRequest setValue:_callbackBody | |
| 34 | + forHTTPHeaderField:@"x-kss-callbackbody"]; | |
| 35 | + | |
| 36 | + [self.urlRequest setValue:_callbackUrl | |
| 37 | + forHTTPHeaderField:@"x-kss-callbackurl"]; | |
| 38 | + | |
| 39 | + // **** 回调的自定义参数 | |
| 40 | + if (nil != _callbackParams) { | |
| 41 | + for (NSString *strKey in _callbackParams.allKeys) { | |
| 42 | + if (strKey.length >= 4 && | |
| 43 | + [[strKey substringToIndex:4] isEqualToString:@"kss-"] == YES) { | |
| 44 | + [self.urlRequest setValue:_callbackParams[strKey] | |
| 45 | + forHTTPHeaderField:strKey]; | |
| 46 | + } else { | |
| 47 | + NSLog(@"The header with field: \"%@\" and value: \"%@\" is not " | |
| 48 | + @"correct, this header will be ingored", | |
| 49 | + strKey, _callbackParams[strKey]); | |
| 50 | + } | |
| 51 | + } | |
| 52 | + } | |
| 53 | + } | |
| 54 | + | |
| 55 | + [self setKSYResource:[NSString stringWithFormat:@"%@/%@?%@=%@", | |
| 56 | + self.kSYResource, _key, | |
| 57 | + kKS3QueryParamUploadId, | |
| 58 | + self.uploadId]]; | |
| 59 | + | |
| 60 | + KS3Client *ks3Client = [KS3Client initialize]; | |
| 61 | + NSString *customBucketDomain = [ks3Client getCustomBucketDomain]; | |
| 62 | + if (customBucketDomain != nil) { | |
| 63 | + self.host = | |
| 64 | + [NSString stringWithFormat:@"%@://%@/%@?uploadId=%@", | |
| 65 | + [[KS3Client initialize] requestProtocol], | |
| 66 | + customBucketDomain, self.key, self.uploadId]; | |
| 67 | + } else { | |
| 68 | + self.host = [NSString | |
| 69 | + stringWithFormat:@"%@://%@.%@/%@?uploadId=%@", | |
| 70 | + [[KS3Client initialize] requestProtocol], self.bucket, | |
| 71 | + [ks3Client getBucketDomain], self.key, self.uploadId]; | |
| 72 | + } | |
| 73 | +} | |
| 74 | + | |
| 75 | +- (NSURLRequest *)configureURLRequest { | |
| 76 | + [super configureURLRequest]; | |
| 77 | + [self.urlRequest setHTTPMethod:kHttpMethodPost]; | |
| 78 | + [self.urlRequest setHTTPBody:[self requestBody]]; | |
| 79 | + [self.urlRequest setValue:[NSString | |
| 80 | + stringWithFormat:@"%lu", | |
| 81 | + (unsigned long)[ | |
| 82 | + [self.urlRequest HTTPBody] | |
| 83 | + length]] | |
| 84 | + forHTTPHeaderField:kKSHttpHdrContentLength]; | |
| 85 | + [self.urlRequest setValue:@"text/xml" | |
| 86 | + forHTTPHeaderField:kKSHttpHdrContentType]; | |
| 87 | + return self.urlRequest; | |
| 88 | +} | |
| 89 | + | |
| 90 | +- (void)addPartWithPartNumber:(int)partNumber withETag:(NSString *)etag { | |
| 91 | + if (_parts == nil) { | |
| 92 | + _parts = [NSMutableDictionary new]; | |
| 93 | + } | |
| 94 | + [_parts setObject:etag forKey:[NSNumber numberWithInt:partNumber]]; | |
| 95 | +} | |
| 96 | +- (NSData *)requestBody { | |
| 97 | + NSMutableString *xml = | |
| 98 | + [NSMutableString stringWithFormat:@"<CompleteMultipartUpload>"]; | |
| 99 | + NSComparator comparePartNumbers = ^(id part1, id part2) { | |
| 100 | + return [part1 compare:part2]; | |
| 101 | + }; | |
| 102 | + NSArray *keys = | |
| 103 | + [[self.parts allKeys] sortedArrayUsingComparator:comparePartNumbers]; | |
| 104 | + for (NSNumber *partNumber in keys) { | |
| 105 | + [xml | |
| 106 | + appendFormat:@"<Part><PartNumber>%d</PartNumber><ETag>%@</ETag></Part>", | |
| 107 | + [partNumber intValue], | |
| 108 | + [self.parts objectForKey:partNumber]]; | |
| 109 | + } | |
| 110 | + [xml appendString:@"</CompleteMultipartUpload>"]; | |
| 111 | + return [xml dataUsingEncoding:NSUTF8StringEncoding]; | |
| 112 | +} | |
| 113 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3CompleteMultipartUploadResponse.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3CompleteMultipartUploadResponse.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3CompleteMultipartUploadResult.h" | |
| 10 | +#import "KS3Response.h" | |
| 11 | + | |
| 12 | +@interface KS3CompleteMultipartUploadResponse : KS3Response | |
| 13 | +@property(nonatomic, readonly) | |
| 14 | + KS3CompleteMultipartUploadResult *completeMultipartUploadResult; | |
| 15 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3CompleteMultipartUploadResponse.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3CompleteMultipartUploadResponse.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3CompleteMultipartUploadResponse.h" | |
| 10 | + | |
| 11 | +@implementation KS3CompleteMultipartUploadResponse | |
| 12 | +- (void)processBody { | |
| 13 | + | |
| 14 | + NSLog(@"KSS3CompleteMultipartUploadResponse %d", self.httpStatusCode); | |
| 15 | +} | |
| 16 | + | |
| 17 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3CompleteMultipartUploadResult.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3CompleteMultipartUploadResult.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <Foundation/Foundation.h> | |
| 10 | + | |
| 11 | +@interface KS3CompleteMultipartUploadResult : NSObject | |
| 12 | + | |
| 13 | +@property(nonatomic, strong) NSString *location; | |
| 14 | + | |
| 15 | +@property(nonatomic, strong) NSString *bucket; | |
| 16 | + | |
| 17 | +@property(nonatomic, strong) NSString *key; | |
| 18 | + | |
| 19 | +@property(nonatomic, strong) NSString *etag; | |
| 20 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3CompleteMultipartUploadResult.m
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3DeleteObjectRequest.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3DeleteObjectRequest.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/14/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3Request.h" | |
| 10 | + | |
| 11 | +@interface KS3DeleteObjectRequest : KS3Request | |
| 12 | + | |
| 13 | +@property(nonatomic, strong) NSString *key; | |
| 14 | + | |
| 15 | +- (instancetype)initWithName:(NSString *)bucketName | |
| 16 | + withKeyName:(NSString *)strKey; | |
| 17 | + | |
| 18 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3DeleteObjectRequest.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3DeleteObjectRequest.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/14/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3DeleteObjectRequest.h" | |
| 10 | +#import "KS3Client.h" | |
| 11 | +#import "KS3Constants.h" | |
| 12 | +@implementation KS3DeleteObjectRequest | |
| 13 | +- (instancetype)initWithName:(NSString *)bucketName | |
| 14 | + withKeyName:(NSString *)strKey { | |
| 15 | + self = [super init]; | |
| 16 | + if (self) { | |
| 17 | + self.bucket = [self URLEncodedString:bucketName]; | |
| 18 | + self.key = [self URLEncodedString:strKey]; | |
| 19 | + self.httpMethod = kHttpMethodDelete; | |
| 20 | + self.contentMd5 = @""; | |
| 21 | + self.contentType = @""; | |
| 22 | + self.kSYResource = [NSString stringWithFormat:@"/%@", self.bucket]; | |
| 23 | + self.host = [NSString | |
| 24 | + stringWithFormat:@"%@://%@.%@", | |
| 25 | + [[KS3Client initialize] requestProtocol], self.bucket, | |
| 26 | + [[KS3Client initialize] getBucketDomain]]; | |
| 27 | + | |
| 28 | + // | |
| 29 | + self.kSYResource = | |
| 30 | + [NSString stringWithFormat:@"%@/%@", self.kSYResource, _key]; | |
| 31 | + self.host = [NSString stringWithFormat:@"%@/%@", self.host, _key]; | |
| 32 | + } | |
| 33 | + return self; | |
| 34 | +} | |
| 35 | +- (KS3URLRequest *)configureURLRequest { | |
| 36 | + [super configureURLRequest]; | |
| 37 | + return self.urlRequest; | |
| 38 | +} | |
| 39 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3DeleteObjectResponse.h
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3DeleteObjectResponse.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3DeleteObjectResponse.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/14/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3DeleteObjectResponse.h" | |
| 10 | + | |
| 11 | +@implementation KS3DeleteObjectResponse | |
| 12 | +- (void)processBody { | |
| 13 | +} | |
| 14 | + | |
| 15 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3DownLoad.h
0 → 100644
| 1 | +// | |
| 2 | +// MSDownLoad.h | |
| 3 | +// MusicSample | |
| 4 | +// | |
| 5 | +// Created by JackWong on 14-1-9. | |
| 6 | +// Copyright (c) 2014年 JackWong. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3Client.h" | |
| 10 | +#import <Foundation/Foundation.h> | |
| 11 | + | |
| 12 | +@class KS3Credentials; | |
| 13 | + | |
| 14 | +@protocol KS3DownloadDelegate; | |
| 15 | +@interface KS3DownLoad : NSObject { | |
| 16 | + | |
| 17 | + BOOL _isFinished; | |
| 18 | + BOOL _isStop; | |
| 19 | + BOOL overwrite; | |
| 20 | + NSString *url; | |
| 21 | + NSString *fileName; | |
| 22 | + NSString *filePath; | |
| 23 | + unsigned long long fileSize; | |
| 24 | +@private | |
| 25 | + NSString *destinationPath; | |
| 26 | + NSString *temporaryPath; | |
| 27 | + NSFileHandle *fileHandle; | |
| 28 | + NSURLConnection *connection; | |
| 29 | + unsigned long long offset; | |
| 30 | +} | |
| 31 | +- (id)initWithUrl:(NSString *)aUrl | |
| 32 | + credentials:(KS3Credentials *) | |
| 33 | + credentials:(NSString *) | |
| 34 | + bucketName:(NSString *)objectKey; | |
| 35 | + | |
| 36 | +@property(nonatomic, weak) id<KS3DownloadDelegate> delegate; | |
| 37 | + | |
| 38 | +@property(strong, nonatomic) NSString *bucketName; | |
| 39 | + | |
| 40 | +@property(strong, nonatomic) NSString *key; | |
| 41 | + | |
| 42 | +@property(nonatomic, assign) BOOL overwrite; | |
| 43 | + | |
| 44 | +@property(nonatomic, strong) NSString *url; | |
| 45 | + | |
| 46 | +@property(nonatomic, strong) NSString *fileName; | |
| 47 | + | |
| 48 | +@property(nonatomic, strong) NSString *filePath; | |
| 49 | + | |
| 50 | +@property(strong, nonatomic) NSString *httpMethod; | |
| 51 | + | |
| 52 | +@property(strong, nonatomic) NSString *contentMd5; | |
| 53 | + | |
| 54 | +@property(strong, nonatomic) NSString *contentType; | |
| 55 | + | |
| 56 | +@property(strong, nonatomic) NSString *kSYHeader; | |
| 57 | + | |
| 58 | +@property(strong, nonatomic) NSString *kSYResource; | |
| 59 | + | |
| 60 | +@property(nonatomic, strong) NSString *strKS3Token; | |
| 61 | + | |
| 62 | +@property(strong, nonatomic) NSDate *requestDate; | |
| 63 | + | |
| 64 | +@property(strong, nonatomic) NSString *strDate; | |
| 65 | + | |
| 66 | +@property NSTimeInterval timeoutInterval; | |
| 67 | + | |
| 68 | +@property(nonatomic, readonly) unsigned long long fileSize; | |
| 69 | + | |
| 70 | +@property(copy, nonatomic) | |
| 71 | + KSS3DownloadProgressChangeBlock downloadProgressChangeBlock; | |
| 72 | + | |
| 73 | +@property(copy, nonatomic) KSS3DownloadFailedBlock failedBlock; | |
| 74 | + | |
| 75 | +@property(copy, nonatomic) | |
| 76 | + kSS3DownloadFileCompleteionBlock downloadFileCompleteionBlock; | |
| 77 | + | |
| 78 | +@property(copy, nonatomic) KSS3DownloadBeginBlock downloadBeginBlock; | |
| 79 | + | |
| 80 | +- (void)start; | |
| 81 | + | |
| 82 | +- (void)stop; | |
| 83 | + | |
| 84 | +- (void)stopAndClear; | |
| 85 | + | |
| 86 | +- (void)setStrKS3Token:(NSString *)ks3Token; | |
| 87 | + | |
| 88 | +@end | |
| 89 | + | |
| 90 | +@protocol KS3DownloadDelegate <NSObject> | |
| 91 | + | |
| 92 | +- (void)downloadBegin:(KS3DownLoad *)aDownload | |
| 93 | + didReceiveResponseHeaders:(NSURLResponse *)responseHeaders; | |
| 94 | + | |
| 95 | +- (void)downloadFaild:(KS3DownLoad *)aDownload | |
| 96 | + didFailWithError:(NSError *)error; | |
| 97 | + | |
| 98 | +- (void)downloadFinished:(KS3DownLoad *)aDownload filePath:(NSString *)filePath; | |
| 99 | + | |
| 100 | +- (void)downloadProgressChange:(KS3DownLoad *)aDownload | |
| 101 | + progress:(double)newProgress; | |
| 102 | + | |
| 103 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3DownLoad.m
0 → 100644
| 1 | +// | |
| 2 | +// MSDownLoad.m | |
| 3 | +// MusicSample | |
| 4 | +// | |
| 5 | +// Created by JackWong on 14-1-9. | |
| 6 | +// Copyright (c) 2014年 JackWong. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3DownLoad.h" | |
| 10 | +#import "KS3AuthUtils.h" | |
| 11 | +#import "KS3Client.h" | |
| 12 | +#import "KS3Constants.h" | |
| 13 | +#import "KS3Credentials.h" | |
| 14 | +#import "KS3Request.h" | |
| 15 | +#import "KS3Response.h" | |
| 16 | +#import "KS3SDKUtil.h" | |
| 17 | +@interface KS3DownLoad () | |
| 18 | + | |
| 19 | +@property(strong, nonatomic) KS3Credentials *credentials; | |
| 20 | +@end | |
| 21 | + | |
| 22 | +@implementation KS3DownLoad { | |
| 23 | +} | |
| 24 | + | |
| 25 | +@synthesize delegate; | |
| 26 | +@synthesize overwrite; | |
| 27 | +@synthesize url; | |
| 28 | +@synthesize fileName; | |
| 29 | +@synthesize filePath; | |
| 30 | +@synthesize fileSize; | |
| 31 | + | |
| 32 | +- (id)initWithUrl:(NSString *)aUrl | |
| 33 | + credentials:(KS3Credentials *) | |
| 34 | + credentials:(NSString *) | |
| 35 | + bucketName:(NSString *)objectKey { | |
| 36 | + self = [super init]; | |
| 37 | + if (self) { | |
| 38 | + _credentials = credentials; | |
| 39 | + url = aUrl; | |
| 40 | + _requestDate = getCurrentDate(); | |
| 41 | + _strDate = [KS3AuthUtils strDateWithDate:_requestDate andType:@"GMT"]; | |
| 42 | + _contentMd5 = @""; | |
| 43 | + _contentType = @""; | |
| 44 | + _kSYHeader = @""; | |
| 45 | + _kSYResource = @""; | |
| 46 | + _strKS3Token = nil; | |
| 47 | + _httpMethod = kHttpMethodGet; | |
| 48 | + _bucketName = [self URLEncodedString:bucketName]; | |
| 49 | + _key = [self URLEncodedString:objectKey]; | |
| 50 | + _kSYResource = [NSString stringWithFormat:@"/%@/%@", _bucketName, _key]; | |
| 51 | + } | |
| 52 | + return self; | |
| 53 | +} | |
| 54 | + | |
| 55 | +- (NSString *)URLEncodedString:(NSString *)str { | |
| 56 | + | |
| 57 | + NSMutableString *output = [NSMutableString string]; | |
| 58 | + | |
| 59 | + const unsigned char *source = (const unsigned char *)[str UTF8String]; | |
| 60 | + | |
| 61 | + int sourceLen = (int)strlen((const char *)source); | |
| 62 | + | |
| 63 | + for (int i = 0; i < sourceLen; ++i) { | |
| 64 | + | |
| 65 | + const unsigned char thisChar = source[i]; | |
| 66 | + | |
| 67 | + if (thisChar == ' ') { | |
| 68 | + | |
| 69 | + [output appendString:@"+"]; | |
| 70 | + | |
| 71 | + } else if (thisChar == '.' || thisChar == '-' || thisChar == '_' || | |
| 72 | + thisChar == '~' || | |
| 73 | + | |
| 74 | + (thisChar >= 'a' && thisChar <= 'z') || | |
| 75 | + | |
| 76 | + (thisChar >= 'A' && thisChar <= 'Z') || | |
| 77 | + | |
| 78 | + (thisChar >= '0' && thisChar <= '9')) { | |
| 79 | + | |
| 80 | + [output appendFormat:@"%c", thisChar]; | |
| 81 | + | |
| 82 | + } else { | |
| 83 | + | |
| 84 | + [output appendFormat:@"%%%02X", thisChar]; | |
| 85 | + } | |
| 86 | + } | |
| 87 | + | |
| 88 | + return output; | |
| 89 | +} | |
| 90 | + | |
| 91 | +- (NSString *)applicationDocumentFilePath { | |
| 92 | + NSArray *documentPaths = NSSearchPathForDirectoriesInDomains( | |
| 93 | + NSDocumentDirectory, NSUserDomainMask, YES); | |
| 94 | + NSString *documentsDir = [documentPaths objectAtIndex:0]; | |
| 95 | + return documentsDir; | |
| 96 | +} | |
| 97 | +- (void)start { | |
| 98 | + if (!url) { | |
| 99 | + if (delegate && [delegate respondsToSelector:@selector(downloadFaild: | |
| 100 | + didFailWithError:)]) { | |
| 101 | + NSError *error = [NSError errorWithDomain:@"Url can not be nil!" | |
| 102 | + code:110 | |
| 103 | + userInfo:nil]; | |
| 104 | + [delegate downloadFaild:self didFailWithError:error]; | |
| 105 | + } | |
| 106 | + } | |
| 107 | + fileName = [url lastPathComponent]; | |
| 108 | + // if (!fileName) | |
| 109 | + // { | |
| 110 | + // NSString *urlStr = [url absoluteString]; | |
| 111 | + // fileName = [urlStr lastPathComponent]; | |
| 112 | + // if ([fileName length] > 32) fileName = [fileName | |
| 113 | + // substringFromIndex:[fileName length]-32]; | |
| 114 | + // } | |
| 115 | + _isStop = NO; | |
| 116 | + NSString *deletingPathExtension = [url MD5Hash]; | |
| 117 | + | |
| 118 | + NSString *pathExtension = [url pathExtension]; | |
| 119 | + | |
| 120 | + if (!filePath) { | |
| 121 | + NSArray *documentPaths = NSSearchPathForDirectoriesInDomains( | |
| 122 | + NSDocumentDirectory, NSUserDomainMask, YES); | |
| 123 | + NSString *documentsDir = [documentPaths objectAtIndex:0]; | |
| 124 | + filePath = documentsDir; | |
| 125 | + } | |
| 126 | + destinationPath = [filePath | |
| 127 | + stringByAppendingPathComponent:[NSString | |
| 128 | + stringWithFormat:@"%@.%@", | |
| 129 | + deletingPathExtension, | |
| 130 | + pathExtension]]; | |
| 131 | + | |
| 132 | + temporaryPath = | |
| 133 | + [filePath stringByAppendingPathComponent:deletingPathExtension]; | |
| 134 | + | |
| 135 | + if ([[NSFileManager defaultManager] fileExistsAtPath:destinationPath]) { | |
| 136 | + if (overwrite) { | |
| 137 | + [[NSFileManager defaultManager] removeItemAtPath:destinationPath | |
| 138 | + error:nil]; | |
| 139 | + } else { | |
| 140 | + NSLog(@"本地已存在"); | |
| 141 | + if (delegate && | |
| 142 | + [delegate | |
| 143 | + respondsToSelector:@selector(downloadProgressChange:progress:)]) { | |
| 144 | + [delegate downloadProgressChange:self progress:1.0]; | |
| 145 | + } | |
| 146 | + if (delegate && | |
| 147 | + [delegate respondsToSelector:@selector(downloadFinished:filePath:)]) { | |
| 148 | + [delegate downloadFinished:self filePath:destinationPath]; | |
| 149 | + } | |
| 150 | + if (_downloadProgressChangeBlock) { | |
| 151 | + _downloadProgressChangeBlock(self, 1.0); | |
| 152 | + } | |
| 153 | + if (_downloadFileCompleteionBlock) { | |
| 154 | + _downloadFileCompleteionBlock(self, destinationPath); | |
| 155 | + } | |
| 156 | + return; | |
| 157 | + } | |
| 158 | + } | |
| 159 | + | |
| 160 | + if (![[NSFileManager defaultManager] fileExistsAtPath:temporaryPath]) { | |
| 161 | + BOOL createSucces = | |
| 162 | + [[NSFileManager defaultManager] createFileAtPath:temporaryPath | |
| 163 | + contents:nil | |
| 164 | + attributes:nil]; | |
| 165 | + if (!createSucces) { | |
| 166 | + if (delegate && [delegate respondsToSelector:@selector(downloadFaild: | |
| 167 | + didFailWithError:)]) { | |
| 168 | + NSError *error = | |
| 169 | + [NSError errorWithDomain:@"Temporary File can not be create!" | |
| 170 | + code:111 | |
| 171 | + userInfo:nil]; | |
| 172 | + [delegate downloadFaild:self didFailWithError:error]; | |
| 173 | + } | |
| 174 | + if (_failedBlock) { | |
| 175 | + NSError *error = | |
| 176 | + [NSError errorWithDomain:@"Temporary File can not be create!" | |
| 177 | + code:111 | |
| 178 | + userInfo:nil]; | |
| 179 | + _failedBlock(self, error); | |
| 180 | + } | |
| 181 | + return; | |
| 182 | + } | |
| 183 | + } | |
| 184 | + | |
| 185 | + [fileHandle closeFile]; | |
| 186 | + fileHandle = [NSFileHandle fileHandleForWritingAtPath:temporaryPath]; | |
| 187 | + offset = [fileHandle seekToEndOfFile]; | |
| 188 | + NSString *range = [NSString stringWithFormat:@"bytes=%llu-", offset]; | |
| 189 | + | |
| 190 | + KS3Client *ks3Client = [KS3Client initialize]; | |
| 191 | + NSString *customBucketDomain = [ks3Client getCustomBucketDomain]; | |
| 192 | + | |
| 193 | + NSString *strHost; | |
| 194 | + if (customBucketDomain != nil) { | |
| 195 | + strHost = | |
| 196 | + [NSString stringWithFormat:@"%@://%@/%@", [ks3Client requestProtocol], | |
| 197 | + customBucketDomain, _key]; | |
| 198 | + } else { | |
| 199 | + strHost = [NSString | |
| 200 | + stringWithFormat:@"%@://%@.%@/%@", [ks3Client requestProtocol], | |
| 201 | + _bucketName, [ks3Client getBucketDomain], _key]; | |
| 202 | + } | |
| 203 | + | |
| 204 | + NSString *strAuthorization = @""; | |
| 205 | + if (_credentials.accessKey != nil && _credentials.secretKey != nil) { | |
| 206 | + strAuthorization = | |
| 207 | + [KS3AuthUtils KSYAuthorizationWithAccessKey:_credentials.accessKey | |
| 208 | + secretKey:_credentials.secretKey | |
| 209 | + httpVerbType:KSS3_HTTPVerbGet | |
| 210 | + contentMd5:@"" | |
| 211 | + contentType:@"" | |
| 212 | + date:_requestDate | |
| 213 | + canonicalizedKssHeader:@"" | |
| 214 | + canonicalizedResource:_kSYResource]; | |
| 215 | + } | |
| 216 | + | |
| 217 | + NSTimeInterval downloadTimeOut = _timeoutInterval; | |
| 218 | + if (_timeoutInterval == 0 || _timeoutInterval < 0) { | |
| 219 | + downloadTimeOut = 60; | |
| 220 | + } | |
| 221 | + NSURL *urlRequest = [NSURL URLWithString:strHost]; | |
| 222 | + NSMutableURLRequest *request = [[NSMutableURLRequest alloc] | |
| 223 | + initWithURL:urlRequest | |
| 224 | + cachePolicy:NSURLRequestReloadIgnoringCacheData | |
| 225 | + timeoutInterval:downloadTimeOut]; | |
| 226 | + [request setHTTPMethod:@"GET"]; | |
| 227 | + [request setValue:_strDate forHTTPHeaderField:@"Date"]; | |
| 228 | + [request setValue:strAuthorization forHTTPHeaderField:@"Authorization"]; | |
| 229 | + [request addValue:range forHTTPHeaderField:@"Range"]; | |
| 230 | + | |
| 231 | + // **** set token | |
| 232 | + NSLog(@"====== start ======"); | |
| 233 | + if (_credentials == nil) { | |
| 234 | + NSLog(@"====== _credentials is empty ======"); | |
| 235 | + // NSDictionary *dicParams = [NSDictionary | |
| 236 | + // dictionaryWithObjectsAndKeys: | |
| 237 | + // @"GET", @"http_method", | |
| 238 | + // @"", @"content_md5", | |
| 239 | + // @"", @"content_type", | |
| 240 | + // _strDate, @"date", | |
| 241 | + // @"", @"headers", | |
| 242 | + // @"", @"resource", nil]; | |
| 243 | + [request setValue:_strKS3Token forHTTPHeaderField:@"Authorization"]; | |
| 244 | + } | |
| 245 | + [connection cancel]; | |
| 246 | + connection = [[NSURLConnection alloc] initWithRequest:request | |
| 247 | + delegate:self | |
| 248 | + startImmediately:NO]; | |
| 249 | + [connection scheduleInRunLoop:[NSRunLoop currentRunLoop] | |
| 250 | + forMode:KSYS3DefaultRunLoopMode]; | |
| 251 | + | |
| 252 | + [connection start]; | |
| 253 | + | |
| 254 | + while (!_isFinished) { | |
| 255 | + if (_isStop == YES) { | |
| 256 | + break; | |
| 257 | + } | |
| 258 | + [[NSRunLoop currentRunLoop] runMode:KSYS3DefaultRunLoopMode | |
| 259 | + beforeDate:[NSDate distantFuture]]; | |
| 260 | + } | |
| 261 | +} | |
| 262 | + | |
| 263 | +- (KS3Response *)startURLRequest:(NSMutableURLRequest *)urlRequest | |
| 264 | + KS3Request:(KS3Request *)request | |
| 265 | + token:(NSString *)strToken { | |
| 266 | + if (strToken != nil) { | |
| 267 | + [urlRequest setValue:strToken forHTTPHeaderField:@"Authorization"]; | |
| 268 | + [connection cancel]; | |
| 269 | + connection = [[NSURLConnection alloc] initWithRequest:urlRequest | |
| 270 | + delegate:self | |
| 271 | + startImmediately:YES]; | |
| 272 | + } | |
| 273 | + return nil; | |
| 274 | +} | |
| 275 | + | |
| 276 | +- (void)stop { | |
| 277 | + _isStop = YES; | |
| 278 | + [connection cancel]; | |
| 279 | + connection = nil; | |
| 280 | + [fileHandle closeFile]; | |
| 281 | + fileHandle = nil; | |
| 282 | +} | |
| 283 | + | |
| 284 | +- (void)stopAndClear { | |
| 285 | + [self stop]; | |
| 286 | + [[NSFileManager defaultManager] removeItemAtPath:destinationPath error:nil]; | |
| 287 | + [[NSFileManager defaultManager] removeItemAtPath:temporaryPath error:nil]; | |
| 288 | + | |
| 289 | + if (delegate && | |
| 290 | + [delegate | |
| 291 | + respondsToSelector:@selector(downloadProgressChange:progress:)]) { | |
| 292 | + [delegate downloadProgressChange:self progress:0]; | |
| 293 | + } | |
| 294 | + if (_downloadProgressChangeBlock) { | |
| 295 | + _downloadProgressChangeBlock(self, 0.0); | |
| 296 | + } | |
| 297 | +} | |
| 298 | + | |
| 299 | +#pragma mark - | |
| 300 | +#pragma mark NSURLConnectionDelegate | |
| 301 | + | |
| 302 | +- (void)connection:(NSURLConnection *)connection | |
| 303 | +didReceiveResponse:(NSURLResponse *)response { | |
| 304 | + if ([response expectedContentLength] != NSURLResponseUnknownLength) | |
| 305 | + fileSize = (unsigned long long)[response expectedContentLength] + offset; | |
| 306 | + if (delegate && | |
| 307 | + [delegate respondsToSelector:@selector(downloadBegin: | |
| 308 | + didReceiveResponseHeaders:)]) { | |
| 309 | + [delegate downloadBegin:self didReceiveResponseHeaders:response]; | |
| 310 | + } | |
| 311 | + if (_downloadBeginBlock) { | |
| 312 | + _downloadBeginBlock(self, response); | |
| 313 | + } | |
| 314 | +} | |
| 315 | + | |
| 316 | +- (void)connection:(NSURLConnection *)connection | |
| 317 | + didReceiveData:(NSData *)aData { | |
| 318 | + [fileHandle writeData:aData]; | |
| 319 | + offset = [fileHandle offsetInFile]; | |
| 320 | + double progress = offset * 1.0 / fileSize; | |
| 321 | + if (_downloadProgressChangeBlock) { | |
| 322 | + _downloadProgressChangeBlock(self, progress); | |
| 323 | + } | |
| 324 | + if (delegate && | |
| 325 | + [delegate | |
| 326 | + respondsToSelector:@selector(downloadProgressChange:progress:)]) { | |
| 327 | + [delegate downloadProgressChange:self progress:progress]; | |
| 328 | + } | |
| 329 | +} | |
| 330 | + | |
| 331 | +- (void)connection:(NSURLConnection *)connection | |
| 332 | + didFailWithError:(NSError *)error { | |
| 333 | + [fileHandle closeFile]; | |
| 334 | + if (_failedBlock) { | |
| 335 | + _failedBlock(self, error); | |
| 336 | + } | |
| 337 | + if (delegate && [delegate respondsToSelector:@selector(downloadFaild: | |
| 338 | + didFailWithError:)]) { | |
| 339 | + [delegate downloadFaild:self didFailWithError:error]; | |
| 340 | + } | |
| 341 | +} | |
| 342 | + | |
| 343 | +- (void)connectionDidFinishLoading:(NSURLConnection *)connection { | |
| 344 | + _isFinished = YES; | |
| 345 | + [fileHandle closeFile]; | |
| 346 | + [[NSFileManager defaultManager] moveItemAtPath:temporaryPath | |
| 347 | + toPath:destinationPath | |
| 348 | + error:nil]; | |
| 349 | + | |
| 350 | + if (_downloadFileCompleteionBlock) { | |
| 351 | + _downloadFileCompleteionBlock(self, destinationPath); | |
| 352 | + } | |
| 353 | + if (delegate && | |
| 354 | + [delegate respondsToSelector:@selector(downloadFinished:filePath:)]) { | |
| 355 | + [delegate downloadFinished:self filePath:destinationPath]; | |
| 356 | + } | |
| 357 | +} | |
| 358 | + | |
| 359 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3GetObjectACLRequest.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3GetObjectACLRequest.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3Request.h" | |
| 10 | + | |
| 11 | +@interface KS3GetObjectACLRequest : KS3Request | |
| 12 | + | |
| 13 | +@property(strong, nonatomic) NSString *key; | |
| 14 | + | |
| 15 | +- (instancetype)initWithName:(NSString *)bucketName | |
| 16 | + withKeyName:(NSString *)strKey; | |
| 17 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3GetObjectACLRequest.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3GetObjectACLRequest.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3GetObjectACLRequest.h" | |
| 10 | +#import "KS3Client.h" | |
| 11 | +#import "KS3Constants.h" | |
| 12 | +@implementation KS3GetObjectACLRequest | |
| 13 | + | |
| 14 | +- (instancetype)initWithName:(NSString *)bucketName | |
| 15 | + withKeyName:(NSString *)strKey { | |
| 16 | + self = [super init]; | |
| 17 | + if (self) { | |
| 18 | + self.bucket = [self URLEncodedString:bucketName]; | |
| 19 | + self.key = [self URLEncodedString:strKey]; | |
| 20 | + self.httpMethod = kHttpMethodGet; | |
| 21 | + self.contentMd5 = @""; | |
| 22 | + self.contentType = @""; | |
| 23 | + self.kSYResource = [NSString stringWithFormat:@"/%@", self.bucket]; | |
| 24 | + self.host = [NSString | |
| 25 | + stringWithFormat:@"%@://%@.%@/", | |
| 26 | + [[KS3Client initialize] requestProtocol], self.bucket, | |
| 27 | + [[KS3Client initialize] getBucketDomain]]; | |
| 28 | + | |
| 29 | + // | |
| 30 | + self.kSYResource = | |
| 31 | + [NSString stringWithFormat:@"%@/%@?acl", self.kSYResource, _key]; | |
| 32 | + self.host = [NSString stringWithFormat:@"%@%@?acl", self.host, _key]; | |
| 33 | + } | |
| 34 | + return self; | |
| 35 | +} | |
| 36 | + | |
| 37 | +- (KS3URLRequest *)configureURLRequest { | |
| 38 | + [super configureURLRequest]; | |
| 39 | + return self.urlRequest; | |
| 40 | +} | |
| 41 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3GetObjectACLResponse.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3GetObjectACLResponse.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3Response.h" | |
| 10 | +@class KS3BucketACLResult; | |
| 11 | +@interface KS3GetObjectACLResponse : KS3Response | |
| 12 | +@property(nonatomic, strong) KS3BucketACLResult *listBucketsResult; | |
| 13 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3GetObjectACLResponse.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3GetObjectACLResponse.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3GetObjectACLResponse.h" | |
| 10 | +#import "KS3BucketACLResult.h" | |
| 11 | +#import "KS3ObjectACLXMLParser.h" | |
| 12 | +@implementation KS3GetObjectACLResponse | |
| 13 | + | |
| 14 | +- (void)processBody { | |
| 15 | + KS3ObjectACLXMLParser *xmlParser = [[KS3ObjectACLXMLParser alloc] init]; | |
| 16 | + [xmlParser kSS3XMLarse:body]; | |
| 17 | + _listBucketsResult = xmlParser.listBuctkResult; | |
| 18 | +} | |
| 19 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3GetObjectRequest.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3GetObjectRequest.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/14/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3Request.h" | |
| 10 | + | |
| 11 | +@interface KS3GetObjectRequest : KS3Request | |
| 12 | + | |
| 13 | +@property(nonatomic, strong) NSString *responseContentType; | |
| 14 | +@property(nonatomic, strong) NSString *responseContentLanguage; | |
| 15 | +@property(nonatomic, strong) NSString *responseExpires; | |
| 16 | +@property(nonatomic, strong) NSString *responseCacheControl; | |
| 17 | +@property(nonatomic, strong) NSString *responseContentDisposition; | |
| 18 | +@property(nonatomic, strong) NSString *responseContentEncoding; | |
| 19 | + | |
| 20 | +@property(nonatomic, strong) NSString *range; | |
| 21 | +@property(nonatomic, strong) NSString *ifModifiedSince; | |
| 22 | +@property(nonatomic, strong) NSString *ifUnmodifiedSince; | |
| 23 | +@property(nonatomic, strong) NSString *ifMatch; | |
| 24 | +@property(nonatomic, strong) NSString *ifNoneMatch; | |
| 25 | +@property(nonatomic, strong) NSString *versionId; | |
| 26 | +@property(nonatomic, strong) NSString *key; | |
| 27 | + | |
| 28 | +- (instancetype)initWithName:(NSString *)bucketName; | |
| 29 | + | |
| 30 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3GetObjectRequest.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3GetObjectRequest.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/14/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3GetObjectRequest.h" | |
| 10 | +#import "KS3Client.h" | |
| 11 | +#import "KS3Constants.h" | |
| 12 | +#import "KS3SDKUtil.h" | |
| 13 | +@implementation KS3GetObjectRequest | |
| 14 | + | |
| 15 | +- (instancetype)initWithName:(NSString *)bucketName { | |
| 16 | + self = [super init]; | |
| 17 | + if (self) { | |
| 18 | + self.bucket = [self URLEncodedString:bucketName]; | |
| 19 | + self.httpMethod = kHttpMethodGet; | |
| 20 | + self.contentMd5 = @""; | |
| 21 | + self.contentType = @""; | |
| 22 | + self.kSYResource = [NSString stringWithFormat:@"/%@", self.bucket]; | |
| 23 | + self.host = [NSString | |
| 24 | + stringWithFormat:@"%@://%@.%@", | |
| 25 | + [[KS3Client initialize] requestProtocol], self.bucket, | |
| 26 | + [[KS3Client initialize] getBucketDomain]]; | |
| 27 | + } | |
| 28 | + return self; | |
| 29 | +} | |
| 30 | + | |
| 31 | +- (KS3URLRequest *)configureURLRequest { | |
| 32 | + self.kSYResource = [self.kSYResource stringByAppendingFormat:@"/%@", _key]; | |
| 33 | + self.host = [self.host stringByAppendingFormat:@"/%@", _key]; | |
| 34 | + | |
| 35 | + // **** request params | |
| 36 | + NSMutableString *queryPramaString = [NSMutableString stringWithCapacity:512]; | |
| 37 | + NSMutableString *subResouceString = [NSMutableString stringWithCapacity:512]; | |
| 38 | + if (nil != _responseContentType) { | |
| 39 | + [queryPramaString appendFormat:@"%@=%@", kKS3QueryParamResponseContentType, | |
| 40 | + [KS3SDKUtil urlEncode:_responseContentType]]; | |
| 41 | + [subResouceString appendFormat:@"%@=%@", kKS3QueryParamResponseContentType, | |
| 42 | + _responseContentType]; | |
| 43 | + } | |
| 44 | + if (nil != _responseContentLanguage) { | |
| 45 | + if (queryPramaString.length > 0) { | |
| 46 | + [queryPramaString appendString:@"&"]; | |
| 47 | + [subResouceString appendString:@"&"]; | |
| 48 | + } | |
| 49 | + [queryPramaString | |
| 50 | + appendFormat:@"%@=%@", kKS3QueryParamResponseContentLanguage, | |
| 51 | + [KS3SDKUtil urlEncode:_responseContentLanguage]]; | |
| 52 | + [subResouceString appendFormat:@"%@=%@", | |
| 53 | + kKS3QueryParamResponseContentLanguage, | |
| 54 | + _responseContentLanguage]; | |
| 55 | + } | |
| 56 | + if (nil != _responseExpires) { | |
| 57 | + if (queryPramaString.length > 0) { | |
| 58 | + [queryPramaString appendString:@"&"]; | |
| 59 | + [subResouceString appendString:@"&"]; | |
| 60 | + } | |
| 61 | + [queryPramaString appendFormat:@"%@=%@", kKS3QueryParamResponseExpires, | |
| 62 | + [KS3SDKUtil urlEncode:_responseExpires]]; | |
| 63 | + [subResouceString | |
| 64 | + appendFormat:@"%@=%@", kKS3QueryParamResponseExpires, _responseExpires]; | |
| 65 | + } | |
| 66 | + if (nil != _responseCacheControl) { | |
| 67 | + if (queryPramaString.length > 0) { | |
| 68 | + [queryPramaString appendString:@"&"]; | |
| 69 | + [subResouceString appendString:@"&"]; | |
| 70 | + } | |
| 71 | + [queryPramaString | |
| 72 | + appendFormat:@"%@=%@", kKS3QueryParamResponseCacheControl, | |
| 73 | + [KS3SDKUtil urlEncode:_responseCacheControl]]; | |
| 74 | + [subResouceString appendFormat:@"%@=%@", kKS3QueryParamResponseCacheControl, | |
| 75 | + _responseCacheControl]; | |
| 76 | + } | |
| 77 | + if (nil != _responseContentDisposition) { | |
| 78 | + if (queryPramaString.length > 0) { | |
| 79 | + [queryPramaString appendString:@"&"]; | |
| 80 | + [subResouceString appendString:@"&"]; | |
| 81 | + } | |
| 82 | + [queryPramaString | |
| 83 | + appendFormat:@"%@=%@", kKS3QueryParamResponseContentDisposition, | |
| 84 | + [KS3SDKUtil urlEncode:_responseContentDisposition]]; | |
| 85 | + [subResouceString appendFormat:@"%@=%@", | |
| 86 | + kKS3QueryParamResponseContentDisposition, | |
| 87 | + _responseContentDisposition]; | |
| 88 | + } | |
| 89 | + if (nil != _responseContentEncoding) { | |
| 90 | + if (queryPramaString.length > 0) { | |
| 91 | + [queryPramaString appendString:@"&"]; | |
| 92 | + [subResouceString appendString:@"&"]; | |
| 93 | + } | |
| 94 | + [queryPramaString | |
| 95 | + appendFormat:@"%@=%@", kKS3QueryParamResponseContentEncoding, | |
| 96 | + [KS3SDKUtil urlEncode:_responseContentEncoding]]; | |
| 97 | + [subResouceString appendFormat:@"%@=%@", | |
| 98 | + kKS3QueryParamResponseContentEncoding, | |
| 99 | + _responseContentEncoding]; | |
| 100 | + } | |
| 101 | + if (queryPramaString.length > 0) { | |
| 102 | + self.host = [self.host stringByAppendingFormat:@"?%@", queryPramaString]; | |
| 103 | + self.kSYResource = | |
| 104 | + [self.kSYResource stringByAppendingFormat:@"?%@", subResouceString]; | |
| 105 | + } | |
| 106 | + [super configureURLRequest]; | |
| 107 | + | |
| 108 | + // **** http header | |
| 109 | + if (nil != _range) { | |
| 110 | + [self.urlRequest setValue:_range forHTTPHeaderField:kKSHttpHdrRange]; | |
| 111 | + } | |
| 112 | + if (nil != _ifModifiedSince) { | |
| 113 | + [self.urlRequest setValue:_ifModifiedSince | |
| 114 | + forHTTPHeaderField:kKSHttpHdrIfModifiedSince]; | |
| 115 | + } | |
| 116 | + if (nil != _ifUnmodifiedSince) { | |
| 117 | + [self.urlRequest setValue:_ifUnmodifiedSince | |
| 118 | + forHTTPHeaderField:kKSHttpHdrIfUnmodifiedSince]; | |
| 119 | + } | |
| 120 | + if (nil != _ifMatch) { | |
| 121 | + [self.urlRequest setValue:_ifMatch forHTTPHeaderField:kKSHttpHdrIfMatch]; | |
| 122 | + } | |
| 123 | + if (nil != _ifNoneMatch) { | |
| 124 | + [self.urlRequest setValue:_ifNoneMatch | |
| 125 | + forHTTPHeaderField:kKSHttpHdrIfNoneMatch]; | |
| 126 | + } | |
| 127 | + return self.urlRequest; | |
| 128 | +} | |
| 129 | + | |
| 130 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3GetObjectResponse.h
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3GetObjectResponse.m
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3HeadObjectRequest.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3HeadObjectRequest.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/14/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3Request.h" | |
| 10 | + | |
| 11 | +@interface KS3HeadObjectRequest : KS3Request | |
| 12 | + | |
| 13 | +@property(nonatomic, strong) NSString *range; | |
| 14 | +@property(nonatomic, strong) NSString *ifModifiedSince; | |
| 15 | +@property(nonatomic, strong) NSString *ifUnmodifiedSince; | |
| 16 | +@property(nonatomic, strong) NSString *ifMatch; | |
| 17 | +@property(nonatomic, strong) NSString *ifNoneMatch; | |
| 18 | +@property(nonatomic, strong) NSString *key; | |
| 19 | + | |
| 20 | +- (instancetype)initWithName:(NSString *)bucketName | |
| 21 | + withKeyName:(NSString *)strKey; | |
| 22 | + | |
| 23 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3HeadObjectRequest.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3HeadObjectRequest.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/14/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3HeadObjectRequest.h" | |
| 10 | +#import "KS3Client.h" | |
| 11 | +#import "KS3Constants.h" | |
| 12 | +@implementation KS3HeadObjectRequest | |
| 13 | + | |
| 14 | +- (instancetype)initWithName:(NSString *)bucketName | |
| 15 | + withKeyName:(NSString *)strKey { | |
| 16 | + self = [super init]; | |
| 17 | + if (self) { | |
| 18 | + self.bucket = [self URLEncodedString:bucketName]; | |
| 19 | + self.key = [self URLEncodedString:strKey]; | |
| 20 | + self.httpMethod = kHttpMethodHead; | |
| 21 | + self.contentMd5 = @""; | |
| 22 | + self.contentType = @""; | |
| 23 | + self.kSYResource = [NSString stringWithFormat:@"/%@", self.bucket]; | |
| 24 | + self.host = [NSString | |
| 25 | + stringWithFormat:@"%@://%@.%@", | |
| 26 | + [[KS3Client initialize] requestProtocol], self.bucket, | |
| 27 | + [[KS3Client initialize] getBucketDomain]]; | |
| 28 | + | |
| 29 | + // | |
| 30 | + self.host = [NSString stringWithFormat:@"%@/%@", self.host, _key]; | |
| 31 | + self.kSYResource = | |
| 32 | + [NSString stringWithFormat:@"%@/%@", self.kSYResource, _key]; | |
| 33 | + } | |
| 34 | + return self; | |
| 35 | +} | |
| 36 | + | |
| 37 | +- (KS3URLRequest *)configureURLRequest { | |
| 38 | + [super configureURLRequest]; | |
| 39 | + | |
| 40 | + // **** http header | |
| 41 | + if (nil != _range) { | |
| 42 | + [self.urlRequest setValue:_range forHTTPHeaderField:kKSHttpHdrRange]; | |
| 43 | + } | |
| 44 | + if (nil != _ifModifiedSince) { | |
| 45 | + [self.urlRequest setValue:_ifModifiedSince | |
| 46 | + forHTTPHeaderField:kKSHttpHdrIfModifiedSince]; | |
| 47 | + } | |
| 48 | + if (nil != _ifUnmodifiedSince) { | |
| 49 | + [self.urlRequest setValue:_ifUnmodifiedSince | |
| 50 | + forHTTPHeaderField:kKSHttpHdrIfUnmodifiedSince]; | |
| 51 | + } | |
| 52 | + if (nil != _ifMatch) { | |
| 53 | + [self.urlRequest setValue:_ifMatch forHTTPHeaderField:kKSHttpHdrIfMatch]; | |
| 54 | + } | |
| 55 | + if (nil != _ifNoneMatch) { | |
| 56 | + [self.urlRequest setValue:_ifNoneMatch | |
| 57 | + forHTTPHeaderField:kKSHttpHdrIfNoneMatch]; | |
| 58 | + } | |
| 59 | + return self.urlRequest; | |
| 60 | +} | |
| 61 | + | |
| 62 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3HeadObjectResponse.h
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3HeadObjectResponse.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3HeadObjectResponse.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/14/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3HeadObjectResponse.h" | |
| 10 | + | |
| 11 | +@implementation KS3HeadObjectResponse | |
| 12 | + | |
| 13 | +- (void)processBody { | |
| 14 | +} | |
| 15 | + | |
| 16 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3InitiateMultipartUploadRequest.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3InitiateMultipartUploadRequest.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3AbstractPutRequest.h" | |
| 10 | + | |
| 11 | +@class KS3AccessControlList; | |
| 12 | +@class KS3GrantAccessControlList; | |
| 13 | + | |
| 14 | +@interface KS3InitiateMultipartUploadRequest : KS3AbstractPutRequest | |
| 15 | + | |
| 16 | +- (id)initWithKey:(NSString *)aKey | |
| 17 | + inBucket:(NSString *)aBucket | |
| 18 | + acl:(KS3AccessControlList *)acl | |
| 19 | + grantAcl:(NSArray *)arrGrantAcl; | |
| 20 | + | |
| 21 | +@property(nonatomic, strong) NSString *key; | |
| 22 | +@property(nonatomic, strong) NSString *cacheControl; | |
| 23 | +@property(nonatomic, strong) NSString *contentDisposition; | |
| 24 | +@property(nonatomic, strong) NSString *contentEncoding; | |
| 25 | +@property(nonatomic, strong) NSString *expires; | |
| 26 | +@property(nonatomic, strong) NSString *xkssMeta; | |
| 27 | +@property(nonatomic, strong) NSString *xkssStorageClass; | |
| 28 | +@property(nonatomic, strong) NSString *xkssWebSiteRedirectLocation; | |
| 29 | +@property(nonatomic, strong) NSString *xkssAcl; | |
| 30 | +@property(nonatomic, strong) KS3AccessControlList *acl; | |
| 31 | +@property(nonatomic, strong) NSArray *arrGrantAcl; | |
| 32 | + | |
| 33 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3InitiateMultipartUploadRequest.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3InitiateMultipartUploadRequest.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3InitiateMultipartUploadRequest.h" | |
| 10 | +#import "KS3AccessControlList.h" | |
| 11 | +#import "KS3Client.h" | |
| 12 | +#import "KS3Constants.h" | |
| 13 | +#import "KS3GrantAccessControlList.h" | |
| 14 | +@interface KS3InitiateMultipartUploadRequest () | |
| 15 | + | |
| 16 | +//@property (nonatomic, assign) BOOL expiresSet; | |
| 17 | +@end | |
| 18 | + | |
| 19 | +@implementation KS3InitiateMultipartUploadRequest | |
| 20 | + | |
| 21 | +- (id)init { | |
| 22 | + if (self = [super init]) { | |
| 23 | + // _expires = 0; | |
| 24 | + // _expiresSet = NO; | |
| 25 | + } | |
| 26 | + | |
| 27 | + return self; | |
| 28 | +} | |
| 29 | + | |
| 30 | +- (id)initWithKey:(NSString *)aKey | |
| 31 | + inBucket:(NSString *)aBucket | |
| 32 | + acl:(KS3AccessControlList *)acl | |
| 33 | + grantAcl:(NSArray *)arrGrantAcl { | |
| 34 | + if (self = [self init]) { | |
| 35 | + self.key = [self URLEncodedString:aKey]; | |
| 36 | + self.bucket = [self URLEncodedString:aBucket]; | |
| 37 | + self.httpMethod = kHttpMethodPost; | |
| 38 | + self.contentMd5 = @""; | |
| 39 | + self.contentType = @""; | |
| 40 | + self.acl = acl; | |
| 41 | + self.arrGrantAcl = arrGrantAcl; | |
| 42 | + self.kSYResource = [NSString stringWithFormat:@"/%@", self.bucket]; | |
| 43 | + self.host = @""; | |
| 44 | + | |
| 45 | + // | |
| 46 | + self.kSYResource = | |
| 47 | + [NSString stringWithFormat:@"%@/%@?uploads", self.kSYResource, _key]; | |
| 48 | + if (_arrGrantAcl != nil) { | |
| 49 | + [self sortGrantAcl]; // **** ACL的 x-kss 需要先排序 | |
| 50 | + for (NSInteger i = 0; i < _arrGrantAcl.count; i++) { | |
| 51 | + KS3GrantAccessControlList *grantAcl = _arrGrantAcl[i]; | |
| 52 | + NSString *strValue = | |
| 53 | + [NSString stringWithFormat:@"id=\"%@\", ", grantAcl.identifier]; | |
| 54 | + strValue = [strValue stringByAppendingFormat:@"displayName=\"%@\"", | |
| 55 | + grantAcl.displayName]; | |
| 56 | + } | |
| 57 | + } | |
| 58 | + } | |
| 59 | + | |
| 60 | + return self; | |
| 61 | +} | |
| 62 | + | |
| 63 | +- (void)sortGrantAcl { | |
| 64 | + NSMutableArray *arrAccessGrantAcl = | |
| 65 | + [[NSMutableArray alloc] initWithCapacity:0]; | |
| 66 | + for (NSInteger i = 0; i < _arrGrantAcl.count; i++) { | |
| 67 | + KS3GrantAccessControlList *grantAcl = _arrGrantAcl[i]; | |
| 68 | + [arrAccessGrantAcl addObject:grantAcl.accessGrantACL]; | |
| 69 | + } | |
| 70 | + NSSortDescriptor *descriptor = | |
| 71 | + [NSSortDescriptor sortDescriptorWithKey:nil ascending:YES]; | |
| 72 | + NSArray *descriptors = [NSArray arrayWithObject:descriptor]; | |
| 73 | + NSArray *resultArray = | |
| 74 | + [arrAccessGrantAcl sortedArrayUsingDescriptors:descriptors]; | |
| 75 | + NSMutableArray *arrGrantAcl = [[NSMutableArray alloc] initWithCapacity:0]; | |
| 76 | + for (NSInteger i = 0; i < _arrGrantAcl.count; i++) { | |
| 77 | + NSString *strAccessGrantAcl = resultArray[i]; | |
| 78 | + for (NSInteger j = 0; j < _arrGrantAcl.count; j++) { | |
| 79 | + KS3GrantAccessControlList *grantAcl = _arrGrantAcl[j]; | |
| 80 | + if ([grantAcl.accessGrantACL isEqualToString:strAccessGrantAcl] == YES) { | |
| 81 | + [arrGrantAcl addObject:grantAcl]; | |
| 82 | + break; | |
| 83 | + } | |
| 84 | + } | |
| 85 | + } | |
| 86 | + self.arrGrantAcl = arrGrantAcl; | |
| 87 | +} | |
| 88 | + | |
| 89 | +- (void)setCompleteRequest { | |
| 90 | + KS3Client *ks3Client = [KS3Client initialize]; | |
| 91 | + NSString *customBucketDomain = [ks3Client getCustomBucketDomain]; | |
| 92 | + | |
| 93 | + if (customBucketDomain != nil) { | |
| 94 | + self.host = | |
| 95 | + [NSString stringWithFormat:@"%@://%@/%@?uploads", | |
| 96 | + [[KS3Client initialize] requestProtocol], | |
| 97 | + customBucketDomain, self.key]; | |
| 98 | + } else { | |
| 99 | + self.host = [NSString | |
| 100 | + stringWithFormat:@"%@://%@.%@/%@?uploads", | |
| 101 | + [[KS3Client initialize] requestProtocol], self.bucket, | |
| 102 | + [ks3Client getBucketDomain], self.key]; | |
| 103 | + } | |
| 104 | + | |
| 105 | + if (_acl != nil) { | |
| 106 | + [self.urlRequest setValue:_acl.accessACL forHTTPHeaderField:@"x-kss-acl"]; | |
| 107 | + } | |
| 108 | + | |
| 109 | + if (_arrGrantAcl != nil) { | |
| 110 | + for (NSInteger i = 0; i < _arrGrantAcl.count; i++) { | |
| 111 | + KS3GrantAccessControlList *grantAcl = _arrGrantAcl[i]; | |
| 112 | + NSString *strValue = | |
| 113 | + [NSString stringWithFormat:@"id=\"%@\", ", grantAcl.identifier]; | |
| 114 | + strValue = [strValue | |
| 115 | + stringByAppendingFormat:@"displayName=\"%@\"", grantAcl.displayName]; | |
| 116 | + [self.urlRequest setValue:strValue | |
| 117 | + forHTTPHeaderField:grantAcl.accessGrantACL]; | |
| 118 | + } | |
| 119 | + } | |
| 120 | + | |
| 121 | + [self.urlRequest setHTTPMethod:kHttpMethodPost]; | |
| 122 | + | |
| 123 | + if (nil != self.contentEncoding) { | |
| 124 | + [self.urlRequest setValue:self.contentEncoding | |
| 125 | + forHTTPHeaderField:kKSHttpHdrContentEncoding]; | |
| 126 | + } | |
| 127 | + if (nil != self.contentDisposition) { | |
| 128 | + [self.urlRequest setValue:self.contentDisposition | |
| 129 | + forHTTPHeaderField:kKSHttpHdrContentDisposition]; | |
| 130 | + } | |
| 131 | + if (nil != self.cacheControl) { | |
| 132 | + [self.urlRequest setValue:self.cacheControl | |
| 133 | + forHTTPHeaderField:kKSHttpHdrCacheControl]; | |
| 134 | + } | |
| 135 | + if (nil != _expires) { | |
| 136 | + [self.urlRequest setValue:_expires forHTTPHeaderField:@"Expires"]; | |
| 137 | + } | |
| 138 | + if (nil != _xkssMeta) { | |
| 139 | + [self.urlRequest setValue:_xkssMeta forHTTPHeaderField:@"x-kss-meta-"]; | |
| 140 | + } | |
| 141 | + if (nil != _xkssStorageClass) { | |
| 142 | + [self.urlRequest setValue:_xkssStorageClass | |
| 143 | + forHTTPHeaderField:@"x-kss-storage-class"]; | |
| 144 | + } | |
| 145 | + if (nil != _xkssWebSiteRedirectLocation) { | |
| 146 | + [self.urlRequest setValue:_xkssWebSiteRedirectLocation | |
| 147 | + forHTTPHeaderField:@"x-kss-website-redirect-location"]; | |
| 148 | + } | |
| 149 | + | |
| 150 | + // **** acl header | |
| 151 | + if (nil != _xkssAcl) { | |
| 152 | + [self.urlRequest setValue:_xkssAcl forHTTPHeaderField:@"x-kss-acl"]; | |
| 153 | + } | |
| 154 | +} | |
| 155 | + | |
| 156 | +- (NSMutableURLRequest *)configureURLRequest { | |
| 157 | + [super configureURLRequest]; | |
| 158 | + return self.urlRequest; | |
| 159 | +} | |
| 160 | + | |
| 161 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3InitiateMultipartUploadResponse.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3InitiateMultipartUploadResponse.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3MultipartUpload.h" | |
| 10 | +#import "KS3Response.h" | |
| 11 | + | |
| 12 | +@interface KS3InitiateMultipartUploadResponse : KS3Response | |
| 13 | +@property(nonatomic, strong) KS3MultipartUpload *multipartUpload; | |
| 14 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3InitiateMultipartUploadResponse.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3InitiateMultipartUploadResponse.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3InitiateMultipartUploadResponse.h" | |
| 10 | +#import "KS3InitiateMultipartUploadXMLParser.h" | |
| 11 | + | |
| 12 | +@implementation KS3InitiateMultipartUploadResponse | |
| 13 | + | |
| 14 | +- (void)processBody { | |
| 15 | + KS3InitiateMultipartUploadXMLParser *xmlParser = | |
| 16 | + [[KS3InitiateMultipartUploadXMLParser alloc] init]; | |
| 17 | + [xmlParser kSS3XMLarse:body]; | |
| 18 | + _multipartUpload = xmlParser.listBuctkResult.multipartUpload; | |
| 19 | +} | |
| 20 | + | |
| 21 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3InitiateMultipartUploadResult.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3InitiateMultipartUploadResult.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3MultipartUpload.h" | |
| 10 | +#import <Foundation/Foundation.h> | |
| 11 | + | |
| 12 | +@interface KS3InitiateMultipartUploadResult : NSObject | |
| 13 | +@property(strong, nonatomic) KS3MultipartUpload *multipartUpload; | |
| 14 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3InitiateMultipartUploadResult.m
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3InitiateMultipartUploadXMLParser.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3InitiateMultipartUploadXMLParser.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3InitiateMultipartUploadResult.h" | |
| 10 | +#import <Foundation/Foundation.h> | |
| 11 | + | |
| 12 | +@interface KS3InitiateMultipartUploadXMLParser : NSObject <NSXMLParserDelegate> | |
| 13 | +@property(strong, nonatomic) KS3InitiateMultipartUploadResult *listBuctkResult; | |
| 14 | +- (void)kSS3XMLarse:(NSData *)dataXml; | |
| 15 | + | |
| 16 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3InitiateMultipartUploadXMLParser.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3InitiateMultipartUploadXMLParser.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3InitiateMultipartUploadXMLParser.h" | |
| 10 | +#import "KS3MultipartUpload.h" | |
| 11 | +@interface KS3InitiateMultipartUploadXMLParser () | |
| 12 | +@property(strong, nonatomic) KS3MultipartUpload *multipartUpload; | |
| 13 | +@property(strong, nonatomic) NSString *currentTag; | |
| 14 | +@property(strong, nonatomic) NSMutableString *currentText; | |
| 15 | +@end | |
| 16 | + | |
| 17 | +@implementation KS3InitiateMultipartUploadXMLParser | |
| 18 | + | |
| 19 | +- (void)kSS3XMLarse:(NSData *)dataXml { | |
| 20 | + NSXMLParser *parser = [[NSXMLParser alloc] initWithData:dataXml]; | |
| 21 | + [parser setDelegate:self]; | |
| 22 | + [parser parse]; | |
| 23 | +} | |
| 24 | + | |
| 25 | +#pragma mark - Xml delegate | |
| 26 | + | |
| 27 | +- (void)parserDidStartDocument:(NSXMLParser *)parser { | |
| 28 | + _listBuctkResult = [[KS3InitiateMultipartUploadResult alloc] init]; | |
| 29 | + _multipartUpload = [[KS3MultipartUpload alloc] init]; | |
| 30 | +} | |
| 31 | + | |
| 32 | +- (void)parser:(NSXMLParser *)parser | |
| 33 | + didStartElement:(NSString *)elementName | |
| 34 | + namespaceURI:(NSString *)namespaceURI | |
| 35 | + qualifiedName:(NSString *)qName | |
| 36 | + attributes:(NSDictionary *)attributeDict { | |
| 37 | + if (nil != _currentText) { | |
| 38 | + _currentText = nil; | |
| 39 | + } | |
| 40 | + _currentTag = elementName; | |
| 41 | + | |
| 42 | + if ([elementName isEqualToString:@"Bucket"]) { | |
| 43 | + } | |
| 44 | + if ([elementName isEqualToString:@"Key"]) { | |
| 45 | + } | |
| 46 | + if ([elementName isEqualToString:@"UploadId"]) { | |
| 47 | + } | |
| 48 | +} | |
| 49 | + | |
| 50 | +- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string { | |
| 51 | + if (nil == _currentText) { | |
| 52 | + _currentText = [[NSMutableString alloc] init]; | |
| 53 | + } | |
| 54 | + [_currentText appendString:string]; | |
| 55 | +} | |
| 56 | + | |
| 57 | +- (void)parser:(NSXMLParser *)parser | |
| 58 | + didEndElement:(NSString *)elementName | |
| 59 | + namespaceURI:(NSString *)namespaceURI | |
| 60 | + qualifiedName:(NSString *)qName { | |
| 61 | + if ([elementName isEqualToString:@"Bucket"]) { | |
| 62 | + _multipartUpload.bucket = _currentText; | |
| 63 | + } | |
| 64 | + if ([elementName isEqualToString:@"Key"]) { | |
| 65 | + | |
| 66 | + _multipartUpload.key = _currentText; | |
| 67 | + } | |
| 68 | + if ([elementName isEqualToString:@"UploadId"]) { | |
| 69 | + _multipartUpload.uploadId = _currentText; | |
| 70 | + } | |
| 71 | + if ([elementName isEqualToString:@"InitiateMultipartUploadResult"]) { | |
| 72 | + _listBuctkResult.multipartUpload = _multipartUpload; | |
| 73 | + } | |
| 74 | +} | |
| 75 | + | |
| 76 | +- (void)parserDidEndDocument:(NSXMLParser *)parser { | |
| 77 | +} | |
| 78 | + | |
| 79 | +- (void)parser:(NSXMLParser *)parser foundCDATA:(NSData *)CDATABlock { | |
| 80 | +} | |
| 81 | + | |
| 82 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3ListPartsRequest.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3ListPartsRequest.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3MultipartUpload.h" | |
| 10 | +#import "KS3Request.h" | |
| 11 | + | |
| 12 | +@interface KS3ListPartsRequest : KS3Request | |
| 13 | + | |
| 14 | +@property(strong, nonatomic) NSString *key; | |
| 15 | +@property(nonatomic, strong) NSString *uploadId; | |
| 16 | +@property(nonatomic, assign) int32_t maxParts; | |
| 17 | +@property(nonatomic, assign) int32_t partNumberMarker; | |
| 18 | +@property(nonatomic, strong) NSString *encodingType; | |
| 19 | + | |
| 20 | +- (id)initWithMultipartUpload:(KS3MultipartUpload *)multipartUpload; | |
| 21 | + | |
| 22 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3ListPartsRequest.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3ListPartsRequest.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3ListPartsRequest.h" | |
| 10 | +#import "KS3Client.h" | |
| 11 | +#import "KS3Constants.h" | |
| 12 | + | |
| 13 | +@implementation KS3ListPartsRequest | |
| 14 | + | |
| 15 | +- (id)initWithMultipartUpload:(KS3MultipartUpload *)multipartUpload { | |
| 16 | + if (self = [self init]) { | |
| 17 | + self.bucket = [self URLEncodedString:multipartUpload.bucket]; | |
| 18 | + self.key = [self URLEncodedString:multipartUpload.key]; | |
| 19 | + self.uploadId = multipartUpload.uploadId; | |
| 20 | + self.contentMd5 = @""; | |
| 21 | + self.contentType = @""; | |
| 22 | + self.maxParts = 1000; // **** default value | |
| 23 | + self.httpMethod = kHttpMethodGet; | |
| 24 | + self.kSYResource = [NSString stringWithFormat:@"/%@", self.bucket]; | |
| 25 | + // | |
| 26 | + self.kSYResource = | |
| 27 | + [NSString stringWithFormat:@"%@/%@?uploadId=%@", self.kSYResource, | |
| 28 | + self.key, self.uploadId]; | |
| 29 | + } | |
| 30 | + return self; | |
| 31 | +} | |
| 32 | + | |
| 33 | +- (NSMutableURLRequest *)configureURLRequest { | |
| 34 | + KS3Client *ks3Client = [KS3Client initialize]; | |
| 35 | + NSString *customBucketDomain = [ks3Client getCustomBucketDomain]; | |
| 36 | + if (customBucketDomain != nil) { | |
| 37 | + self.host = | |
| 38 | + [NSString stringWithFormat:@"%@://%@/%@?uploadId=%@", | |
| 39 | + [[KS3Client initialize] requestProtocol], | |
| 40 | + customBucketDomain, self.key, self.uploadId]; | |
| 41 | + } else { | |
| 42 | + self.host = [NSString | |
| 43 | + stringWithFormat:@"%@://%@.%@/%@?uploadId=%@", | |
| 44 | + [[KS3Client initialize] requestProtocol], self.bucket, | |
| 45 | + [[KS3Client initialize] getBucketDomain], self.key, | |
| 46 | + self.uploadId]; | |
| 47 | + } | |
| 48 | + | |
| 49 | + NSMutableString *subresource = [NSMutableString stringWithCapacity:512]; | |
| 50 | + if (self.maxParts != 1000) { // **** default is 1000 | |
| 51 | + [subresource appendFormat:@"&%@=%d", kKS3QueryParamMaxParts, self.maxParts]; | |
| 52 | + } | |
| 53 | + if (self.partNumberMarker != 0) { | |
| 54 | + [subresource appendFormat:@"&%@=%d", kKS3QueryParamPartNumberMarker, | |
| 55 | + self.partNumberMarker]; | |
| 56 | + } | |
| 57 | + if (nil != _encodingType) { | |
| 58 | + if (subresource.length > 0) { | |
| 59 | + [subresource appendString:@"&"]; | |
| 60 | + } | |
| 61 | + [subresource | |
| 62 | + appendFormat:@"%@=%@", kKS3QueryParamEncodingType, _encodingType]; | |
| 63 | + } | |
| 64 | + if (subresource.length > 0) { | |
| 65 | + self.host = [NSString stringWithFormat:@"%@%@", self.host, subresource]; | |
| 66 | + } | |
| 67 | + [super configureURLRequest]; | |
| 68 | + [self.urlRequest setHTTPMethod:kHttpMethodGet]; | |
| 69 | + return self.urlRequest; | |
| 70 | +} | |
| 71 | + | |
| 72 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3ListPartsResponse.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3ListPartsResponse.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3ListPartsResult.h" | |
| 10 | +#import "KS3Response.h" | |
| 11 | + | |
| 12 | +@class KS3ListPartsResult; | |
| 13 | +@interface KS3ListPartsResponse : KS3Response | |
| 14 | + | |
| 15 | +@property(strong, nonatomic) KS3ListPartsResult *listResult; | |
| 16 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3ListPartsResponse.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3ListPartsResponse.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3ListPartsResponse.h" | |
| 10 | +#import "KS3ListPartsResultXMLParser.h" | |
| 11 | + | |
| 12 | +@implementation KS3ListPartsResponse | |
| 13 | +- (void)processBody { | |
| 14 | + NSLog(@"KS3ListPartsResponse body: %@", | |
| 15 | + [[NSString alloc] initWithData:body encoding:NSUTF8StringEncoding]); | |
| 16 | + KS3ListPartsResultXMLParser *xmlParser = | |
| 17 | + [[KS3ListPartsResultXMLParser alloc] init]; | |
| 18 | + [xmlParser kSS3XMLarse:body]; | |
| 19 | + _listResult = xmlParser.listPartsResult; | |
| 20 | +} | |
| 21 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3ListPartsResult.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3ListPartsResult.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/16/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3Owner.h" | |
| 10 | +#import <Foundation/Foundation.h> | |
| 11 | + | |
| 12 | +@interface KS3ListPartsResult : NSObject | |
| 13 | + | |
| 14 | +@property(strong, nonatomic) NSString *Bucket; | |
| 15 | + | |
| 16 | +@property(strong, nonatomic) NSString *key; | |
| 17 | +@property(strong, nonatomic) NSString *UploadId; | |
| 18 | + | |
| 19 | +@property(nonatomic) int32_t partNumberMarker; | |
| 20 | + | |
| 21 | +@property(nonatomic) int32_t maxParts; | |
| 22 | + | |
| 23 | +@property(nonatomic) BOOL isTruncated; | |
| 24 | + | |
| 25 | +@property(strong, nonatomic) KS3Owner *initiator; | |
| 26 | + | |
| 27 | +@property(strong, nonatomic) KS3Owner *owner; | |
| 28 | + | |
| 29 | +@property(strong, nonatomic) NSMutableArray *parts; | |
| 30 | + | |
| 31 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3ListPartsResult.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3ListPartsResult.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/16/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3ListPartsResult.h" | |
| 10 | + | |
| 11 | +@implementation KS3ListPartsResult | |
| 12 | + | |
| 13 | +- (instancetype)init { | |
| 14 | + self = [super init]; | |
| 15 | + if (self) { | |
| 16 | + _parts = [NSMutableArray new]; | |
| 17 | + } | |
| 18 | + return self; | |
| 19 | +} | |
| 20 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3ListPartsResultXMLParser.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3ListPartsResultXMLParser.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/16/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3ListPartsResult.h" | |
| 10 | +#import <Foundation/Foundation.h> | |
| 11 | + | |
| 12 | +@interface KS3ListPartsResultXMLParser : NSObject <NSXMLParserDelegate> | |
| 13 | + | |
| 14 | +@property(strong, nonatomic) KS3ListPartsResult *listPartsResult; | |
| 15 | + | |
| 16 | +- (void)kSS3XMLarse:(NSData *)dataXml; | |
| 17 | + | |
| 18 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3ListPartsResultXMLParser.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3ListPartsResultXMLParser.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/16/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3ListPartsResultXMLParser.h" | |
| 10 | +#import "KS3Part.h" | |
| 11 | + | |
| 12 | +@interface KS3ListPartsResultXMLParser () | |
| 13 | +@property(strong, nonatomic) NSString *currentTag; | |
| 14 | +@property(strong, nonatomic) NSMutableString *currentText; | |
| 15 | +@property(assign, nonatomic) BOOL isInitiator; | |
| 16 | +@property(assign, nonatomic) BOOL isOwner; | |
| 17 | +@property(strong, nonatomic) KS3Part *part; | |
| 18 | +@end | |
| 19 | + | |
| 20 | +@implementation KS3ListPartsResultXMLParser | |
| 21 | + | |
| 22 | +- (void)kSS3XMLarse:(NSData *)dataXml { | |
| 23 | + NSXMLParser *parser = [[NSXMLParser alloc] initWithData:dataXml]; | |
| 24 | + [parser setDelegate:self]; | |
| 25 | + [parser parse]; | |
| 26 | +} | |
| 27 | + | |
| 28 | +#pragma mark - Xml delegate | |
| 29 | + | |
| 30 | +- (void)parserDidStartDocument:(NSXMLParser *)parser { | |
| 31 | + _listPartsResult = [[KS3ListPartsResult alloc] init]; | |
| 32 | +} | |
| 33 | + | |
| 34 | +- (void)parser:(NSXMLParser *)parser | |
| 35 | + didStartElement:(NSString *)elementName | |
| 36 | + namespaceURI:(NSString *)namespaceURI | |
| 37 | + qualifiedName:(NSString *)qName | |
| 38 | + attributes:(NSDictionary *)attributeDict { | |
| 39 | + if (nil != _currentText) { | |
| 40 | + _currentText = nil; | |
| 41 | + } | |
| 42 | + if ([elementName isEqualToString:@"ns2:Initiator"]) { | |
| 43 | + _isInitiator = YES; | |
| 44 | + _isOwner = NO; | |
| 45 | + if (nil != _listPartsResult.initiator) { | |
| 46 | + _listPartsResult.initiator = nil; | |
| 47 | + } | |
| 48 | + _listPartsResult.initiator = [[KS3Owner alloc] init]; | |
| 49 | + | |
| 50 | + } else if ([elementName isEqualToString:@"ns2:Owner"]) { | |
| 51 | + _isOwner = YES; | |
| 52 | + _isInitiator = NO; | |
| 53 | + if (nil != _listPartsResult.owner) { | |
| 54 | + _listPartsResult.owner = nil; | |
| 55 | + } | |
| 56 | + _listPartsResult.owner = [[KS3Owner alloc] init]; | |
| 57 | + } else if ([elementName isEqualToString:@"ns2:Part"]) { | |
| 58 | + if (nil != _part) { | |
| 59 | + _part = nil; | |
| 60 | + } | |
| 61 | + _part = [KS3Part new]; | |
| 62 | + } | |
| 63 | +} | |
| 64 | + | |
| 65 | +- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string { | |
| 66 | + if (nil == _currentText) { | |
| 67 | + _currentText = [[NSMutableString alloc] init]; | |
| 68 | + } | |
| 69 | + | |
| 70 | + [_currentText appendString:string]; | |
| 71 | +} | |
| 72 | + | |
| 73 | +- (void)parser:(NSXMLParser *)parser | |
| 74 | + didEndElement:(NSString *)elementName | |
| 75 | + namespaceURI:(NSString *)namespaceURI | |
| 76 | + qualifiedName:(NSString *)qName { | |
| 77 | + | |
| 78 | + if (!_isInitiator && !_isOwner) { | |
| 79 | + if ([elementName isEqualToString:@"ns2:Bucket"]) { | |
| 80 | + _listPartsResult.Bucket = _currentText; | |
| 81 | + } else if ([elementName isEqualToString:@"ns2:Key"]) { | |
| 82 | + _listPartsResult.key = _currentText; | |
| 83 | + } else if ([elementName isEqualToString:@"ns2:UploadId"]) { | |
| 84 | + _listPartsResult.UploadId = _currentText; | |
| 85 | + } else if ([elementName isEqualToString:@"ns2:PartNumberMarker"]) { | |
| 86 | + _listPartsResult.partNumberMarker = (int32_t)[_currentText integerValue]; | |
| 87 | + } else if ([elementName isEqualToString:@"ns2:MaxParts"]) { | |
| 88 | + _listPartsResult.maxParts = (int32_t)[_currentText integerValue]; | |
| 89 | + } else if ([elementName isEqualToString:@"PartNumber"]) { | |
| 90 | + _part.partNumber = (int32_t)[_currentText integerValue]; | |
| 91 | + } else if ([elementName isEqualToString:@"ETag"]) { | |
| 92 | + _part.etag = _currentText; | |
| 93 | + } else if ([elementName isEqualToString:@"LastModified"]) { | |
| 94 | + _part.lastModified = _currentText; | |
| 95 | + } else if ([elementName isEqualToString:@"Size"]) { | |
| 96 | + _part.size = [_currentText longLongValue]; | |
| 97 | + } else if ([elementName isEqualToString:@"ns2:Part"]) { | |
| 98 | + [_listPartsResult.parts addObject:_part]; | |
| 99 | + } | |
| 100 | + } else if (_isInitiator && !_isOwner) { | |
| 101 | + if ([elementName isEqualToString:@"ns2:ID"]) { | |
| 102 | + _listPartsResult.initiator.ID = _currentText; | |
| 103 | + } else if ([elementName isEqualToString:@"ns2:DisplayName"]) { | |
| 104 | + _listPartsResult.initiator.displayName = _currentText; | |
| 105 | + } else if ([elementName isEqualToString:@"ns2:Initiator"]) { | |
| 106 | + _isInitiator = NO; | |
| 107 | + } | |
| 108 | + | |
| 109 | + } else if (_isOwner && !_isInitiator) { | |
| 110 | + if ([elementName isEqualToString:@"ns2:ID"]) { | |
| 111 | + _listPartsResult.initiator.ID = _currentText; | |
| 112 | + } else if ([elementName isEqualToString:@"ns2:DisplayName"]) { | |
| 113 | + _listPartsResult.initiator.displayName = _currentText; | |
| 114 | + } else if ([elementName isEqualToString:@"ns2:Owner"]) { | |
| 115 | + _isOwner = NO; | |
| 116 | + } | |
| 117 | + } | |
| 118 | +} | |
| 119 | + | |
| 120 | +- (void)parserDidEndDocument:(NSXMLParser *)parser { | |
| 121 | +} | |
| 122 | + | |
| 123 | +- (void)parser:(NSXMLParser *)parser foundCDATA:(NSData *)CDATABlock { | |
| 124 | +} | |
| 125 | + | |
| 126 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3MultipartUpload.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3MultipartUpload.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3Owner.h" | |
| 10 | +#import <Foundation/Foundation.h> | |
| 11 | + | |
| 12 | +//上传类型 | |
| 13 | +typedef enum { | |
| 14 | + kUploadAlasset = 0, //相册中 | |
| 15 | + kUploadNormal, //沙盒里或工程里 | |
| 16 | +} UploadType; | |
| 17 | + | |
| 18 | +@interface KS3MultipartUpload : NSObject | |
| 19 | + | |
| 20 | +@property(nonatomic, strong) NSString *key; | |
| 21 | + | |
| 22 | +@property(nonatomic, strong) NSString *bucket; | |
| 23 | + | |
| 24 | +@property(nonatomic, strong) NSString *uploadId; | |
| 25 | + | |
| 26 | +@property(nonatomic, strong) NSString *storageClass; | |
| 27 | + | |
| 28 | +@property(nonatomic, strong) KS3Owner *initiator; | |
| 29 | + | |
| 30 | +@property(nonatomic, strong) KS3Owner *owner; | |
| 31 | + | |
| 32 | +@property(nonatomic, strong) NSDate *initiated; | |
| 33 | + | |
| 34 | +@property(assign, readonly) BOOL isCanceled; | |
| 35 | + | |
| 36 | +@property(assign, nonatomic, readonly) BOOL isPaused; | |
| 37 | + | |
| 38 | +@property(assign, nonatomic) UploadType uploadType; | |
| 39 | + | |
| 40 | +//暂停 | |
| 41 | +- (void)pause; | |
| 42 | +//继续 | |
| 43 | +- (void)proceed; | |
| 44 | +//取消 | |
| 45 | +- (void)cancel; | |
| 46 | + | |
| 47 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3MultipartUpload.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3MultipartUpload.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3MultipartUpload.h" | |
| 10 | +#import "KS3AbortMultipartUploadRequest.h" | |
| 11 | +#import "KS3AbortMultipartUploadResponse.h" | |
| 12 | + | |
| 13 | +@implementation KS3MultipartUpload | |
| 14 | + | |
| 15 | +- (void)pause { | |
| 16 | + _isPaused = YES; | |
| 17 | +} | |
| 18 | + | |
| 19 | +- (void)proceed { | |
| 20 | + _isPaused = NO; | |
| 21 | + _isCanceled = NO; | |
| 22 | +} | |
| 23 | + | |
| 24 | +- (void)cancel { | |
| 25 | + _isCanceled = YES; | |
| 26 | +} | |
| 27 | + | |
| 28 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3ObjectACLXMLParser.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3ObjectACLXMLParser.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3BucketACLResult.h" | |
| 10 | +#import <Foundation/Foundation.h> | |
| 11 | +@interface KS3ObjectACLXMLParser : NSObject <NSXMLParserDelegate> | |
| 12 | +@property(strong, nonatomic) KS3BucketACLResult *listBuctkResult; | |
| 13 | +- (void)kSS3XMLarse:(NSData *)dataXml; | |
| 14 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3ObjectACLXMLParser.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3ObjectACLXMLParser.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3ObjectACLXMLParser.h" | |
| 10 | +#import "KS3Grant.h" | |
| 11 | + | |
| 12 | +@interface KS3ObjectACLXMLParser () | |
| 13 | +@property(strong, nonatomic) NSString *currentTag; | |
| 14 | +@property(strong, nonatomic) NSMutableString *currentText; | |
| 15 | +@property(strong, nonatomic) KS3Grant *grant; | |
| 16 | +@property(strong, nonatomic) KS3Grantee *grantee; | |
| 17 | +@property(nonatomic) BOOL isOwnerParser; | |
| 18 | +@property(nonatomic) BOOL isGrantParser; | |
| 19 | +@end | |
| 20 | + | |
| 21 | +@implementation KS3ObjectACLXMLParser | |
| 22 | +- (void)kSS3XMLarse:(NSData *)dataXml { | |
| 23 | + NSXMLParser *parser = [[NSXMLParser alloc] initWithData:dataXml]; | |
| 24 | + [parser setDelegate:self]; | |
| 25 | + [parser parse]; | |
| 26 | +} | |
| 27 | + | |
| 28 | +#pragma mark - Xml delegate | |
| 29 | + | |
| 30 | +- (void)parserDidStartDocument:(NSXMLParser *)parser { | |
| 31 | + _listBuctkResult = [[KS3BucketACLResult alloc] init]; | |
| 32 | +} | |
| 33 | + | |
| 34 | +- (void)parser:(NSXMLParser *)parser | |
| 35 | + didStartElement:(NSString *)elementName | |
| 36 | + namespaceURI:(NSString *)namespaceURI | |
| 37 | + qualifiedName:(NSString *)qName | |
| 38 | + attributes:(NSDictionary *)attributeDict { | |
| 39 | + if (nil != _currentText) { | |
| 40 | + _currentText = nil; | |
| 41 | + } | |
| 42 | + _currentTag = elementName; | |
| 43 | + | |
| 44 | + if ([elementName isEqualToString:@"Owner"]) { | |
| 45 | + _listBuctkResult.owner = [KS3Owner new]; | |
| 46 | + _isOwnerParser = YES; | |
| 47 | + _isGrantParser = NO; | |
| 48 | + } | |
| 49 | + if ([elementName isEqualToString:@"Grant"]) { | |
| 50 | + if (nil != _grant) { | |
| 51 | + _grant = nil; | |
| 52 | + } | |
| 53 | + if (nil != _grantee) { | |
| 54 | + _grantee = nil; | |
| 55 | + } | |
| 56 | + _grantee = [KS3Grantee new]; | |
| 57 | + _grant = [KS3Grant new]; | |
| 58 | + | |
| 59 | + _isGrantParser = YES; | |
| 60 | + _isOwnerParser = NO; | |
| 61 | + } | |
| 62 | +} | |
| 63 | + | |
| 64 | +- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string { | |
| 65 | + if (nil == _currentText) { | |
| 66 | + _currentText = [[NSMutableString alloc] init]; | |
| 67 | + } | |
| 68 | + [_currentText appendString:string]; | |
| 69 | +} | |
| 70 | + | |
| 71 | +- (void)parser:(NSXMLParser *)parser | |
| 72 | + didEndElement:(NSString *)elementName | |
| 73 | + namespaceURI:(NSString *)namespaceURI | |
| 74 | + qualifiedName:(NSString *)qName { | |
| 75 | + if (_isOwnerParser) { | |
| 76 | + if ([elementName isEqualToString:@"ID"]) { | |
| 77 | + _listBuctkResult.owner.ID = _currentText; | |
| 78 | + } | |
| 79 | + if ([elementName isEqualToString:@"DisplayName"]) { | |
| 80 | + _listBuctkResult.owner.displayName = _currentText; | |
| 81 | + } | |
| 82 | + } | |
| 83 | + if (_isGrantParser) { | |
| 84 | + if ([elementName isEqualToString:@"ID"]) { | |
| 85 | + _grantee.ID = _currentText; | |
| 86 | + } | |
| 87 | + if ([elementName isEqualToString:@"DisplayName"]) { | |
| 88 | + _grantee.displayName = _currentText; | |
| 89 | + } | |
| 90 | + if ([elementName isEqualToString:@"URI"]) { | |
| 91 | + _grantee.URI = _currentText; | |
| 92 | + } | |
| 93 | + if ([elementName isEqualToString:@"Permission"]) { | |
| 94 | + _grant.permission = _currentText; | |
| 95 | + } | |
| 96 | + } | |
| 97 | + if ([elementName isEqualToString:@"Owner"]) { | |
| 98 | + _isOwnerParser = NO; | |
| 99 | + } | |
| 100 | + if ([elementName isEqualToString:@"Grant"]) { | |
| 101 | + _isGrantParser = NO; | |
| 102 | + _grant.grantee = _grantee; | |
| 103 | + [_listBuctkResult.accessControlList addObject:_grant]; | |
| 104 | + } | |
| 105 | +} | |
| 106 | + | |
| 107 | +- (void)parserDidEndDocument:(NSXMLParser *)parser { | |
| 108 | +} | |
| 109 | + | |
| 110 | +- (void)parser:(NSXMLParser *)parser foundCDATA:(NSData *)CDATABlock { | |
| 111 | +} | |
| 112 | + | |
| 113 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3Part.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3Part.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/16/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <Foundation/Foundation.h> | |
| 10 | + | |
| 11 | +@interface KS3Part : NSObject | |
| 12 | + | |
| 13 | +@property(strong, nonatomic) NSString *etag; | |
| 14 | + | |
| 15 | +@property(strong, nonatomic) NSString *lastModified; | |
| 16 | + | |
| 17 | +@property(nonatomic, assign) int32_t partNumber; | |
| 18 | + | |
| 19 | +@property(nonatomic, assign) long long size; | |
| 20 | + | |
| 21 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3Part.m
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3PutObjectCopyRequest.h
0 → 100644
| 1 | +// | |
| 2 | +// KS3PutObjectCopyRequest.h | |
| 3 | +// KSYSDKDemo | |
| 4 | +// | |
| 5 | +// Created by Blues on 12/25/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3BucketObject.h" | |
| 10 | +#import "KS3Request.h" | |
| 11 | + | |
| 12 | +@interface KS3PutObjectCopyRequest : KS3Request | |
| 13 | + | |
| 14 | +@property(nonatomic, strong) NSString *strSourceBucket; | |
| 15 | +@property(nonatomic, strong) NSString *strSourceObject; | |
| 16 | +@property(nonatomic, strong) NSString *xkssMetaDataDirective; | |
| 17 | +@property(nonatomic, strong) NSString *xkssCopySourceIfMatch; | |
| 18 | +@property(nonatomic, strong) NSString *xkssCopySourceIfNoneMatch; | |
| 19 | +@property(nonatomic, strong) NSString *xkssCopySourceIfUnmodifiedSince; | |
| 20 | +@property(nonatomic, strong) NSString *xkssCopySourceIfModifiedSince; | |
| 21 | +@property(nonatomic, strong) NSString *xkssMeta; | |
| 22 | +@property(nonatomic, strong) NSString *xkssStorageClass; | |
| 23 | +@property(nonatomic, strong) NSString *xkssWebsiteRedirectLocation; | |
| 24 | + | |
| 25 | +@property(nonatomic, strong) NSString *xkssServerSideEncryption; | |
| 26 | +@property(nonatomic, strong) NSString *xkssServerSideEncryptionCustomerKey; | |
| 27 | +@property(nonatomic, strong) | |
| 28 | + NSString *xkssServerSideEncryptionCustomerAlgorithm; | |
| 29 | +@property(nonatomic, strong) NSString *xkssServerSideEncryptionCustomerKeyMD5; | |
| 30 | +@property(nonatomic, strong) | |
| 31 | + NSString *xkssCopySourceServerSideEncryptionCustomerKey; | |
| 32 | +@property(nonatomic, strong) | |
| 33 | + NSString *xkssCopySourceServerSideEncryptionCustomerAlgorithm; | |
| 34 | +@property(nonatomic, strong) | |
| 35 | + NSString *xkssCopySourceServerSideEncryptionCustomerMD5; | |
| 36 | +@property(nonatomic, strong) NSString *xkssAcl; | |
| 37 | + | |
| 38 | +@property(nonatomic, strong) NSString *key; | |
| 39 | + | |
| 40 | +//- (instancetype)initWithName:(NSString *)bucketName; | |
| 41 | +- (instancetype)initWithName:(KS3BucketObject *)destBucketObj | |
| 42 | + sourceBucketObj:(KS3BucketObject *)sourBucketObj; | |
| 43 | + | |
| 44 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3PutObjectCopyRequest.m
0 → 100644
| 1 | +// | |
| 2 | +// KS3PutObjectCopyRequest.m | |
| 3 | +// KSYSDKDemo | |
| 4 | +// | |
| 5 | +// Created by Blues on 12/25/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3PutObjectCopyRequest.h" | |
| 10 | +#import "KS3Client.h" | |
| 11 | +#import "KS3Constants.h" | |
| 12 | +@implementation KS3PutObjectCopyRequest | |
| 13 | + | |
| 14 | +- (instancetype)initWithName:(KS3BucketObject *)destBucketObj | |
| 15 | + sourceBucketObj:(KS3BucketObject *)sourBucketObj { | |
| 16 | + self = [super init]; | |
| 17 | + if (self) { | |
| 18 | + self.bucket = [self URLEncodedString:destBucketObj.bucketName]; | |
| 19 | + self.key = [self URLEncodedString:destBucketObj.objKey]; | |
| 20 | + self.httpMethod = kHttpMethodPut; | |
| 21 | + self.contentMd5 = @""; | |
| 22 | + self.contentType = @""; | |
| 23 | + self.kSYResource = [NSString stringWithFormat:@"/%@", self.bucket]; | |
| 24 | + self.host = [NSString | |
| 25 | + stringWithFormat:@"%@://%@.%@", | |
| 26 | + [[KS3Client initialize] requestProtocol], self.bucket, | |
| 27 | + [[KS3Client initialize] getBucketDomain]]; | |
| 28 | + | |
| 29 | + // **** | |
| 30 | + self.strSourceBucket = [self URLEncodedString:sourBucketObj.bucketName]; | |
| 31 | + self.strSourceObject = [self URLEncodedString:sourBucketObj.objKey]; | |
| 32 | + NSString *strValue = [NSString | |
| 33 | + stringWithFormat:@"/%@/%@", _strSourceBucket, _strSourceObject]; | |
| 34 | + self.host = [NSString stringWithFormat:@"%@/%@", self.host, _key]; | |
| 35 | + self.kSYResource = | |
| 36 | + [NSString stringWithFormat:@"%@/%@", self.kSYResource, _key]; | |
| 37 | + } | |
| 38 | + return self; | |
| 39 | +} | |
| 40 | + | |
| 41 | +- (KS3URLRequest *)configureURLRequest { | |
| 42 | + NSString *strValue = | |
| 43 | + [NSString stringWithFormat:@"/%@/%@", _strSourceBucket, _strSourceObject]; | |
| 44 | + | |
| 45 | + [super configureURLRequest]; | |
| 46 | + [self.urlRequest setValue:strValue forHTTPHeaderField:@"x-kss-copy-source"]; | |
| 47 | + | |
| 48 | + // **** header | |
| 49 | + if (nil != _xkssMetaDataDirective) { | |
| 50 | + [self.urlRequest setValue:_xkssMetaDataDirective | |
| 51 | + forHTTPHeaderField:@"x-kss-metadata-directive"]; | |
| 52 | + } | |
| 53 | + if (nil != _xkssCopySourceIfMatch) { | |
| 54 | + [self.urlRequest setValue:_xkssCopySourceIfMatch | |
| 55 | + forHTTPHeaderField:@"x-kss-copy-source-if-match"]; | |
| 56 | + } | |
| 57 | + if (nil != _xkssCopySourceIfNoneMatch) { | |
| 58 | + [self.urlRequest setValue:_xkssCopySourceIfNoneMatch | |
| 59 | + forHTTPHeaderField:@"x-kss-copy-source-if-none-match"]; | |
| 60 | + } | |
| 61 | + if (nil != _xkssCopySourceIfUnmodifiedSince) { | |
| 62 | + [self.urlRequest setValue:_xkssCopySourceIfUnmodifiedSince | |
| 63 | + forHTTPHeaderField:@"x-kss-copy-source-if-unmodified-since"]; | |
| 64 | + } | |
| 65 | + if (nil != _xkssCopySourceIfModifiedSince) { | |
| 66 | + [self.urlRequest setValue:_xkssCopySourceIfModifiedSince | |
| 67 | + forHTTPHeaderField:@"x-kss-copy-source-if-modified-since"]; | |
| 68 | + } | |
| 69 | + if (nil != _xkssMeta) { | |
| 70 | + [self.urlRequest setValue:_xkssMeta forHTTPHeaderField:@"x-kss-meta-"]; | |
| 71 | + } | |
| 72 | + if (nil != _xkssStorageClass) { | |
| 73 | + [self.urlRequest setValue:_xkssStorageClass | |
| 74 | + forHTTPHeaderField:@"x-kss-storage-class"]; | |
| 75 | + } | |
| 76 | + if (nil != _xkssWebsiteRedirectLocation) { | |
| 77 | + [self.urlRequest setValue:_xkssWebsiteRedirectLocation | |
| 78 | + forHTTPHeaderField:@"x-kss-website-redirect-location"]; | |
| 79 | + } | |
| 80 | + | |
| 81 | + // **** encryption header | |
| 82 | + if (nil != _xkssServerSideEncryption) { | |
| 83 | + [self.urlRequest setValue:_xkssServerSideEncryption | |
| 84 | + forHTTPHeaderField:@"x-kss-server-side-encryption"]; | |
| 85 | + } | |
| 86 | + if (nil != _xkssServerSideEncryptionCustomerKey) { | |
| 87 | + [self.urlRequest setValue:_xkssServerSideEncryptionCustomerKey | |
| 88 | + forHTTPHeaderField:@"x-kss-server-side-encryption-customer-key"]; | |
| 89 | + } | |
| 90 | + if (nil != _xkssServerSideEncryptionCustomerAlgorithm) { | |
| 91 | + [self.urlRequest | |
| 92 | + setValue:_xkssServerSideEncryptionCustomerAlgorithm | |
| 93 | + forHTTPHeaderField:@"x-kss-server-side-encryption-customer-algorithm"]; | |
| 94 | + } | |
| 95 | + if (nil != _xkssServerSideEncryptionCustomerKeyMD5) { | |
| 96 | + [self.urlRequest setValue:_xkssServerSideEncryptionCustomerKeyMD5 | |
| 97 | + forHTTPHeaderField:@"x-kss-server-side-encryption-customer-key-MD5"]; | |
| 98 | + } | |
| 99 | + | |
| 100 | + if (nil != _xkssCopySourceServerSideEncryptionCustomerKey) { | |
| 101 | + [self.urlRequest setValue:_xkssCopySourceServerSideEncryptionCustomerKey | |
| 102 | + forHTTPHeaderField: | |
| 103 | + @"x-kss-copy-source-server-side-encryption-customer-key"]; | |
| 104 | + } | |
| 105 | + if (nil != _xkssCopySourceServerSideEncryptionCustomerAlgorithm) { | |
| 106 | + [self.urlRequest | |
| 107 | + setValue:_xkssCopySourceServerSideEncryptionCustomerAlgorithm | |
| 108 | + forHTTPHeaderField: | |
| 109 | + @"x-kss-copy-source-server-side-encryption-customer-algorithm"]; | |
| 110 | + } | |
| 111 | + if (nil != _xkssCopySourceServerSideEncryptionCustomerMD5) { | |
| 112 | + [self.urlRequest setValue:_xkssCopySourceServerSideEncryptionCustomerMD5 | |
| 113 | + forHTTPHeaderField: | |
| 114 | + @"x-kss-copy-source-server-side-encryption-customer-key-MD5"]; | |
| 115 | + } | |
| 116 | + | |
| 117 | + // **** acl | |
| 118 | + if (nil != _xkssAcl) { | |
| 119 | + [self.urlRequest setValue:_xkssAcl forHTTPHeaderField:@"x-kss-acl"]; | |
| 120 | + } | |
| 121 | + return self.urlRequest; | |
| 122 | +} | |
| 123 | + | |
| 124 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3PutObjectCopyResponse.h
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3PutObjectCopyResponse.m
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3PutObjectRequest.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3PutObjectRequest.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3Request.h" | |
| 10 | + | |
| 11 | +@class KS3AccessControlList; | |
| 12 | +@class KS3GrantAccessControlList; | |
| 13 | + | |
| 14 | +@interface KS3PutObjectRequest : KS3Request | |
| 15 | + | |
| 16 | +@property(nonatomic, strong) NSString *cacheControl; | |
| 17 | +@property(nonatomic, strong) NSString *contentDisposition; | |
| 18 | +@property(nonatomic, strong) NSString *contentEncoding; | |
| 19 | +@property(nonatomic, assign) BOOL generateMD5; | |
| 20 | +@property(nonatomic, strong) NSString *expect; | |
| 21 | +@property(nonatomic, strong) NSData *data; | |
| 22 | +@property(nonatomic, strong) NSInputStream *stream; | |
| 23 | +@property(nonatomic, assign, readonly) int64_t expires; | |
| 24 | +@property(nonatomic, strong) NSString *filename; | |
| 25 | +@property(nonatomic, strong) NSString *redirectLocation; | |
| 26 | +@property(nonatomic, strong) NSString *callbackUrl; | |
| 27 | +@property(nonatomic, strong) NSString *callbackBody; | |
| 28 | +@property(nonatomic, strong) NSDictionary *callbackParams; | |
| 29 | +@property(strong, nonatomic) KS3AccessControlList *acl; | |
| 30 | +@property(nonatomic, strong) NSArray *arrGrantAcl; | |
| 31 | + | |
| 32 | +- (instancetype)initWithName:(NSString *)bucketName | |
| 33 | + withAcl:(KS3AccessControlList *)acl | |
| 34 | + grantAcl:(NSArray *)arrGrantAcl; | |
| 35 | + | |
| 36 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3PutObjectRequest.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3PutObjectRequest.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3PutObjectRequest.h" | |
| 10 | +#import "KS3AccessControlList.h" | |
| 11 | +#import "KS3Client.h" | |
| 12 | +#import "KS3Constants.h" | |
| 13 | +#import "KS3GrantAccessControlList.h" | |
| 14 | +#import "KS3SDKUtil.h" | |
| 15 | +@implementation KS3PutObjectRequest | |
| 16 | + | |
| 17 | +- (instancetype)initWithName:(NSString *)bucketName | |
| 18 | + withAcl:(KS3AccessControlList *)acl | |
| 19 | + grantAcl:(NSArray *)arrGrantAcl { | |
| 20 | + self = [super init]; | |
| 21 | + if (self) { | |
| 22 | + self.bucket = [self URLEncodedString:bucketName]; | |
| 23 | + self.httpMethod = kHttpMethodPut; | |
| 24 | + self.contentMd5 = nil; | |
| 25 | + self.contentType = @"application/octet-stream"; | |
| 26 | + self.generateMD5 = YES; | |
| 27 | + self.acl = acl; | |
| 28 | + self.arrGrantAcl = arrGrantAcl; | |
| 29 | + self.kSYResource = [NSString stringWithFormat:@"/%@", self.bucket]; | |
| 30 | + | |
| 31 | + KS3Client *ks3Client = [KS3Client initialize]; | |
| 32 | + NSString *customBucketDomain = [ks3Client getCustomBucketDomain]; | |
| 33 | + | |
| 34 | + if (customBucketDomain != nil) { | |
| 35 | + self.host = [NSString | |
| 36 | + stringWithFormat:@"%@://%@", [[KS3Client initialize] requestProtocol], | |
| 37 | + customBucketDomain]; | |
| 38 | + } else { | |
| 39 | + self.host = [NSString | |
| 40 | + stringWithFormat:@"%@://%@.%@", | |
| 41 | + [[KS3Client initialize] requestProtocol], | |
| 42 | + self.bucket, | |
| 43 | + [ks3Client | |
| 44 | + getBucketDomain]]; | |
| 45 | + } | |
| 46 | + } | |
| 47 | + return self; | |
| 48 | +} | |
| 49 | + | |
| 50 | +- (void)sortGrantAcl { | |
| 51 | + NSMutableArray *arrAccessGrantAcl = | |
| 52 | + [[NSMutableArray alloc] initWithCapacity:0]; | |
| 53 | + for (NSInteger i = 0; i < _arrGrantAcl.count; i++) { | |
| 54 | + KS3GrantAccessControlList *grantAcl = _arrGrantAcl[i]; | |
| 55 | + [arrAccessGrantAcl addObject:grantAcl.accessGrantACL]; | |
| 56 | + } | |
| 57 | + NSSortDescriptor *descriptor = | |
| 58 | + [NSSortDescriptor sortDescriptorWithKey:nil ascending:YES]; | |
| 59 | + NSArray *descriptors = [NSArray arrayWithObject:descriptor]; | |
| 60 | + NSArray *resultArray = | |
| 61 | + [arrAccessGrantAcl sortedArrayUsingDescriptors:descriptors]; | |
| 62 | + NSMutableArray *arrGrantAcl = [[NSMutableArray alloc] initWithCapacity:0]; | |
| 63 | + for (NSInteger i = 0; i < _arrGrantAcl.count; i++) { | |
| 64 | + NSString *strAccessGrantAcl = resultArray[i]; | |
| 65 | + for (NSInteger j = 0; j < _arrGrantAcl.count; j++) { | |
| 66 | + KS3GrantAccessControlList *grantAcl = _arrGrantAcl[j]; | |
| 67 | + if ([grantAcl.accessGrantACL isEqualToString:strAccessGrantAcl] == YES) { | |
| 68 | + [arrGrantAcl addObject:grantAcl]; | |
| 69 | + break; | |
| 70 | + } | |
| 71 | + } | |
| 72 | + } | |
| 73 | + self.arrGrantAcl = arrGrantAcl; | |
| 74 | +} | |
| 75 | + | |
| 76 | +- (void)setCompleteRequest { | |
| 77 | + [self.urlRequest setHTTPBody:_data]; | |
| 78 | + [self.urlRequest setValue:self.contentType | |
| 79 | + forHTTPHeaderField:kKSHttpHdrContentType]; | |
| 80 | + | |
| 81 | + if (_acl != nil) { | |
| 82 | + [self.urlRequest setValue:_acl.accessACL forHTTPHeaderField:@"x-kss-acl"]; | |
| 83 | + } | |
| 84 | + | |
| 85 | + if (_arrGrantAcl != nil) { | |
| 86 | + for (NSInteger i = 0; i < _arrGrantAcl.count; i++) { | |
| 87 | + KS3GrantAccessControlList *grantAcl = _arrGrantAcl[i]; | |
| 88 | + NSString *strValue = | |
| 89 | + [NSString stringWithFormat:@"id=\"%@\", ", grantAcl.identifier]; | |
| 90 | + strValue = [strValue | |
| 91 | + stringByAppendingFormat:@"displayName=\"%@\"", grantAcl.displayName]; | |
| 92 | + [self.urlRequest setValue:strValue | |
| 93 | + forHTTPHeaderField:grantAcl.accessGrantACL]; | |
| 94 | + } | |
| 95 | + } | |
| 96 | + | |
| 97 | + if (nil != _callbackBody && nil != _callbackUrl) { | |
| 98 | + [self.urlRequest setValue:_callbackBody | |
| 99 | + forHTTPHeaderField:@"x-kss-callbackbody"]; | |
| 100 | + [self.urlRequest setValue:_callbackUrl | |
| 101 | + forHTTPHeaderField:@"x-kss-callbackurl"]; | |
| 102 | + | |
| 103 | + // **** 回调的自定义参数 | |
| 104 | + if (nil != _callbackParams) { | |
| 105 | + for (NSString *strKey in _callbackParams.allKeys) { | |
| 106 | + if (strKey.length >= 4 && | |
| 107 | + [[strKey substringToIndex:4] isEqualToString:@"kss-"] == YES) { | |
| 108 | + [self.urlRequest setValue:_callbackParams[strKey] | |
| 109 | + forHTTPHeaderField:strKey]; | |
| 110 | + } else { | |
| 111 | + NSLog(@"The header with field: \"%@\" and value: \"%@\" is not " | |
| 112 | + @"cocrect, this header will be ingored", | |
| 113 | + strKey, _callbackParams[strKey]); | |
| 114 | + } | |
| 115 | + } | |
| 116 | + } | |
| 117 | + } | |
| 118 | + if (nil == self.contentMd5 && YES == self.generateMD5 && self.data != nil) { | |
| 119 | + self.contentMd5 = [KS3SDKUtil base64md5FromData:self.data]; | |
| 120 | + } | |
| 121 | + [self.urlRequest setValue:self.contentMd5 | |
| 122 | + forHTTPHeaderField:kKS3HttpHdrContentMD5]; | |
| 123 | + | |
| 124 | + _filename = [self URLEncodedString:_filename]; | |
| 125 | + self.kSYResource = [NSString stringWithFormat:@"%@/%@", self.kSYResource, _filename]; | |
| 126 | + | |
| 127 | + self.host = [NSString stringWithFormat:@"%@/%@", self.host, _filename]; | |
| 128 | +} | |
| 129 | + | |
| 130 | +- (KS3URLRequest *)configureURLRequest { | |
| 131 | + | |
| 132 | + [super configureURLRequest]; | |
| 133 | + return self.urlRequest; | |
| 134 | +} | |
| 135 | + | |
| 136 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3PutObjectResponse.h
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3PutObjectResponse.m
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3SetObjectACLRequest.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3SetObjectACLRequest.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3Request.h" | |
| 10 | +@class KS3AccessControlList; | |
| 11 | +@interface KS3SetObjectACLRequest : KS3Request | |
| 12 | + | |
| 13 | +@property(strong, nonatomic) NSString *key; | |
| 14 | + | |
| 15 | +@property(strong, nonatomic) KS3AccessControlList *acl; | |
| 16 | + | |
| 17 | +- (instancetype)initWithName:(NSString *)bucketName | |
| 18 | + withKeyName:(NSString *)strKeyName | |
| 19 | + acl:(KS3AccessControlList *)acl; | |
| 20 | + | |
| 21 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3SetObjectACLRequest.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3SetObjectACLRequest.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3SetObjectACLRequest.h" | |
| 10 | +#import "KS3AccessControlList.h" | |
| 11 | +#import "KS3Client.h" | |
| 12 | +#import "KS3Constants.h" | |
| 13 | +@implementation KS3SetObjectACLRequest | |
| 14 | +- (instancetype)initWithName:(NSString *)bucketName | |
| 15 | + withKeyName:(NSString *)strKeyName | |
| 16 | + acl:(KS3AccessControlList *)acl { | |
| 17 | + self = [super init]; | |
| 18 | + if (self) { | |
| 19 | + self.bucket = [self URLEncodedString:bucketName]; | |
| 20 | + self.key = [self URLEncodedString:strKeyName]; | |
| 21 | + self.acl = acl; | |
| 22 | + self.httpMethod = kHttpMethodPut; | |
| 23 | + self.contentMd5 = @""; | |
| 24 | + self.contentType = @""; | |
| 25 | + self.kSYResource = [NSString stringWithFormat:@"/%@", self.bucket]; | |
| 26 | + self.host = @""; | |
| 27 | + | |
| 28 | + self.kSYResource = | |
| 29 | + [NSString stringWithFormat:@"%@/%@?acl", self.kSYResource, _key]; | |
| 30 | + self.host = [NSString | |
| 31 | + stringWithFormat:@"%@://%@.%@/%@?acl", | |
| 32 | + [[KS3Client initialize] requestProtocol], self.bucket, | |
| 33 | + [[KS3Client initialize] getBucketDomain], _key]; | |
| 34 | + } | |
| 35 | + return self; | |
| 36 | +} | |
| 37 | +- (KS3URLRequest *)configureURLRequest { | |
| 38 | + [super configureURLRequest]; | |
| 39 | + [self.urlRequest setHTTPMethod:kHttpMethodPut]; | |
| 40 | + [self.urlRequest setValue:_acl.accessACL forHTTPHeaderField:@"x-kss-acl"]; | |
| 41 | + return self.urlRequest; | |
| 42 | +} | |
| 43 | + | |
| 44 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3SetObjectACLResponse.h
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3SetObjectACLResponse.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3SetObjectACLResponse.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3SetObjectACLResponse.h" | |
| 10 | + | |
| 11 | +@implementation KS3SetObjectACLResponse | |
| 12 | + | |
| 13 | +- (void)processBody { | |
| 14 | +} | |
| 15 | + | |
| 16 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3SetObjectGrantACLRequest.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3SetObjectGrantACLRequest.h | |
| 3 | +// KS3iOSSDKDemo | |
| 4 | +// | |
| 5 | +// Created by Blues on 12/18/14. | |
| 6 | +// Copyright (c) 2014 Blues. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3Request.h" | |
| 10 | + | |
| 11 | +@class KS3GrantAccessControlList; | |
| 12 | + | |
| 13 | +@interface KS3SetObjectGrantACLRequest : KS3Request | |
| 14 | + | |
| 15 | +@property(nonatomic, strong) KS3GrantAccessControlList *acl; | |
| 16 | +@property(nonatomic, strong) NSString *key; | |
| 17 | + | |
| 18 | +- (instancetype)initWithName:(NSString *)bucketName | |
| 19 | + withKeyName:(NSString *)strKeyName | |
| 20 | + grantAcl:(KS3GrantAccessControlList *)grantAcl; | |
| 21 | + | |
| 22 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3SetObjectGrantACLRequest.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3SetObjectGrantACLRequest.m | |
| 3 | +// KS3iOSSDKDemo | |
| 4 | +// | |
| 5 | +// Created by Blues on 12/18/14. | |
| 6 | +// Copyright (c) 2014 Blues. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3SetObjectGrantACLRequest.h" | |
| 10 | +#import "KS3Client.h" | |
| 11 | +#import "KS3Constants.h" | |
| 12 | +#import "KS3GrantAccessControlList.h" | |
| 13 | + | |
| 14 | +@implementation KS3SetObjectGrantACLRequest | |
| 15 | + | |
| 16 | +- (instancetype)initWithName:(NSString *)bucketName | |
| 17 | + withKeyName:(NSString *)strKeyName | |
| 18 | + grantAcl:(KS3GrantAccessControlList *)grantAcl { | |
| 19 | + self = [super init]; | |
| 20 | + if (self) { | |
| 21 | + self.bucket = [self URLEncodedString:bucketName]; | |
| 22 | + self.key = [self URLEncodedString:strKeyName]; | |
| 23 | + self.acl = grantAcl; | |
| 24 | + self.httpMethod = kHttpMethodPut; | |
| 25 | + self.contentMd5 = @""; | |
| 26 | + self.contentType = @""; | |
| 27 | + self.kSYResource = [NSString stringWithFormat:@"/%@", self.bucket]; | |
| 28 | + self.host = @""; | |
| 29 | + | |
| 30 | + // | |
| 31 | + self.kSYResource = | |
| 32 | + [NSString stringWithFormat:@"%@/%@?acl", self.kSYResource, _key]; | |
| 33 | + self.host = [NSString | |
| 34 | + stringWithFormat:@"%@://%@.%@/%@?acl", | |
| 35 | + [[KS3Client initialize] requestProtocol], self.bucket, | |
| 36 | + [[KS3Client initialize] getBucketDomain], _key]; | |
| 37 | + } | |
| 38 | + return self; | |
| 39 | +} | |
| 40 | + | |
| 41 | +- (KS3URLRequest *)configureURLRequest { | |
| 42 | + NSString *strValue = | |
| 43 | + [NSString stringWithFormat:@"id=\"%@\", ", _acl.identifier]; | |
| 44 | + strValue = [strValue | |
| 45 | + stringByAppendingFormat:@"displayName=\"%@\"", _acl.displayName]; | |
| 46 | + [super configureURLRequest]; | |
| 47 | + [self.urlRequest setHTTPMethod:kHttpMethodPut]; | |
| 48 | + [self.urlRequest setValue:strValue forHTTPHeaderField:_acl.accessGrantACL]; | |
| 49 | + | |
| 50 | + return self.urlRequest; | |
| 51 | +} | |
| 52 | + | |
| 53 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3SetObjectGrantACLResponse.h
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3SetObjectGrantACLResponse.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3SetObjectGrantACLResponse.m | |
| 3 | +// KS3iOSSDKDemo | |
| 4 | +// | |
| 5 | +// Created by Blues on 12/18/14. | |
| 6 | +// Copyright (c) 2014 Blues. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3SetObjectGrantACLResponse.h" | |
| 10 | + | |
| 11 | +@implementation KS3SetObjectGrantACLResponse | |
| 12 | + | |
| 13 | +- (void)processBody { | |
| 14 | +} | |
| 15 | + | |
| 16 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3Upload.h
0 → 100644
| 1 | +// | |
| 2 | +// KS3Upload.h | |
| 3 | +// Pods | |
| 4 | +// | |
| 5 | +// Created by Sun Peng on 2017/5/4. | |
| 6 | +// | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <Foundation/Foundation.h> | |
| 10 | +#import "KS3MultipartUpload.h" | |
| 11 | + | |
| 12 | +@interface KS3Upload : KS3MultipartUpload <NSCopying> | |
| 13 | + | |
| 14 | +@property (assign, nonatomic) NSInteger contentLength; | |
| 15 | +@property (assign, nonatomic) NSInteger blockSize; | |
| 16 | +@property (assign, nonatomic) NSInteger partCount; | |
| 17 | + | |
| 18 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3Upload.m
0 → 100644
| 1 | +// | |
| 2 | +// KS3Upload.m | |
| 3 | +// Pods | |
| 4 | +// | |
| 5 | +// Created by Sun Peng on 2017/5/4. | |
| 6 | +// | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3Upload.h" | |
| 10 | + | |
| 11 | +@implementation KS3Upload | |
| 12 | + | |
| 13 | +- (id)copyWithZone:(NSZone *)zone { | |
| 14 | + KS3Upload *copy = [[[self class] allocWithZone:zone] init]; | |
| 15 | + copy.key = self.key; | |
| 16 | + copy.bucket = self.bucket; | |
| 17 | + copy.uploadId = self.uploadId; | |
| 18 | + copy.storageClass = self.storageClass; | |
| 19 | + copy.initiator = self.initiator; | |
| 20 | + copy.initiated = self.initiated; | |
| 21 | + copy.contentLength = self.contentLength; | |
| 22 | + copy.blockSize = self.blockSize; | |
| 23 | + copy.partCount = self.partCount; | |
| 24 | + return copy; | |
| 25 | +} | |
| 26 | + | |
| 27 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3UploadPartRequest.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3UploadPartRequest.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3MultipartUpload.h" | |
| 10 | +#import "KS3Request.h" | |
| 11 | + | |
| 12 | +@interface KS3UploadPartRequest : KS3Request | |
| 13 | + | |
| 14 | +@property(nonatomic, strong) NSString *expect; | |
| 15 | + | |
| 16 | +@property(nonatomic, assign) int32_t partNumber; | |
| 17 | +@property(nonatomic, assign) BOOL generateMD5; | |
| 18 | +@property(nonatomic, strong) NSString *uploadId; | |
| 19 | +@property(nonatomic, strong) NSData *data; | |
| 20 | +@property(nonatomic, strong) NSString *key; | |
| 21 | +@property(strong, nonatomic) KS3MultipartUpload *multipartUpload; | |
| 22 | +- (id)initWithMultipartUpload:(KS3MultipartUpload *)multipartUpload | |
| 23 | + partNumber:(int32_t)partNumber | |
| 24 | + data:(NSData *)data | |
| 25 | + generateMD5:(BOOL)generateMD5; | |
| 26 | + | |
| 27 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3UploadPartRequest.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3UploadPartRequest.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/15/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3UploadPartRequest.h" | |
| 10 | +#import "KS3Client.h" | |
| 11 | +#import "KS3Constants.h" | |
| 12 | +#import "KS3SDKUtil.h" | |
| 13 | +@interface KS3UploadPartRequest () | |
| 14 | + | |
| 15 | +@end | |
| 16 | + | |
| 17 | +@implementation KS3UploadPartRequest | |
| 18 | + | |
| 19 | +- (id)initWithMultipartUpload:(KS3MultipartUpload *)multipartUpload | |
| 20 | + partNumber:(int32_t)partNumber | |
| 21 | + data:(NSData *)data | |
| 22 | + generateMD5:(BOOL)generateMD5 { | |
| 23 | + if (self = [super init]) { | |
| 24 | + self.bucket = [self URLEncodedString:multipartUpload.bucket]; | |
| 25 | + self.key = [self URLEncodedString:multipartUpload.key]; | |
| 26 | + self.uploadId = multipartUpload.uploadId; | |
| 27 | + _data = data; | |
| 28 | + _partNumber = partNumber; | |
| 29 | + _generateMD5 = generateMD5; | |
| 30 | + self.contentMd5 = nil; | |
| 31 | + _generateMD5 = YES; | |
| 32 | + _multipartUpload = multipartUpload; | |
| 33 | + self.contentType = @"binary/octet-stream"; | |
| 34 | + self.httpMethod = kHttpMethodPut; | |
| 35 | + | |
| 36 | + KS3Client *ks3Client = [KS3Client initialize]; | |
| 37 | + NSString *customBucketDomain = [ks3Client getCustomBucketDomain]; | |
| 38 | + | |
| 39 | + if (customBucketDomain != nil) { | |
| 40 | + self.host = | |
| 41 | + [NSString stringWithFormat:@"%@://%@/%@?partNumber=%d&uploadId=%@", | |
| 42 | + [[KS3Client initialize] requestProtocol], | |
| 43 | + customBucketDomain, _key, _partNumber, | |
| 44 | + _multipartUpload.uploadId]; | |
| 45 | + } else { | |
| 46 | + self.host = [NSString | |
| 47 | + stringWithFormat:@"%@://%@.%@/%@?partNumber=%d&uploadId=%@", | |
| 48 | + [[KS3Client initialize] requestProtocol], | |
| 49 | + self.bucket, [ks3Client getBucketDomain], _key, | |
| 50 | + _partNumber, _multipartUpload.uploadId]; | |
| 51 | + } | |
| 52 | + | |
| 53 | + if (nil == self.contentMd5 && YES == self.generateMD5 && self.data != nil) { | |
| 54 | + self.contentMd5 = [KS3SDKUtil base64md5FromData:self.data]; | |
| 55 | + } | |
| 56 | + self.kSYResource = | |
| 57 | + [NSString stringWithFormat:@"/%@/%@?%@=%d&%@=%@", self.bucket, self.key, | |
| 58 | + kKS3QueryParamPartNumber, self.partNumber, | |
| 59 | + kKS3QueryParamUploadId, self.uploadId]; | |
| 60 | + } | |
| 61 | + | |
| 62 | + return self; | |
| 63 | +} | |
| 64 | + | |
| 65 | +- (NSMutableURLRequest *)configureURLRequest { | |
| 66 | + | |
| 67 | + [super configureURLRequest]; | |
| 68 | + if (self.contentLength < 1) { | |
| 69 | + self.contentLength = [self.data length]; | |
| 70 | + } | |
| 71 | + [self.urlRequest setValue:[NSString | |
| 72 | + stringWithFormat:@"%lu", | |
| 73 | + (unsigned long)[ | |
| 74 | + [self.urlRequest HTTPBody] | |
| 75 | + length]] | |
| 76 | + forHTTPHeaderField:kKSHttpHdrContentLength]; | |
| 77 | + if (self.data != nil) { | |
| 78 | + [self.urlRequest setHTTPBody:self.data]; | |
| 79 | + } | |
| 80 | + if (nil != self.contentMd5) { | |
| 81 | + [self.urlRequest setValue:self.contentMd5 | |
| 82 | + forHTTPHeaderField:kKS3HttpHdrContentMD5]; | |
| 83 | + } | |
| 84 | + if (nil != _expect) { | |
| 85 | + [self.urlRequest setValue:_expect forHTTPHeaderField:@"Expect"]; | |
| 86 | + } | |
| 87 | + [self.urlRequest setValue:self.contentType | |
| 88 | + forHTTPHeaderField:kKSHttpHdrContentType]; | |
| 89 | + return self.urlRequest; | |
| 90 | +} | |
| 91 | + | |
| 92 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3UploadPartResponse.h
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3UploadPartResponse.m
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3UploadRequest.h
0 → 100644
| 1 | +// | |
| 2 | +// KS3UploadRequest.h | |
| 3 | +// Pods | |
| 4 | +// | |
| 5 | +// Created by Sun Peng on 2017/5/4. | |
| 6 | +// | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3InitiateMultipartUploadRequest.h" | |
| 10 | + | |
| 11 | +@interface KS3UploadRequest : KS3InitiateMultipartUploadRequest | |
| 12 | + | |
| 13 | +- (id)initWithKey:(NSString *)aKey | |
| 14 | + inBucket:(NSString *)aBucket | |
| 15 | + acl:(KS3AccessControlList *)acl | |
| 16 | + grantAcl:(NSArray *)arrGrantAcl; | |
| 17 | + | |
| 18 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3UploadRequest.m
0 → 100644
| 1 | +// | |
| 2 | +// KS3UploadRequest.m | |
| 3 | +// Pods | |
| 4 | +// | |
| 5 | +// Created by Sun Peng on 2017/5/4. | |
| 6 | +// | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3UploadRequest.h" | |
| 10 | + | |
| 11 | +@implementation KS3UploadRequest | |
| 12 | + | |
| 13 | +- (id)initWithKey:(NSString *)aKey inBucket:(NSString *)aBucket acl:(KS3AccessControlList *)acl grantAcl:(NSArray *)arrGrantAcl { | |
| 14 | + if (self = [super initWithKey:aKey inBucket:aBucket acl:acl grantAcl:arrGrantAcl]) { | |
| 15 | + } | |
| 16 | + | |
| 17 | + return self; | |
| 18 | +} | |
| 19 | + | |
| 20 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Service/KS3Bucket.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3Buckket.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/9/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <Foundation/Foundation.h> | |
| 10 | + | |
| 11 | +@interface KS3Bucket : NSObject | |
| 12 | + | |
| 13 | +@property(strong, nonatomic) NSString *name; | |
| 14 | +@property(strong, nonatomic) NSString *creationDate; | |
| 15 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Service/KS3Bucket.m
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Service/KS3ListBucketsRequest.h
0 → 100644
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Service/KS3ListBucketsRequest.m
0 → 100644
| 1 | +// | |
| 2 | +// S3ListBucketsRequest.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/9/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3ListBucketsRequest.h" | |
| 10 | +#import "KS3Client.h" | |
| 11 | +#import "KS3Constants.h" | |
| 12 | +@implementation KS3ListBucketsRequest | |
| 13 | + | |
| 14 | +- (instancetype)init { | |
| 15 | + self = [super init]; | |
| 16 | + if (self) { | |
| 17 | + self.httpMethod = kHttpMethodGet; | |
| 18 | + self.contentMd5 = @""; | |
| 19 | + self.contentType = @""; | |
| 20 | + self.kSYResource = @"/"; | |
| 21 | + self.host = [NSString | |
| 22 | + stringWithFormat:@"%@://%@", [[KS3Client initialize] requestProtocol], | |
| 23 | + [[KS3Client initialize] getBucketDomain]]; | |
| 24 | + } | |
| 25 | + return self; | |
| 26 | +} | |
| 27 | + | |
| 28 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Service/KS3ListBucketsResponse.h
0 → 100644
| 1 | +// | |
| 2 | +// S3ListBucketsResponse.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/9/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3Response.h" | |
| 10 | +@class KS3ListBucketsResult; | |
| 11 | +@interface KS3ListBucketsResponse : KS3Response | |
| 12 | + | |
| 13 | +@property(nonatomic, strong) KS3ListBucketsResult *listBucketsResult; | |
| 14 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Service/KS3ListBucketsResponse.m
0 → 100644
| 1 | +// | |
| 2 | +// S3ListBucketsResponse.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/9/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3ListBucketsResponse.h" | |
| 10 | +#import "KS3Bucket.h" | |
| 11 | +#import "KS3ListBucketsXMLParser.h" | |
| 12 | +@implementation KS3ListBucketsResponse | |
| 13 | + | |
| 14 | +- (void)processBody { | |
| 15 | + KS3ListBucketsXMLParser *xmlParser = [[KS3ListBucketsXMLParser alloc] init]; | |
| 16 | + [xmlParser kSS3XMLarse:body]; | |
| 17 | + _listBucketsResult = xmlParser.listBuctkResult; | |
| 18 | +} | |
| 19 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Service/KS3ListBucketsResult.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3ListBucketsResult.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/11/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import <Foundation/Foundation.h> | |
| 10 | +@class KS3Owner; | |
| 11 | + | |
| 12 | +@interface KS3ListBucketsResult : NSObject | |
| 13 | + | |
| 14 | +@property(nonatomic, strong) KS3Owner *owner; | |
| 15 | +@property(nonatomic, strong) NSMutableArray *buckets; | |
| 16 | + | |
| 17 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Service/KS3ListBucketsResult.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3ListBucketsResult.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/11/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3ListBucketsResult.h" | |
| 10 | + | |
| 11 | +@implementation KS3ListBucketsResult | |
| 12 | + | |
| 13 | +- (instancetype)init { | |
| 14 | + self = [super init]; | |
| 15 | + if (self) { | |
| 16 | + _buckets = [[NSMutableArray alloc] init]; | |
| 17 | + } | |
| 18 | + return self; | |
| 19 | +} | |
| 20 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Service/KS3ListBucketsXMLParser.h
0 → 100644
| 1 | +// | |
| 2 | +// KSS3ListBucketsXMLParser.h | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/11/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3ListBucketsResult.h" | |
| 10 | +#import "KS3Owner.h" | |
| 11 | +#import <Foundation/Foundation.h> | |
| 12 | + | |
| 13 | +@interface KS3ListBucketsXMLParser : NSObject <NSXMLParserDelegate> | |
| 14 | +@property(strong, nonatomic) KS3ListBucketsResult *listBuctkResult; | |
| 15 | +- (void)kSS3XMLarse:(NSData *)dataXml; | |
| 16 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Service/KS3ListBucketsXMLParser.m
0 → 100644
| 1 | +// | |
| 2 | +// KSS3ListBucketsXMLParser.m | |
| 3 | +// KS3SDK | |
| 4 | +// | |
| 5 | +// Created by JackWong on 12/11/14. | |
| 6 | +// Copyright (c) 2014 kingsoft. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +#import "KS3ListBucketsXMLParser.h" | |
| 10 | +#import "KS3Bucket.h" | |
| 11 | +#import "KS3Owner.h" | |
| 12 | +@interface KS3ListBucketsXMLParser () | |
| 13 | +@property(strong, nonatomic) NSMutableString *currentTag; | |
| 14 | +@property(strong, nonatomic) NSMutableString *currentText; | |
| 15 | +@property(strong, nonatomic) KS3Bucket *bucket; | |
| 16 | +@end | |
| 17 | + | |
| 18 | +@implementation KS3ListBucketsXMLParser | |
| 19 | + | |
| 20 | +- (void)kSS3XMLarse:(NSData *)dataXml { | |
| 21 | + NSXMLParser *parser = [[NSXMLParser alloc] initWithData:dataXml]; | |
| 22 | + [parser setDelegate:self]; | |
| 23 | + [parser parse]; | |
| 24 | +} | |
| 25 | + | |
| 26 | +#pragma mark - Xml delegate | |
| 27 | + | |
| 28 | +- (void)parserDidStartDocument:(NSXMLParser *)parser { | |
| 29 | + _listBuctkResult = [[KS3ListBucketsResult alloc] init]; | |
| 30 | +} | |
| 31 | + | |
| 32 | +- (void)parser:(NSXMLParser *)parser | |
| 33 | + didStartElement:(NSString *)elementName | |
| 34 | + namespaceURI:(NSString *)namespaceURI | |
| 35 | + qualifiedName:(NSString *)qName | |
| 36 | + attributes:(NSDictionary *)attributeDict { | |
| 37 | + if (nil != _currentText) { | |
| 38 | + _currentText = nil; | |
| 39 | + } | |
| 40 | + | |
| 41 | + if ([elementName isEqualToString:@"Owner"]) { | |
| 42 | + _listBuctkResult.owner = [KS3Owner new]; | |
| 43 | + } | |
| 44 | + if ([elementName isEqualToString:@"Bucket"]) { | |
| 45 | + if (nil != _bucket) { | |
| 46 | + _bucket = nil; | |
| 47 | + } | |
| 48 | + _bucket = [KS3Bucket new]; | |
| 49 | + } | |
| 50 | +} | |
| 51 | + | |
| 52 | +- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string { | |
| 53 | + if (nil == _currentText) { | |
| 54 | + _currentText = [[NSMutableString alloc] init]; | |
| 55 | + } | |
| 56 | + [_currentText appendString:string]; | |
| 57 | +} | |
| 58 | + | |
| 59 | +- (void)parser:(NSXMLParser *)parser | |
| 60 | + didEndElement:(NSString *)elementName | |
| 61 | + namespaceURI:(NSString *)namespaceURI | |
| 62 | + qualifiedName:(NSString *)qName { | |
| 63 | + if ([elementName isEqualToString:@"ID"]) { | |
| 64 | + _listBuctkResult.owner.ID = _currentText; | |
| 65 | + } | |
| 66 | + if ([elementName isEqualToString:@"DisplayName"]) { | |
| 67 | + _listBuctkResult.owner.displayName = _currentText; | |
| 68 | + } | |
| 69 | + | |
| 70 | + if ([elementName isEqualToString:@"Name"]) { | |
| 71 | + _bucket.name = _currentText; | |
| 72 | + } | |
| 73 | + if ([elementName isEqualToString:@"CreationDate"]) { | |
| 74 | + _bucket.creationDate = _currentText; | |
| 75 | + } | |
| 76 | + if ([elementName isEqualToString:@"Bucket"]) { | |
| 77 | + [_listBuctkResult.buckets addObject:_bucket]; | |
| 78 | + _bucket = nil; | |
| 79 | + } | |
| 80 | +} | |
| 81 | + | |
| 82 | +- (void)parserDidEndDocument:(NSXMLParser *)parser { | |
| 83 | +} | |
| 84 | + | |
| 85 | +- (void)parser:(NSXMLParser *)parser foundCDATA:(NSData *)CDATABlock { | |
| 86 | +} | |
| 87 | + | |
| 88 | +@end | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/LICENSE
0 → 100644
| 1 | +Copyright (c) 2017 Kingsoft. | |
| 2 | + | |
| 3 | +Licensed under the Apache License, Version 2.0 (the "License"); | |
| 4 | +you may not use this file except in compliance with the License. | |
| 5 | +You may obtain a copy of the License at | |
| 6 | + | |
| 7 | + http://www.apache.org/licenses/LICENSE-2.0 | |
| 8 | + | |
| 9 | + Unless required by applicable law or agreed to in writing, software | |
| 10 | + distributed under the License is distributed on an "AS IS" BASIS, | |
| 11 | + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 12 | + See the License for the specific language governing permissions and | |
| 13 | + limitations under the License. | ... | ... |
KS3SDKDemo/Pods/Ks3SDK/README.md
0 → 100644
| 1 | +# KS3 SDK for iOS | |
| 2 | + | |
| 3 | +## 安装 | |
| 4 | + | |
| 5 | +通过 CocoaPods | |
| 6 | + | |
| 7 | +```ruby | |
| 8 | +pod "Ks3SDK", "~> 2.0.0" | |
| 9 | +``` | |
| 10 | + | |
| 11 | +## 使用方法 | |
| 12 | + | |
| 13 | +首先需要初始化KS3Client。可以利用AccessKeyID、AccessKeySecret初始化(由于AccessKeySecret要放在客户端,因此不安全,仅建议测试时使用),代码如下: | |
| 14 | + | |
| 15 | +```Objective-C | |
| 16 | + | |
| 17 | + [[KS3Client initialize] connectWithAccessKey:strAccessKey withSecretKey:strSecretKey]; | |
| 18 | + | |
| 19 | +``` | |
| 20 | + | |
| 21 | +第二种方式利用token进行请求,每次需要调用SDK的API时都需要使用请求一次token,然后用这个token初始化KS3Request的strKS3Token,再进行API请求(推荐使用),对应的代码如下: | |
| 22 | + | |
| 23 | +```Objective-C | |
| 24 | + | |
| 25 | + [YourAppServer sendAsynchronousRequest:tokenRequest queue:[NSOperationQueue currentQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) { | |
| 26 | + if (connectionError == nil) { | |
| 27 | + NSString *strToken = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; | |
| 28 | + ks3Request.strKS3Token = strToken; // 设置Token | |
| 29 | + [[KS3Client initialize] listBuckets:(KS3ListBucketsRequest *)listBucketRequest]; // 调用KS3 API接口 | |
| 30 | + // 剩余处理 | |
| 31 | + } | |
| 32 | + else { | |
| 33 | + // 错误处理 | |
| 34 | + } | |
| 35 | + }]; | |
| 36 | + | |
| 37 | +``` | |
| 38 | + | |
| 39 | +服务端签名计算方法参考:[API接口文档](https://docs.ksyun.com/read/latest/65/_book/index.html) | |
| 40 | + | |
| 41 | +API详细使用方法参考 [使用文档](https://github.com/ks3sdk/ks3-ios-sdk/blob/master/Docs/Usage.md) | |
| 42 | + | |
| 43 | +## 示例代码 | |
| 44 | +* 完整的demo 见 KS3SDKDemo 目录下的代码 | |
| 45 | + | |
| 46 | +## 代码许可 | |
| 47 | +Apache License, Version 2.0。详情见 [License 文件](https://github.com/ks3sdk/ks3-ios-sdk/blob/master/master/LICENSE). | ... | ... |
KS3SDKDemo/Pods/Manifest.lock
0 → 100644
KS3SDKDemo/Pods/Pods.xcodeproj/project.pbxproj
0 → 100644
| 1 | +// !$*UTF8*$! | |
| 2 | +{ | |
| 3 | + archiveVersion = 1; | |
| 4 | + classes = { | |
| 5 | + }; | |
| 6 | + objectVersion = 46; | |
| 7 | + objects = { | |
| 8 | + | |
| 9 | +/* Begin PBXBuildFile section */ | |
| 10 | + 008868B2721F7DCB6ED5C9C3FCB9AB48 /* KS3BucketACLXMLParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E2B230F4D37F9B5F161265B9F1863F7 /* KS3BucketACLXMLParser.m */; }; | |
| 11 | + 01948084A8F457F061FB904C61E04383 /* KS3ListBucketsXMLParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 00287004427A15D6DA7565F3A8349C5A /* KS3ListBucketsXMLParser.m */; }; | |
| 12 | + 051794912FED434CC1163510B7A6D676 /* KS3GetObjectACLResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 64415A03B1B28D135076F56E564E3521 /* KS3GetObjectACLResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 13 | + 05F4B66023414AD51B3FEE40714BCF4F /* KS3DeleteObjectRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 00295F843D77BC9DD7E95BBC91A2ECAB /* KS3DeleteObjectRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 14 | + 07AEBC2389175051896455B26204F5BA /* KS3CompleteMultipartUploadResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 339DD48EDBEBAE45A87E3B99CA35AB89 /* KS3CompleteMultipartUploadResult.m */; }; | |
| 15 | + 0C3967D19181AB774C5572162800C444 /* KS3CompleteMultipartUploadRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = AEED845619E1065E85AB1808033F6AD8 /* KS3CompleteMultipartUploadRequest.m */; }; | |
| 16 | + 0D22ECE4ECBB2C6423E7EAB99F7A9669 /* KS3GetObjectACLRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = AC8C95552C1C5E9491548EEB2E49CF6D /* KS3GetObjectACLRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 17 | + 0E895C2FD29006B1CACC8D01DB6CA546 /* KS3HeadBucketRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 707CCF0D13833B92FEE73B8136FCCC30 /* KS3HeadBucketRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 18 | + 103B89B3F71B8569765255AFEFC02537 /* KS3CompleteMultipartUploadResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 542AAF95AF0DD2C1F46BF827FB276303 /* KS3CompleteMultipartUploadResult.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 19 | + 11120D05D691D144464423BE51577081 /* KS3Part.m in Sources */ = {isa = PBXBuildFile; fileRef = 485738248A9631FDBA098B4A9079EE5F /* KS3Part.m */; }; | |
| 20 | + 11B693CF4E9D98F66347EF9FC6079BC1 /* KS3ListBucketsResult.m in Sources */ = {isa = PBXBuildFile; fileRef = DEBA81D6EAEF27E1A690CF02D9ACAA01 /* KS3ListBucketsResult.m */; }; | |
| 21 | + 11C3E39E8F39F4E52847D6C916A30D67 /* KS3BucketNameUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 9DF17755770A04CFED26AF90177EF022 /* KS3BucketNameUtilities.m */; }; | |
| 22 | + 153DE3EDD35451B5190821B9886D49FA /* KS3SetBucketLoggingResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = FBA9C400556C6AC7A548E483CB376026 /* KS3SetBucketLoggingResponse.m */; }; | |
| 23 | + 16466EEEFA022707C0933A524F3D8737 /* KS3ListObjectsResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 0977D0682351BF0B28C4D912B0B5F7E9 /* KS3ListObjectsResponse.m */; }; | |
| 24 | + 188D87A57EEF31E66DDA6224D467C6D8 /* KS3GrantAccessControlList.h in Headers */ = {isa = PBXBuildFile; fileRef = 351C95E9B5210C3A34F7DE45926B3C3D /* KS3GrantAccessControlList.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 25 | + 1BF1DFF4968A6E2F271522B5E8143628 /* KS3AccessControlList.m in Sources */ = {isa = PBXBuildFile; fileRef = 45E83D8FB93E7C4899F979A5C6CD5CDF /* KS3AccessControlList.m */; }; | |
| 26 | + 1F1AE82285C0AB1E89275017C861D53C /* KS3UploadManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 8773222E674FA91A1813B10C090A0DB4 /* KS3UploadManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 27 | + 2456F167BF900A7FA1DB1DA42D9C8C0A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CBB3DE36805AF21409EC968A9691732F /* Foundation.framework */; }; | |
| 28 | + 2548BB104AF4F52BAC1E3FD918F2420A /* KS3ListObjectsResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 3058D771BD76D0B6F184E484D39DF70E /* KS3ListObjectsResult.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 29 | + 26417D39932C9AB284BB286CD7C4B5A0 /* KS3SDKUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 2B8F46222934E72D700B438C1D605F35 /* KS3SDKUtil.m */; }; | |
| 30 | + 270CFB5E729B040BB8C3B38AF815D89E /* KS3ListBucketsRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = A093453D3C973CA86362A56018762E18 /* KS3ListBucketsRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 31 | + 28E5F70B2025F122F5329BDA941E0B1F /* KS3SetBucketLoggingRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = DAD2147A9F4106CD969BE5936BFFB335 /* KS3SetBucketLoggingRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 32 | + 2953496CC2B22D67BDFFC6363C6D2BD5 /* KS3SetObjectGrantACLRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 74D09221BF115067D6DC96A4EECB086B /* KS3SetObjectGrantACLRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 33 | + 2C49E0CE304DC27F183A794CCDAAECA9 /* KS3DeleteBucketRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 96DEEAC9F61E6BA0CCE9518F22C17736 /* KS3DeleteBucketRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 34 | + 2D3D19C92173BA322AB33D607911E5B9 /* KS3ListPartsResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CC90C081A79C6C117FEC89896C93E7E /* KS3ListPartsResult.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 35 | + 2E9DD306EF25908CA1124BCB14D83E88 /* KS3CompleteMultipartUploadResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B7761ADA6F116A75243AA0D8AAA3102 /* KS3CompleteMultipartUploadResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 36 | + 30AA763D3EF397551B2EA6A1F1E32A80 /* KS3UploadPartResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 8233887A30932FF0F5BD7E7E96ACC4F8 /* KS3UploadPartResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 37 | + 31AD55F6B5C6960CE74D998C224D9C6C /* KS3SDKUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = 54292A0659DF5EE135999ADD04C57E29 /* KS3SDKUtil.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 38 | + 356E5FEEAF7CC7FD4254E12A831E41F9 /* KS3SetBucketLoggingResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = D74205DA028EC7C34C6C06265BF46F6F /* KS3SetBucketLoggingResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 39 | + 35A93338A891A6E965BC9FFBEA5D25D2 /* KS3DeleteObjectRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 234B282D8871514861EE0AF095BABDCB /* KS3DeleteObjectRequest.m */; }; | |
| 40 | + 371590B0DC3F7D5BE845BCC3666B99D8 /* KS3InitiateMultipartUploadResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A0C050B5ED769338F44C4620C1CEB71 /* KS3InitiateMultipartUploadResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 41 | + 38453479795FF05B69AC99CF2C5ED8CF /* KS3SetGrantACLRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A7E2AE75FF78B200909055607835FA7 /* KS3SetGrantACLRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 42 | + 3D08B96D98B5073CD48F124860C87CFE /* KS3InitiateMultipartUploadResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 61250E7FD2917E7D7318618FEBBBAA77 /* KS3InitiateMultipartUploadResult.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 43 | + 3E4727A23BB5B909C2FD9E754CB3D147 /* KS3GetACLRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 09E2873AB05A9756074CC9BB3BD472FC /* KS3GetACLRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 44 | + 3F24120D4A65EC13254033ABCA67CB32 /* KS3Owner.h in Headers */ = {isa = PBXBuildFile; fileRef = 1115EFC72E20133ABC81DEEAA8E11D01 /* KS3Owner.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 45 | + 3FB707428B633241710AA92AADA2FEBE /* KS3Grant.m in Sources */ = {isa = PBXBuildFile; fileRef = 8808028D324FD3153F27C4889282B0D8 /* KS3Grant.m */; }; | |
| 46 | + 433FD702832D6AB60A8AE996DFC18953 /* KS3UploadPartRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 76FAB5EEAF325B51B13B562249C466CA /* KS3UploadPartRequest.m */; }; | |
| 47 | + 43A947FEF60F6DBF945378B12A0B846B /* KS3ErrorHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = AEA566B3488C468C24B73B3B291FEED3 /* KS3ErrorHandler.m */; }; | |
| 48 | + 43D5E360B5E35E618E956AE81021BA4D /* KS3HeadBucketResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = C72BD2304D746A3D2F5932A55C2A547C /* KS3HeadBucketResponse.m */; }; | |
| 49 | + 44223920689569EE8E1D57F067F78CE1 /* KS3CompleteMultipartUploadRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = E7F2045FA41767555C205538C73B8368 /* KS3CompleteMultipartUploadRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 50 | + 451F69AD4B810140901BBFB2EA5E21BE /* KS3CompleteMultipartUploadResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 54FDB2CCE959195E52AE7D09B58BFB53 /* KS3CompleteMultipartUploadResponse.m */; }; | |
| 51 | + 462141CAF4C85CEBCBFEE97A8B0ECA3D /* KS3ListPartsResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 6592191393193A4B15033D8F88CB8C2E /* KS3ListPartsResponse.m */; }; | |
| 52 | + 465A067849770365903B8DE5B9183A9E /* KS3MultipartUpload.m in Sources */ = {isa = PBXBuildFile; fileRef = 4FE40DEE975EC9B8F5D5B6AB9ABD6C1A /* KS3MultipartUpload.m */; }; | |
| 53 | + 46E592F5CBFA4BE0264328314F345FFA /* KS3CreateBucketResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 59B243FFE0CCB104C821B80BCEB6D27B /* KS3CreateBucketResponse.m */; }; | |
| 54 | + 47A1B194E4E18AD0F1D5EAAF30EBDE63 /* KS3ServiceResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 2F24D60B09D175A5FE5867D7A4EA7348 /* KS3ServiceResponse.m */; }; | |
| 55 | + 49567FCFE3B56F9D4518D176A7376970 /* KS3UploadRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 629C5CAEB0A9C75C840A528924375652 /* KS3UploadRequest.m */; }; | |
| 56 | + 498FC8D3E4CCB9EFA75310A92BC0EF47 /* KS3ListObjectsXMLPrarser.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A1FA245D8885C7C99EFF823320F789D /* KS3ListObjectsXMLPrarser.m */; }; | |
| 57 | + 4A3ACC77D3C8CDC06CDFFECC7E673F5C /* KS3InitiateMultipartUploadResult.m in Sources */ = {isa = PBXBuildFile; fileRef = C3E5644AB833D45595984EBC6F10193D /* KS3InitiateMultipartUploadResult.m */; }; | |
| 58 | + 4B9E921706C47D7D82835645B144F79F /* KS3GetObjectRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 1867F5F806278E892F6EA26144A3246B /* KS3GetObjectRequest.m */; }; | |
| 59 | + 4FCBEA2543FE53BFA1E22193C8EFD9D4 /* KS3PutObjectCopyResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = C97A99A9950F068090AF8CB39E2EA215 /* KS3PutObjectCopyResponse.m */; }; | |
| 60 | + 50892CCCAED4409239D1DD86BAB6B409 /* KS3Owner.m in Sources */ = {isa = PBXBuildFile; fileRef = 273BE8FAD908E5970FF2A827A862E08B /* KS3Owner.m */; }; | |
| 61 | + 515585CB92C12CAA99FAAB3776E5155C /* KS3ListPartsRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = B96479C67EF97D9ACC28889965607759 /* KS3ListPartsRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 62 | + 51C2BB487FE09097F9993EEC2F87B49F /* KS3DeleteObjectResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 76D8C2BBF84A2BBF0580CF0DFB99B186 /* KS3DeleteObjectResponse.m */; }; | |
| 63 | + 525797A3745DEBC2B675BC762A27E458 /* KS3PutObjectCopyResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 9EB2EAB425C265479580AC4444F4851E /* KS3PutObjectCopyResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 64 | + 5679A2BBFC0446829FBD03E447857E78 /* KS3InitiateMultipartUploadXMLParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 80CCC2E8A8057A24DC291F47BF9FAE0A /* KS3InitiateMultipartUploadXMLParser.m */; }; | |
| 65 | + 56AF8DA79381D7E7C84670C8CC23DBA3 /* KS3Client.h in Headers */ = {isa = PBXBuildFile; fileRef = F9DAC33982A721A6E552050849069E43 /* KS3Client.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 66 | + 5A47100F9AA70EC4DECD951136ACAB87 /* KS3DownLoad.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F3C1E0EC8FC9E1969C04941E8522905 /* KS3DownLoad.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 67 | + 5C136AC28C6066B49BF78EF30861D62C /* KS3ObjectSummary.h in Headers */ = {isa = PBXBuildFile; fileRef = 0DF8A004C752608C3E8128C2C9D917A3 /* KS3ObjectSummary.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 68 | + 5C782CD78F5BE7988749B27D879C34E2 /* KS3ListPartsResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = B16C8B97FA01C5066E22A3EE4F58E829 /* KS3ListPartsResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 69 | + 6040B04A329CB40C7CC580140EB9FC6E /* KS3SetObjectACLResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = C5801DC0391BFD12B6F11800960BB93D /* KS3SetObjectACLResponse.m */; }; | |
| 70 | + 6063D98285C27F4E2AD9263BDCB19634 /* KS3GetACLResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = EB08EB9471E2DF0F7660DEF8C9F9A5C8 /* KS3GetACLResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 71 | + 613248DC8129F0B8AA558A1E609CEF7E /* KS3ListBucketsResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A71A824849284998716A12F60D91893 /* KS3ListBucketsResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 72 | + 617A42231C903E2B332D7B7633B3C590 /* KS3SetGrantACLResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = E5DCC6DF4B43135E32980CBC6AB111DC /* KS3SetGrantACLResponse.m */; }; | |
| 73 | + 61EADC4B17584325F98459D311420E73 /* KS3AccessControlList.h in Headers */ = {isa = PBXBuildFile; fileRef = E4F72772BF85572BC9FE0BBA2F6BD120 /* KS3AccessControlList.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 74 | + 620A654738585101C7C381DDBBF7350D /* KS3GetACLRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 58A13081230750338D08FB45DC93CE89 /* KS3GetACLRequest.m */; }; | |
| 75 | + 66E05417F3A6FE348A245BE937978EBB /* KS3ObjectSummary.m in Sources */ = {isa = PBXBuildFile; fileRef = FFCA8E5B9B88BEC11825277F8C75FB7B /* KS3ObjectSummary.m */; }; | |
| 76 | + 67112CD60D5A0DF9ACC6362F78EF8842 /* KS3URLRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = B5E8E77D7FD08F866E3CEA5E7B00E1B9 /* KS3URLRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 77 | + 673DCE267712A522F66049908DD8D396 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CBB3DE36805AF21409EC968A9691732F /* Foundation.framework */; }; | |
| 78 | + 6D8AF4D84C301DC077DD9601605C5A08 /* KS3ListBucketsRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = EF0280A7CEEE7C30913D583B01A8D425 /* KS3ListBucketsRequest.m */; }; | |
| 79 | + 6E520229A7D475B3350F548E568EFD5C /* KS3ListObjectsResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 8094F5D8A1535493B770D6FCED7B95BD /* KS3ListObjectsResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 80 | + 6E92E14B09638CCE79650F5A3B627D4F /* KS3Response.m in Sources */ = {isa = PBXBuildFile; fileRef = EB7913C5BC1BC9E4F99FBD572C86B037 /* KS3Response.m */; }; | |
| 81 | + 6F74EDC9C921BF0EAC162701A38BE66C /* KS3GetObjectRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AB06D81E6FBC1A461D417713ABEA86D /* KS3GetObjectRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 82 | + 7073EFF2BF6475F4FEDCEFE0118EA2DE /* KS3Upload.m in Sources */ = {isa = PBXBuildFile; fileRef = F6E8E720063F2E7543ED9B22A56B5CF3 /* KS3Upload.m */; }; | |
| 83 | + 7074DB63067F9D6C657D7D946F33105F /* KS3ServiceResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 011FE3858F6FACB9C85D985FF62F24A1 /* KS3ServiceResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 84 | + 715B37EE4CF81A0A00ECF8F92948A23D /* KS3UploadPartResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A639F773BB0039F8A95DDFFC8756374 /* KS3UploadPartResponse.m */; }; | |
| 85 | + 72CD5D1D26A8AC427E58E7515017CF45 /* KS3GetBucketLoggingResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = E8C96C5EDE45F128555DFDFA6993AEA2 /* KS3GetBucketLoggingResponse.m */; }; | |
| 86 | + 73B4002909669BC54B57587F553BC0C4 /* KS3UploadManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F9F7DB8941940A32A6C254CDDD038DB /* KS3UploadManager.m */; }; | |
| 87 | + 73E168F9B0C38910F7A022166034145B /* KS3AbortMultipartUploadRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = DED26E39303371C2ECF4F8B676C524AF /* KS3AbortMultipartUploadRequest.m */; }; | |
| 88 | + 753F593C42A711A80330B700869305F9 /* KS3ObjectACLXMLParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 488E7972F0E14B2A8A18F5BA53B8057D /* KS3ObjectACLXMLParser.m */; }; | |
| 89 | + 774D3FEC8BE7A1AC1D712F7053D4D0C0 /* KS3ClientException.m in Sources */ = {isa = PBXBuildFile; fileRef = 3001A5B02820A7685EBB5E772B44F6B5 /* KS3ClientException.m */; }; | |
| 90 | + 7794D5A8BCF03913691E5E10B9F91065 /* KS3GrantAccessControlList.m in Sources */ = {isa = PBXBuildFile; fileRef = 81384540B73C340C0884E7A0FE88A1C1 /* KS3GrantAccessControlList.m */; }; | |
| 91 | + 788B9161E18ABEF211BFA25C922603C0 /* KS3HeadObjectResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = C7AA6C3C38545F5C337E0B529E4E33E5 /* KS3HeadObjectResponse.m */; }; | |
| 92 | + 7B3CC1862BDA191A304EB27D90AED795 /* KS3AbortMultipartUploadResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = F0DF090507CC6403A409EC77D60A4116 /* KS3AbortMultipartUploadResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 93 | + 7B3E497E577F149784683971D5C7C0F6 /* KS3ServiceRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 096AE6267B0879DD5DA6EF833BDE1BEC /* KS3ServiceRequest.m */; }; | |
| 94 | + 7DB204122DBAC1C4F5EFD0087AC5CD3E /* KS3ServiceRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = EF4CCAA5E766727CF93F180382B97900 /* KS3ServiceRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 95 | + 7F0B11A5EBFA26251F0713C9B3F63DEE /* KS3BucketNameUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = F1CDEF207D2C172601BC300EBC1BF692 /* KS3BucketNameUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 96 | + 7F35A988BE2995B8699907C7E5ED9C43 /* KS3WebServiceClient.h in Headers */ = {isa = PBXBuildFile; fileRef = DC506D7CD3F3692CB65424E69B32EF4D /* KS3WebServiceClient.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 97 | + 80DD22A549B117BB1385F4FB70847833 /* KS3UploadRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = DD45A0B978555EC844787A8BF56573E1 /* KS3UploadRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 98 | + 82AEA10E1B48219980FCC31C3F59A87D /* KS3CreateBucketResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = A4892EA63288E75FB50EE6E79EC8B7C6 /* KS3CreateBucketResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 99 | + 84287D054B0EBDB1B76489CA93EE43EE /* KS3Constants.h in Headers */ = {isa = PBXBuildFile; fileRef = EC2430A8615E0C462BE9AAF471508197 /* KS3Constants.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 100 | + 842E776BE5BA1869392898D925E8DA89 /* KS3Part.h in Headers */ = {isa = PBXBuildFile; fileRef = F93D732423383CCA96DEECF5399C70C6 /* KS3Part.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 101 | + 8567C6C4023BB8062023DD3E823D80C3 /* KS3InitiateMultipartUploadRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 208737CFD301A664D9D6BEC6D5487C33 /* KS3InitiateMultipartUploadRequest.m */; }; | |
| 102 | + 889890C800E78F48185704BE547BF97A /* KS3BucketACLResult.h in Headers */ = {isa = PBXBuildFile; fileRef = D1CF5F7D9C93E9A171AE3E16DDE65FA8 /* KS3BucketACLResult.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 103 | + 88DD7817C6D3AD58721F3DF0EACDF543 /* KS3ObjectACLXMLParser.h in Headers */ = {isa = PBXBuildFile; fileRef = BFEA23F27B1D8D09CB4E727CBB8A76C1 /* KS3ObjectACLXMLParser.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 104 | + 88F08741E2AE04B9BFCABEED01E18D81 /* KS3InitiateMultipartUploadResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = B14750543CB775DD34AC8669452EB139 /* KS3InitiateMultipartUploadResponse.m */; }; | |
| 105 | + 8BBF5086DE6CADE807024EE54B0F583F /* Ks3SDK-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FB9C8ACF8FBE2A1686CF4FCDF9D6AD79 /* Ks3SDK-dummy.m */; }; | |
| 106 | + 8DE376022641B9B126E8EA58E49C4E74 /* KS3SetObjectGrantACLResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BE3F36547E1961EDE22A046ADC6D601 /* KS3SetObjectGrantACLResponse.m */; }; | |
| 107 | + 8FAAF80865D4BA210419B7E505819BD2 /* KS3YunSDK.h in Headers */ = {isa = PBXBuildFile; fileRef = 228C9BA667D373C4343270F2EAA6ADD2 /* KS3YunSDK.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 108 | + 90193C1B5638C7EA17788C0276EF2231 /* KS3AbstractWebServiceClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 12E8B7B3A7CA2AC807B54BF1303E7EB4 /* KS3AbstractWebServiceClient.m */; }; | |
| 109 | + 91F62307F36302ED82620E196A917620 /* KS3SetACLRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = C4A88D5CB925881D1D3AF42799EA301F /* KS3SetACLRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 110 | + 9297BBB0588A74307CDBD52168F063D0 /* KS3BucketObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E88BA8F8EA1FE41441E85A21A90F20E4 /* KS3BucketObject.m */; }; | |
| 111 | + 954DBB07B05D8D19316AF857F64F3AF8 /* KS3SetACLResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 25D30D104C8605AB1481622C4E9B9126 /* KS3SetACLResponse.m */; }; | |
| 112 | + 9637D4DAC258AD6EA19706CFFE49E7FB /* KS3SetObjectACLRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = CBE33D863691AD21ED59B4DADFF2FB06 /* KS3SetObjectACLRequest.m */; }; | |
| 113 | + 9650FE35F96A003F8597AE5DB6DB4741 /* KS3ListPartsResultXMLParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 308A4CECA35C0D636D9EC1A6ECA22ACF /* KS3ListPartsResultXMLParser.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 114 | + 98C36BECAD5FD7E58F75D1881C0096D8 /* KS3ListObjectsRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = E639654AB212218A87CE5F1EA120C847 /* KS3ListObjectsRequest.m */; }; | |
| 115 | + 98EBC53528694DCD2122AB12715EBC23 /* KS3DownLoad.m in Sources */ = {isa = PBXBuildFile; fileRef = 001B1D2DBEFE7A70B8B15B922E93E5C6 /* KS3DownLoad.m */; }; | |
| 116 | + 98F03E6795EC0C2D68F8CBCE6B42768E /* KS3AuthUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 282086C1438794BEE1F55F310424FA2B /* KS3AuthUtils.m */; }; | |
| 117 | + 9C215CC1678AE68429EEAEBB6BC290FE /* KS3MD5Util.h in Headers */ = {isa = PBXBuildFile; fileRef = DB5CC77C8CA15816B141C2EE4835FE43 /* KS3MD5Util.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 118 | + 9CA9E9FB0406C4A4C2840BE3AF5DC19A /* KS3AbortMultipartUploadRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = E59CC657635E1112400395FF2E9FE697 /* KS3AbortMultipartUploadRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 119 | + 9D0E4311159EF634610B2E7605EF4F51 /* KS3BucketACLXMLParser.h in Headers */ = {isa = PBXBuildFile; fileRef = E5EB025F2764D28A5C05E299BB72960D /* KS3BucketACLXMLParser.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 120 | + 9D8A97856C2C732C5D0ECE667B948D1F /* KS3DeleteObjectResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F4B3E93472652A92DB31408B1363BD6 /* KS3DeleteObjectResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 121 | + 9DC0579C46A085FBDCC77D03269E7101 /* KS3HeadBucketRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = E3C23A55E5FF7CC65C39CEF3ECBDDD92 /* KS3HeadBucketRequest.m */; }; | |
| 122 | + 9DE1DFBFB809D2288D65DC6A5A07F3A4 /* KS3SetGrantACLResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 9206C6E5BB5914FF82C632D5BB591D31 /* KS3SetGrantACLResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 123 | + 9EA1D41D1EE183BBC8584BC74C65AA24 /* KS3BucketACLResult.m in Sources */ = {isa = PBXBuildFile; fileRef = D5E8C91BEFEF19161A2BEC4503716AE7 /* KS3BucketACLResult.m */; }; | |
| 124 | + A38B87ED1BA9451BFEDF7D952C7A115C /* KS3Request.m in Sources */ = {isa = PBXBuildFile; fileRef = 6AD42B0908C144DBD5227511A64BEBE3 /* KS3Request.m */; }; | |
| 125 | + A3E44C336DC5AC532CC144E94852DA02 /* KS3ListObjectsRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = C6508BF7534F209B80318C7DA04B3675 /* KS3ListObjectsRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 126 | + A42623D29FF9B9A4C634151C89B8E6BD /* KS3Bucket.h in Headers */ = {isa = PBXBuildFile; fileRef = D97E4668B99B9593C1C0C45C56CA87FD /* KS3Bucket.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 127 | + A42B9451DEFC3A5A861686454B8D9600 /* KS3ResponseHeaderOverrides.h in Headers */ = {isa = PBXBuildFile; fileRef = 97428595C5980A6F9978FED2FCD6B430 /* KS3ResponseHeaderOverrides.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 128 | + A5FB2BDD5E3CF2D2D2BFD3E046FD753E /* KS3ListBucketsResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = E51FA29EDE85EA69C734616CE1F16BE2 /* KS3ListBucketsResponse.m */; }; | |
| 129 | + A6934AB9346C2F7496B45F321241BAD0 /* KS3ClientException.h in Headers */ = {isa = PBXBuildFile; fileRef = A55E7D7FA446B40AA3A201A6789607F3 /* KS3ClientException.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 130 | + A6F93C105E04D6A011EADF9E252FA6B9 /* KS3DeleteBucketResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 1CD1220AAF43B22E2F36DCCE7C8D06AF /* KS3DeleteBucketResponse.m */; }; | |
| 131 | + AA4F19EE0FA0C0FD3E802EC2230ADD9F /* KS3Client.m in Sources */ = {isa = PBXBuildFile; fileRef = 8AD28770169211A9589268076ED6F410 /* KS3Client.m */; }; | |
| 132 | + AAD160A6B3BB4B44F6B394D155F1DC8C /* KS3Upload.h in Headers */ = {isa = PBXBuildFile; fileRef = F4FE62AACA9BCEC16E1475B0058F874F /* KS3Upload.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 133 | + AB88E1698414D43B08491DA9052454DA /* KS3AbstractPutRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = A200159BD7D0F9529B8BFE8288BB1F06 /* KS3AbstractPutRequest.m */; }; | |
| 134 | + AB9486F88F4D73E9B42250BFCB092564 /* KS3WebServiceClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C57D79CFD49A2C2220674C003717F7C /* KS3WebServiceClient.m */; }; | |
| 135 | + B147D64BB1DDBD2094A9D1D1ADB0CC37 /* KS3GetObjectResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = BC3924F0529B5EFB93F561BE0E133094 /* KS3GetObjectResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 136 | + BAA8AA5CB9F364714ACB4F0C1674CB3F /* KS3ListObjectsXMLPrarser.h in Headers */ = {isa = PBXBuildFile; fileRef = 97C738107C3BEAC34EA8B070CDA84DB4 /* KS3ListObjectsXMLPrarser.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 137 | + BC2E64990B2FECC3455769E8DF3FDB1F /* KS3ErrorHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = EE88C6EB6CA6FB6C296344FBB7149BD6 /* KS3ErrorHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 138 | + BC8BE45CD5F9F09D3996572B8536E400 /* KS3HeadObjectResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 6663980868812A737ED7A3505A6CA091 /* KS3HeadObjectResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 139 | + BE45EA1D439876DEFD995FB48972504D /* KS3ListPartsResultXMLParser.m in Sources */ = {isa = PBXBuildFile; fileRef = D2A115B9053364E4BC684AA2DFC6A269 /* KS3ListPartsResultXMLParser.m */; }; | |
| 140 | + BEF26098721DD3795D15AB1096EF8237 /* KS3PutObjectResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = B260A074E1F79E4E00697D5D7099D065 /* KS3PutObjectResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 141 | + BF1A161AB898532070069A10C2AEE03F /* KS3PutObjectResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = C6E8195E5B341D6D2EA073D318C194D5 /* KS3PutObjectResponse.m */; }; | |
| 142 | + C10D1F76EE3678B27F26C4A93191EDE0 /* KS3GetObjectACLRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = E2E9E5E161D78BE99B19680E4013219D /* KS3GetObjectACLRequest.m */; }; | |
| 143 | + C21E5F0536C3BD3E56623BA2E1317F2B /* KS3PutObjectRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 79A0D8CB8CCE5C0281B8175818258B93 /* KS3PutObjectRequest.m */; }; | |
| 144 | + C2FDEB0655A0AEC863ED6959F47BEAE6 /* KS3AbstractPutRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 92C4F771692181031616FB00E9EB6854 /* KS3AbstractPutRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 145 | + C3B5B602A635A6511EF7AF394282D5D0 /* KS3GetACLResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E3DA17B8B365B043AD2E6B158E20077 /* KS3GetACLResponse.m */; }; | |
| 146 | + C4068E0D521CD8B564D737CF7F74255D /* KS3PutObjectCopyRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 24BAE1C3DA88A0BED5B4BFAA42DF2513 /* KS3PutObjectCopyRequest.m */; }; | |
| 147 | + C4107BA18D4B14D3E5DBD8D40FDBA1D6 /* KS3MultipartUpload.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A304F6A51B577A2F0F8B554F29FE60C /* KS3MultipartUpload.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 148 | + C6AA5F333B261D880C71DBF1C42FF50F /* KS3ListPartsRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 20E6C7FEB7C10DE8BE35D4318B5A4998 /* KS3ListPartsRequest.m */; }; | |
| 149 | + C798C0DB0DFC0A36813A60D9BA3B666E /* KS3URLRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = ECD5236E6BFDA5882253BA0DF69F02BB /* KS3URLRequest.m */; }; | |
| 150 | + C7AE888AA3184581924F3B72C214FDD1 /* KS3CreateBucketRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = BE7FB9C306612DCFBB73BCC46D7D9011 /* KS3CreateBucketRequest.m */; }; | |
| 151 | + CB229801C3F6D94D58ABA208BAD64805 /* KS3SetObjectGrantACLRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = FCC8C08A6805AE4B4DCACB7E342731CB /* KS3SetObjectGrantACLRequest.m */; }; | |
| 152 | + CB4F4B196F5F76F11024D8BAB6AB2669 /* KS3HeadObjectRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = F56F2D9D2EEFD841A95479FECD194F53 /* KS3HeadObjectRequest.m */; }; | |
| 153 | + CB8433B15B18E425C89F4B5BDC095C3D /* KS3HeadBucketResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 238D3B7F2746ED8643D0E29958CCBFA7 /* KS3HeadBucketResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 154 | + CC4CF53DDBA39A7E1E06C64CBDE08BFB /* KS3SetACLRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = C6C33D99E17307AFDDA38AB4CDA255EB /* KS3SetACLRequest.m */; }; | |
| 155 | + CCF340E86745A61BECC5157C8ADDF70B /* KS3BucketObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E301A6C98B84E2536A81154F4F60F66 /* KS3BucketObject.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 156 | + CD7836BF6918DF077135A18595CFBCE5 /* KS3SetACLResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 42959F4CD9E0F8B0C072B4AED711B2AF /* KS3SetACLResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 157 | + CED769315EFFB38F6C3B9B2D5841B3D7 /* KS3Response.h in Headers */ = {isa = PBXBuildFile; fileRef = 32C0A4C28045F768C0079C7547744699 /* KS3Response.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 158 | + CF5DD58C00ED09E5CE3E482CA327A957 /* KS3DeleteBucketResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = E27E3DA2241BCF91D5FCA4C4025B570E /* KS3DeleteBucketResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 159 | + CF9F57F1662BD9D99FCDB4767D9E1DE8 /* KS3MD5Util.m in Sources */ = {isa = PBXBuildFile; fileRef = F36E9E85B0612FBA7A1C948F33776465 /* KS3MD5Util.m */; }; | |
| 160 | + D2E92BAB1A28EB8EF69AD2FFF409A49D /* KS3GetBucketLoggingResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = B67D0243FB6075327C97D4E75C14108E /* KS3GetBucketLoggingResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 161 | + D3FE143C6DD1849BED7902EB5E2C031F /* KS3ListBucketsXMLParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 838489FE9792086888A6A1C8F1F63A85 /* KS3ListBucketsXMLParser.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 162 | + D44350AB0B0B3EF8089E4551C158392D /* KS3Request.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D33D75A48DF90EAA04360F99462CC33 /* KS3Request.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 163 | + D47CF3247FF5D5138E799494199B4B50 /* KS3ListPartsResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 33966032BFE4600761F020B2202345C3 /* KS3ListPartsResult.m */; }; | |
| 164 | + D61489CF1341C38EA8290B0337C86972 /* KS3Credentials.m in Sources */ = {isa = PBXBuildFile; fileRef = 8639900AF2A65D916E46748F8EB19E17 /* KS3Credentials.m */; }; | |
| 165 | + D77F4F55A51276CBC21DBC5E5B0DDB10 /* KS3InitiateMultipartUploadRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 6550D70A7FAFEA03B3A65F41C65762A7 /* KS3InitiateMultipartUploadRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 166 | + D9F6953278DF3B045F3C01A942FE31B0 /* KS3ListBucketsResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D8A88B3F5CEDF8D236F38293695C8EB /* KS3ListBucketsResult.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 167 | + DA111D0713EFE0B97CDD9F70C7AEB8F1 /* KS3AuthUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CE003D5A6D84AD6E27933D2F948F94D /* KS3AuthUtils.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 168 | + DA5507CE4C62C933DC86FEDC9EAA89FE /* KS3Bucket.m in Sources */ = {isa = PBXBuildFile; fileRef = FEBCCE486962D9AD68E35DF2E70D14AC /* KS3Bucket.m */; }; | |
| 169 | + DCD055F9FEB654A3CB3C520CB5A8DF02 /* KS3PutObjectCopyRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 22204647482FE20AD51C027C57E74432 /* KS3PutObjectCopyRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 170 | + DDD421463474E95EF6ADCA4A8E22AFC9 /* KS3InitiateMultipartUploadXMLParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 32EE86D89F6186D65FE51495C7C9188A /* KS3InitiateMultipartUploadXMLParser.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 171 | + DE764F20C0EC415684FD49906918BB7E /* KS3GetBucketLoggingRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C0427F35CE175CC9B9D05B1B275FC23 /* KS3GetBucketLoggingRequest.m */; }; | |
| 172 | + DFED20C1500C1EB14FDE3362188038B5 /* KS3SetBucketLoggingRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = EFE59DFD419735F99781B9C5F727BF60 /* KS3SetBucketLoggingRequest.m */; }; | |
| 173 | + E1F6C2A9615B41CD846CDBAF15BB4CE4 /* KS3SetGrantACLRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = AA8BDE878494543FCBBA13BBFD9935D0 /* KS3SetGrantACLRequest.m */; }; | |
| 174 | + E27005195A8058B5B8A780033D386978 /* KS3Grant.h in Headers */ = {isa = PBXBuildFile; fileRef = ED39DD3153F95A50F4497A86604752EB /* KS3Grant.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 175 | + E4E63EAC6F131378947230E8FDC4AFFD /* KS3SetObjectGrantACLResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = E41ED692AF01F994E6FD365A6ACBC4B2 /* KS3SetObjectGrantACLResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 176 | + E64D73D9A51E4A70187656F0651571DE /* KS3ListObjectsResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 72B4B4301A2F052EAE8F80B0F2FF09FE /* KS3ListObjectsResult.m */; }; | |
| 177 | + E849BE4B5C26D0DC0672B2F293EE94D1 /* KS3DeleteBucketRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 9625D87253845B536CD1BE3EB6EE375E /* KS3DeleteBucketRequest.m */; }; | |
| 178 | + E9136460EE5ECC4C873B5197450268F0 /* KS3GetObjectResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 9643394B0D7F15C6C156A35E532DCDF7 /* KS3GetObjectResponse.m */; }; | |
| 179 | + E9A8DB60A072FA3106164A4004F4148D /* KS3SetObjectACLResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 379A67B432D836127B4FB23CA7D727CB /* KS3SetObjectACLResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 180 | + EC2A8D5A6FBF71E72BD76D68E8B42188 /* KS3ResponseHeaderOverrides.m in Sources */ = {isa = PBXBuildFile; fileRef = 71D62A4A5FF6A134A03A051619CC75BC /* KS3ResponseHeaderOverrides.m */; }; | |
| 181 | + EDFA69FDEFA347336F0D80F4E9EF7E9B /* KS3Credentials.h in Headers */ = {isa = PBXBuildFile; fileRef = CB5931A6BD1BCE65A51BD0F10D67EE60 /* KS3Credentials.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 182 | + EEB806BB5BE40F2BCD348B069BF3D1A0 /* KS3AbortMultipartUploadResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BF3C098D1571A79186B80E5E75E9FE6 /* KS3AbortMultipartUploadResponse.m */; }; | |
| 183 | + F0CECE49BF62E2E3321C7368FFEE59F9 /* KS3HeadObjectRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = A73ED96D9DBD2DD9F7CF5B696A882FB8 /* KS3HeadObjectRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 184 | + F105A03D3B60B3EBC164B81698AAF736 /* KS3SetObjectACLRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = AE41E3E5C5EE57CA16D4A9A3D1A91A40 /* KS3SetObjectACLRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 185 | + F12C35924E2F8C3E0B4C69E9ACC552FF /* Pods-KS3SDKDemo-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 97863A099DD4C34098C3A880F3445FAA /* Pods-KS3SDKDemo-dummy.m */; }; | |
| 186 | + F1923ED2CE802CC21CAE26FC501DE6FA /* KS3GetObjectACLResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = B428A7EB6E1F3E420D576DA5EE4E7F8D /* KS3GetObjectACLResponse.m */; }; | |
| 187 | + F37F0F96B3B4925CB39138677D232EF7 /* KS3AbstractWebServiceClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 21EFEB74E1D7F9BABDA52A28A3E82612 /* KS3AbstractWebServiceClient.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 188 | + F41F5ED15CA0DC06838D616855A8017E /* KS3PutObjectRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 14861D0764D5D600368CDF8AB883FA55 /* KS3PutObjectRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 189 | + F59BC2C585A612163D17987A125233E3 /* KS3CreateBucketRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = F4584580A754F2C8583C8B6828E05DDD /* KS3CreateBucketRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 190 | + F95A3C41F6116C05004FA85DB32E976A /* KS3GetBucketLoggingRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 190430CCBC2E1C742E36AF6CEF07C27D /* KS3GetBucketLoggingRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 191 | + FA479763A64A4148A3AE7BE031235B66 /* KS3UploadPartRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 094DDCB0BE44C03DB592CEB34C500BB3 /* KS3UploadPartRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
| 192 | +/* End PBXBuildFile section */ | |
| 193 | + | |
| 194 | +/* Begin PBXContainerItemProxy section */ | |
| 195 | + 981513A7FAA0CA66689E535B8DEF7744 /* PBXContainerItemProxy */ = { | |
| 196 | + isa = PBXContainerItemProxy; | |
| 197 | + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; | |
| 198 | + proxyType = 1; | |
| 199 | + remoteGlobalIDString = 95FC2A6E6601C839D6B4BD4B31ACA4FD; | |
| 200 | + remoteInfo = Ks3SDK; | |
| 201 | + }; | |
| 202 | +/* End PBXContainerItemProxy section */ | |
| 203 | + | |
| 204 | +/* Begin PBXFileReference section */ | |
| 205 | + 001B1D2DBEFE7A70B8B15B922E93E5C6 /* KS3DownLoad.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3DownLoad.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3DownLoad.m; sourceTree = "<group>"; }; | |
| 206 | + 00287004427A15D6DA7565F3A8349C5A /* KS3ListBucketsXMLParser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3ListBucketsXMLParser.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Service/KS3ListBucketsXMLParser.m; sourceTree = "<group>"; }; | |
| 207 | + 00295F843D77BC9DD7E95BBC91A2ECAB /* KS3DeleteObjectRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3DeleteObjectRequest.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3DeleteObjectRequest.h; sourceTree = "<group>"; }; | |
| 208 | + 011FE3858F6FACB9C85D985FF62F24A1 /* KS3ServiceResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3ServiceResponse.h; path = KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3ServiceResponse.h; sourceTree = "<group>"; }; | |
| 209 | + 0258B8D9FBCB6E96A18FDC8067CF357B /* Pods-KS3SDKDemo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-KS3SDKDemo.release.xcconfig"; sourceTree = "<group>"; }; | |
| 210 | + 04F83304A2E06513F5C18456980389F9 /* Pods-KS3SDKDemo-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-KS3SDKDemo-acknowledgements.markdown"; sourceTree = "<group>"; }; | |
| 211 | + 094DDCB0BE44C03DB592CEB34C500BB3 /* KS3UploadPartRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3UploadPartRequest.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3UploadPartRequest.h; sourceTree = "<group>"; }; | |
| 212 | + 096AE6267B0879DD5DA6EF833BDE1BEC /* KS3ServiceRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3ServiceRequest.m; path = KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3ServiceRequest.m; sourceTree = "<group>"; }; | |
| 213 | + 0977D0682351BF0B28C4D912B0B5F7E9 /* KS3ListObjectsResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3ListObjectsResponse.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3ListObjectsResponse.m; sourceTree = "<group>"; }; | |
| 214 | + 09E2873AB05A9756074CC9BB3BD472FC /* KS3GetACLRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3GetACLRequest.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3GetACLRequest.h; sourceTree = "<group>"; }; | |
| 215 | + 0DF8A004C752608C3E8128C2C9D917A3 /* KS3ObjectSummary.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3ObjectSummary.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3ObjectSummary.h; sourceTree = "<group>"; }; | |
| 216 | + 1115EFC72E20133ABC81DEEAA8E11D01 /* KS3Owner.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3Owner.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/KS3Owner.h; sourceTree = "<group>"; }; | |
| 217 | + 12E8B7B3A7CA2AC807B54BF1303E7EB4 /* KS3AbstractWebServiceClient.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3AbstractWebServiceClient.m; path = KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3AbstractWebServiceClient.m; sourceTree = "<group>"; }; | |
| 218 | + 14861D0764D5D600368CDF8AB883FA55 /* KS3PutObjectRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3PutObjectRequest.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3PutObjectRequest.h; sourceTree = "<group>"; }; | |
| 219 | + 17EAAB93804A7C2449822A5CA439796B /* Pods-KS3SDKDemo-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-KS3SDKDemo-resources.sh"; sourceTree = "<group>"; }; | |
| 220 | + 17F446E233CDDD1A1077F3D053F8F942 /* libKs3SDK.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libKs3SDK.a; path = libKs3SDK.a; sourceTree = BUILT_PRODUCTS_DIR; }; | |
| 221 | + 1867F5F806278E892F6EA26144A3246B /* KS3GetObjectRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3GetObjectRequest.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3GetObjectRequest.m; sourceTree = "<group>"; }; | |
| 222 | + 190430CCBC2E1C742E36AF6CEF07C27D /* KS3GetBucketLoggingRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3GetBucketLoggingRequest.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3GetBucketLoggingRequest.h; sourceTree = "<group>"; }; | |
| 223 | + 1A304F6A51B577A2F0F8B554F29FE60C /* KS3MultipartUpload.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3MultipartUpload.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3MultipartUpload.h; sourceTree = "<group>"; }; | |
| 224 | + 1A71A824849284998716A12F60D91893 /* KS3ListBucketsResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3ListBucketsResponse.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Service/KS3ListBucketsResponse.h; sourceTree = "<group>"; }; | |
| 225 | + 1A7E2AE75FF78B200909055607835FA7 /* KS3SetGrantACLRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3SetGrantACLRequest.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3SetGrantACLRequest.h; sourceTree = "<group>"; }; | |
| 226 | + 1CD1220AAF43B22E2F36DCCE7C8D06AF /* KS3DeleteBucketResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3DeleteBucketResponse.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3DeleteBucketResponse.m; sourceTree = "<group>"; }; | |
| 227 | + 1F4B3E93472652A92DB31408B1363BD6 /* KS3DeleteObjectResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3DeleteObjectResponse.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3DeleteObjectResponse.h; sourceTree = "<group>"; }; | |
| 228 | + 208737CFD301A664D9D6BEC6D5487C33 /* KS3InitiateMultipartUploadRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3InitiateMultipartUploadRequest.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3InitiateMultipartUploadRequest.m; sourceTree = "<group>"; }; | |
| 229 | + 20E6C7FEB7C10DE8BE35D4318B5A4998 /* KS3ListPartsRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3ListPartsRequest.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3ListPartsRequest.m; sourceTree = "<group>"; }; | |
| 230 | + 21EFEB74E1D7F9BABDA52A28A3E82612 /* KS3AbstractWebServiceClient.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3AbstractWebServiceClient.h; path = KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3AbstractWebServiceClient.h; sourceTree = "<group>"; }; | |
| 231 | + 22204647482FE20AD51C027C57E74432 /* KS3PutObjectCopyRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3PutObjectCopyRequest.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3PutObjectCopyRequest.h; sourceTree = "<group>"; }; | |
| 232 | + 228C9BA667D373C4343270F2EAA6ADD2 /* KS3YunSDK.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3YunSDK.h; path = KS3YunSDK/KS3YunSDK.h; sourceTree = "<group>"; }; | |
| 233 | + 234B282D8871514861EE0AF095BABDCB /* KS3DeleteObjectRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3DeleteObjectRequest.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3DeleteObjectRequest.m; sourceTree = "<group>"; }; | |
| 234 | + 238D3B7F2746ED8643D0E29958CCBFA7 /* KS3HeadBucketResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3HeadBucketResponse.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3HeadBucketResponse.h; sourceTree = "<group>"; }; | |
| 235 | + 24BAE1C3DA88A0BED5B4BFAA42DF2513 /* KS3PutObjectCopyRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3PutObjectCopyRequest.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3PutObjectCopyRequest.m; sourceTree = "<group>"; }; | |
| 236 | + 25D30D104C8605AB1481622C4E9B9126 /* KS3SetACLResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3SetACLResponse.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3SetACLResponse.m; sourceTree = "<group>"; }; | |
| 237 | + 273BE8FAD908E5970FF2A827A862E08B /* KS3Owner.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3Owner.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/KS3Owner.m; sourceTree = "<group>"; }; | |
| 238 | + 282086C1438794BEE1F55F310424FA2B /* KS3AuthUtils.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3AuthUtils.m; path = KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3AuthUtils.m; sourceTree = "<group>"; }; | |
| 239 | + 2B8F46222934E72D700B438C1D605F35 /* KS3SDKUtil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3SDKUtil.m; path = KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3SDKUtil.m; sourceTree = "<group>"; }; | |
| 240 | + 2F24D60B09D175A5FE5867D7A4EA7348 /* KS3ServiceResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3ServiceResponse.m; path = KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3ServiceResponse.m; sourceTree = "<group>"; }; | |
| 241 | + 2F622DDA8BC57A0C1E8E7B41E7223438 /* Ks3SDK-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Ks3SDK-prefix.pch"; sourceTree = "<group>"; }; | |
| 242 | + 3001A5B02820A7685EBB5E772B44F6B5 /* KS3ClientException.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3ClientException.m; path = KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3ClientException.m; sourceTree = "<group>"; }; | |
| 243 | + 3058D771BD76D0B6F184E484D39DF70E /* KS3ListObjectsResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3ListObjectsResult.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3ListObjectsResult.h; sourceTree = "<group>"; }; | |
| 244 | + 308A4CECA35C0D636D9EC1A6ECA22ACF /* KS3ListPartsResultXMLParser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3ListPartsResultXMLParser.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3ListPartsResultXMLParser.h; sourceTree = "<group>"; }; | |
| 245 | + 32C0A4C28045F768C0079C7547744699 /* KS3Response.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3Response.h; path = KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3Response.h; sourceTree = "<group>"; }; | |
| 246 | + 32EE86D89F6186D65FE51495C7C9188A /* KS3InitiateMultipartUploadXMLParser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3InitiateMultipartUploadXMLParser.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3InitiateMultipartUploadXMLParser.h; sourceTree = "<group>"; }; | |
| 247 | + 33966032BFE4600761F020B2202345C3 /* KS3ListPartsResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3ListPartsResult.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3ListPartsResult.m; sourceTree = "<group>"; }; | |
| 248 | + 339DD48EDBEBAE45A87E3B99CA35AB89 /* KS3CompleteMultipartUploadResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3CompleteMultipartUploadResult.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3CompleteMultipartUploadResult.m; sourceTree = "<group>"; }; | |
| 249 | + 351C95E9B5210C3A34F7DE45926B3C3D /* KS3GrantAccessControlList.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3GrantAccessControlList.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/KS3GrantAccessControlList.h; sourceTree = "<group>"; }; | |
| 250 | + 379A67B432D836127B4FB23CA7D727CB /* KS3SetObjectACLResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3SetObjectACLResponse.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3SetObjectACLResponse.h; sourceTree = "<group>"; }; | |
| 251 | + 3C57D79CFD49A2C2220674C003717F7C /* KS3WebServiceClient.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3WebServiceClient.m; path = KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3WebServiceClient.m; sourceTree = "<group>"; }; | |
| 252 | + 3F3C1E0EC8FC9E1969C04941E8522905 /* KS3DownLoad.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3DownLoad.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3DownLoad.h; sourceTree = "<group>"; }; | |
| 253 | + 42959F4CD9E0F8B0C072B4AED711B2AF /* KS3SetACLResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3SetACLResponse.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3SetACLResponse.h; sourceTree = "<group>"; }; | |
| 254 | + 45515BCC9266D22D5ED69E0490CA081E /* libPods-KS3SDKDemo.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-KS3SDKDemo.a"; path = "libPods-KS3SDKDemo.a"; sourceTree = BUILT_PRODUCTS_DIR; }; | |
| 255 | + 45E83D8FB93E7C4899F979A5C6CD5CDF /* KS3AccessControlList.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3AccessControlList.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/KS3AccessControlList.m; sourceTree = "<group>"; }; | |
| 256 | + 485738248A9631FDBA098B4A9079EE5F /* KS3Part.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3Part.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3Part.m; sourceTree = "<group>"; }; | |
| 257 | + 488E7972F0E14B2A8A18F5BA53B8057D /* KS3ObjectACLXMLParser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3ObjectACLXMLParser.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3ObjectACLXMLParser.m; sourceTree = "<group>"; }; | |
| 258 | + 4A639F773BB0039F8A95DDFFC8756374 /* KS3UploadPartResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3UploadPartResponse.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3UploadPartResponse.m; sourceTree = "<group>"; }; | |
| 259 | + 4BE3F36547E1961EDE22A046ADC6D601 /* KS3SetObjectGrantACLResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3SetObjectGrantACLResponse.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3SetObjectGrantACLResponse.m; sourceTree = "<group>"; }; | |
| 260 | + 4CC90C081A79C6C117FEC89896C93E7E /* KS3ListPartsResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3ListPartsResult.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3ListPartsResult.h; sourceTree = "<group>"; }; | |
| 261 | + 4CE003D5A6D84AD6E27933D2F948F94D /* KS3AuthUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3AuthUtils.h; path = KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3AuthUtils.h; sourceTree = "<group>"; }; | |
| 262 | + 4FE40DEE975EC9B8F5D5B6AB9ABD6C1A /* KS3MultipartUpload.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3MultipartUpload.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3MultipartUpload.m; sourceTree = "<group>"; }; | |
| 263 | + 54292A0659DF5EE135999ADD04C57E29 /* KS3SDKUtil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3SDKUtil.h; path = KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3SDKUtil.h; sourceTree = "<group>"; }; | |
| 264 | + 542AAF95AF0DD2C1F46BF827FB276303 /* KS3CompleteMultipartUploadResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3CompleteMultipartUploadResult.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3CompleteMultipartUploadResult.h; sourceTree = "<group>"; }; | |
| 265 | + 54FDB2CCE959195E52AE7D09B58BFB53 /* KS3CompleteMultipartUploadResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3CompleteMultipartUploadResponse.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3CompleteMultipartUploadResponse.m; sourceTree = "<group>"; }; | |
| 266 | + 58A13081230750338D08FB45DC93CE89 /* KS3GetACLRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3GetACLRequest.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3GetACLRequest.m; sourceTree = "<group>"; }; | |
| 267 | + 59B243FFE0CCB104C821B80BCEB6D27B /* KS3CreateBucketResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3CreateBucketResponse.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3CreateBucketResponse.m; sourceTree = "<group>"; }; | |
| 268 | + 5F9F7DB8941940A32A6C254CDDD038DB /* KS3UploadManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3UploadManager.m; path = KS3YunSDK/KS3YunSDK/KSYS3/Advanced/Upload/KS3UploadManager.m; sourceTree = "<group>"; }; | |
| 269 | + 61250E7FD2917E7D7318618FEBBBAA77 /* KS3InitiateMultipartUploadResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3InitiateMultipartUploadResult.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3InitiateMultipartUploadResult.h; sourceTree = "<group>"; }; | |
| 270 | + 629C5CAEB0A9C75C840A528924375652 /* KS3UploadRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3UploadRequest.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3UploadRequest.m; sourceTree = "<group>"; }; | |
| 271 | + 64415A03B1B28D135076F56E564E3521 /* KS3GetObjectACLResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3GetObjectACLResponse.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3GetObjectACLResponse.h; sourceTree = "<group>"; }; | |
| 272 | + 6550D70A7FAFEA03B3A65F41C65762A7 /* KS3InitiateMultipartUploadRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3InitiateMultipartUploadRequest.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3InitiateMultipartUploadRequest.h; sourceTree = "<group>"; }; | |
| 273 | + 6592191393193A4B15033D8F88CB8C2E /* KS3ListPartsResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3ListPartsResponse.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3ListPartsResponse.m; sourceTree = "<group>"; }; | |
| 274 | + 6663980868812A737ED7A3505A6CA091 /* KS3HeadObjectResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3HeadObjectResponse.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3HeadObjectResponse.h; sourceTree = "<group>"; }; | |
| 275 | + 6A1FA245D8885C7C99EFF823320F789D /* KS3ListObjectsXMLPrarser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3ListObjectsXMLPrarser.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3ListObjectsXMLPrarser.m; sourceTree = "<group>"; }; | |
| 276 | + 6AD42B0908C144DBD5227511A64BEBE3 /* KS3Request.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3Request.m; path = KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3Request.m; sourceTree = "<group>"; }; | |
| 277 | + 6B7761ADA6F116A75243AA0D8AAA3102 /* KS3CompleteMultipartUploadResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3CompleteMultipartUploadResponse.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3CompleteMultipartUploadResponse.h; sourceTree = "<group>"; }; | |
| 278 | + 6BF3C098D1571A79186B80E5E75E9FE6 /* KS3AbortMultipartUploadResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3AbortMultipartUploadResponse.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3AbortMultipartUploadResponse.m; sourceTree = "<group>"; }; | |
| 279 | + 6D33D75A48DF90EAA04360F99462CC33 /* KS3Request.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3Request.h; path = KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3Request.h; sourceTree = "<group>"; }; | |
| 280 | + 6E2B230F4D37F9B5F161265B9F1863F7 /* KS3BucketACLXMLParser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3BucketACLXMLParser.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3BucketACLXMLParser.m; sourceTree = "<group>"; }; | |
| 281 | + 6E301A6C98B84E2536A81154F4F60F66 /* KS3BucketObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3BucketObject.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3BucketObject.h; sourceTree = "<group>"; }; | |
| 282 | + 707CCF0D13833B92FEE73B8136FCCC30 /* KS3HeadBucketRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3HeadBucketRequest.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3HeadBucketRequest.h; sourceTree = "<group>"; }; | |
| 283 | + 71D62A4A5FF6A134A03A051619CC75BC /* KS3ResponseHeaderOverrides.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3ResponseHeaderOverrides.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/KS3ResponseHeaderOverrides.m; sourceTree = "<group>"; }; | |
| 284 | + 72B4B4301A2F052EAE8F80B0F2FF09FE /* KS3ListObjectsResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3ListObjectsResult.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3ListObjectsResult.m; sourceTree = "<group>"; }; | |
| 285 | + 74D09221BF115067D6DC96A4EECB086B /* KS3SetObjectGrantACLRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3SetObjectGrantACLRequest.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3SetObjectGrantACLRequest.h; sourceTree = "<group>"; }; | |
| 286 | + 76D8C2BBF84A2BBF0580CF0DFB99B186 /* KS3DeleteObjectResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3DeleteObjectResponse.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3DeleteObjectResponse.m; sourceTree = "<group>"; }; | |
| 287 | + 76FAB5EEAF325B51B13B562249C466CA /* KS3UploadPartRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3UploadPartRequest.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3UploadPartRequest.m; sourceTree = "<group>"; }; | |
| 288 | + 79A0D8CB8CCE5C0281B8175818258B93 /* KS3PutObjectRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3PutObjectRequest.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3PutObjectRequest.m; sourceTree = "<group>"; }; | |
| 289 | + 7AB06D81E6FBC1A461D417713ABEA86D /* KS3GetObjectRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3GetObjectRequest.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3GetObjectRequest.h; sourceTree = "<group>"; }; | |
| 290 | + 8094F5D8A1535493B770D6FCED7B95BD /* KS3ListObjectsResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3ListObjectsResponse.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3ListObjectsResponse.h; sourceTree = "<group>"; }; | |
| 291 | + 80CCC2E8A8057A24DC291F47BF9FAE0A /* KS3InitiateMultipartUploadXMLParser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3InitiateMultipartUploadXMLParser.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3InitiateMultipartUploadXMLParser.m; sourceTree = "<group>"; }; | |
| 292 | + 81384540B73C340C0884E7A0FE88A1C1 /* KS3GrantAccessControlList.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3GrantAccessControlList.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/KS3GrantAccessControlList.m; sourceTree = "<group>"; }; | |
| 293 | + 8233887A30932FF0F5BD7E7E96ACC4F8 /* KS3UploadPartResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3UploadPartResponse.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3UploadPartResponse.h; sourceTree = "<group>"; }; | |
| 294 | + 838489FE9792086888A6A1C8F1F63A85 /* KS3ListBucketsXMLParser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3ListBucketsXMLParser.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Service/KS3ListBucketsXMLParser.h; sourceTree = "<group>"; }; | |
| 295 | + 8639900AF2A65D916E46748F8EB19E17 /* KS3Credentials.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3Credentials.m; path = KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3Credentials.m; sourceTree = "<group>"; }; | |
| 296 | + 8773222E674FA91A1813B10C090A0DB4 /* KS3UploadManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3UploadManager.h; path = KS3YunSDK/KS3YunSDK/KSYS3/Advanced/Upload/KS3UploadManager.h; sourceTree = "<group>"; }; | |
| 297 | + 8808028D324FD3153F27C4889282B0D8 /* KS3Grant.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3Grant.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/KS3Grant.m; sourceTree = "<group>"; }; | |
| 298 | + 8A0C050B5ED769338F44C4620C1CEB71 /* KS3InitiateMultipartUploadResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3InitiateMultipartUploadResponse.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3InitiateMultipartUploadResponse.h; sourceTree = "<group>"; }; | |
| 299 | + 8AD28770169211A9589268076ED6F410 /* KS3Client.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3Client.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KS3Client.m; sourceTree = "<group>"; }; | |
| 300 | + 8D8A88B3F5CEDF8D236F38293695C8EB /* KS3ListBucketsResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3ListBucketsResult.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Service/KS3ListBucketsResult.h; sourceTree = "<group>"; }; | |
| 301 | + 8E3DA17B8B365B043AD2E6B158E20077 /* KS3GetACLResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3GetACLResponse.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3GetACLResponse.m; sourceTree = "<group>"; }; | |
| 302 | + 9206C6E5BB5914FF82C632D5BB591D31 /* KS3SetGrantACLResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3SetGrantACLResponse.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3SetGrantACLResponse.h; sourceTree = "<group>"; }; | |
| 303 | + 92C4F771692181031616FB00E9EB6854 /* KS3AbstractPutRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3AbstractPutRequest.h; path = KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3AbstractPutRequest.h; sourceTree = "<group>"; }; | |
| 304 | + 937F8C893F4237D5C9AF6960BDF0D3FC /* Pods-KS3SDKDemo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-KS3SDKDemo.debug.xcconfig"; sourceTree = "<group>"; }; | |
| 305 | + 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; | |
| 306 | + 9625D87253845B536CD1BE3EB6EE375E /* KS3DeleteBucketRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3DeleteBucketRequest.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3DeleteBucketRequest.m; sourceTree = "<group>"; }; | |
| 307 | + 9643394B0D7F15C6C156A35E532DCDF7 /* KS3GetObjectResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3GetObjectResponse.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3GetObjectResponse.m; sourceTree = "<group>"; }; | |
| 308 | + 96DEEAC9F61E6BA0CCE9518F22C17736 /* KS3DeleteBucketRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3DeleteBucketRequest.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3DeleteBucketRequest.h; sourceTree = "<group>"; }; | |
| 309 | + 97428595C5980A6F9978FED2FCD6B430 /* KS3ResponseHeaderOverrides.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3ResponseHeaderOverrides.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/KS3ResponseHeaderOverrides.h; sourceTree = "<group>"; }; | |
| 310 | + 97863A099DD4C34098C3A880F3445FAA /* Pods-KS3SDKDemo-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-KS3SDKDemo-dummy.m"; sourceTree = "<group>"; }; | |
| 311 | + 97C738107C3BEAC34EA8B070CDA84DB4 /* KS3ListObjectsXMLPrarser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3ListObjectsXMLPrarser.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3ListObjectsXMLPrarser.h; sourceTree = "<group>"; }; | |
| 312 | + 9C0427F35CE175CC9B9D05B1B275FC23 /* KS3GetBucketLoggingRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3GetBucketLoggingRequest.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3GetBucketLoggingRequest.m; sourceTree = "<group>"; }; | |
| 313 | + 9DF17755770A04CFED26AF90177EF022 /* KS3BucketNameUtilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3BucketNameUtilities.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3BucketNameUtilities.m; sourceTree = "<group>"; }; | |
| 314 | + 9E996AB713CDF2F0732D24C11FA52C25 /* Pods-KS3SDKDemo-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-KS3SDKDemo-frameworks.sh"; sourceTree = "<group>"; }; | |
| 315 | + 9EB2EAB425C265479580AC4444F4851E /* KS3PutObjectCopyResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3PutObjectCopyResponse.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3PutObjectCopyResponse.h; sourceTree = "<group>"; }; | |
| 316 | + A075D9F0DD5B2EF4F8B5C21385FA784A /* Ks3SDK.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Ks3SDK.xcconfig; sourceTree = "<group>"; }; | |
| 317 | + A093453D3C973CA86362A56018762E18 /* KS3ListBucketsRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3ListBucketsRequest.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Service/KS3ListBucketsRequest.h; sourceTree = "<group>"; }; | |
| 318 | + A200159BD7D0F9529B8BFE8288BB1F06 /* KS3AbstractPutRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3AbstractPutRequest.m; path = KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3AbstractPutRequest.m; sourceTree = "<group>"; }; | |
| 319 | + A4892EA63288E75FB50EE6E79EC8B7C6 /* KS3CreateBucketResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3CreateBucketResponse.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3CreateBucketResponse.h; sourceTree = "<group>"; }; | |
| 320 | + A55E7D7FA446B40AA3A201A6789607F3 /* KS3ClientException.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3ClientException.h; path = KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3ClientException.h; sourceTree = "<group>"; }; | |
| 321 | + A73ED96D9DBD2DD9F7CF5B696A882FB8 /* KS3HeadObjectRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3HeadObjectRequest.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3HeadObjectRequest.h; sourceTree = "<group>"; }; | |
| 322 | + AA8BDE878494543FCBBA13BBFD9935D0 /* KS3SetGrantACLRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3SetGrantACLRequest.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3SetGrantACLRequest.m; sourceTree = "<group>"; }; | |
| 323 | + AC8C95552C1C5E9491548EEB2E49CF6D /* KS3GetObjectACLRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3GetObjectACLRequest.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3GetObjectACLRequest.h; sourceTree = "<group>"; }; | |
| 324 | + AE41E3E5C5EE57CA16D4A9A3D1A91A40 /* KS3SetObjectACLRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3SetObjectACLRequest.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3SetObjectACLRequest.h; sourceTree = "<group>"; }; | |
| 325 | + AEA566B3488C468C24B73B3B291FEED3 /* KS3ErrorHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3ErrorHandler.m; path = KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3ErrorHandler.m; sourceTree = "<group>"; }; | |
| 326 | + AEED845619E1065E85AB1808033F6AD8 /* KS3CompleteMultipartUploadRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3CompleteMultipartUploadRequest.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3CompleteMultipartUploadRequest.m; sourceTree = "<group>"; }; | |
| 327 | + B14750543CB775DD34AC8669452EB139 /* KS3InitiateMultipartUploadResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3InitiateMultipartUploadResponse.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3InitiateMultipartUploadResponse.m; sourceTree = "<group>"; }; | |
| 328 | + B16C8B97FA01C5066E22A3EE4F58E829 /* KS3ListPartsResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3ListPartsResponse.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3ListPartsResponse.h; sourceTree = "<group>"; }; | |
| 329 | + B260A074E1F79E4E00697D5D7099D065 /* KS3PutObjectResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3PutObjectResponse.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3PutObjectResponse.h; sourceTree = "<group>"; }; | |
| 330 | + B428A7EB6E1F3E420D576DA5EE4E7F8D /* KS3GetObjectACLResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3GetObjectACLResponse.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3GetObjectACLResponse.m; sourceTree = "<group>"; }; | |
| 331 | + B5E8E77D7FD08F866E3CEA5E7B00E1B9 /* KS3URLRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3URLRequest.h; path = KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3URLRequest.h; sourceTree = "<group>"; }; | |
| 332 | + B67D0243FB6075327C97D4E75C14108E /* KS3GetBucketLoggingResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3GetBucketLoggingResponse.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3GetBucketLoggingResponse.h; sourceTree = "<group>"; }; | |
| 333 | + B96479C67EF97D9ACC28889965607759 /* KS3ListPartsRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3ListPartsRequest.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3ListPartsRequest.h; sourceTree = "<group>"; }; | |
| 334 | + BC3924F0529B5EFB93F561BE0E133094 /* KS3GetObjectResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3GetObjectResponse.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3GetObjectResponse.h; sourceTree = "<group>"; }; | |
| 335 | + BE7FB9C306612DCFBB73BCC46D7D9011 /* KS3CreateBucketRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3CreateBucketRequest.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3CreateBucketRequest.m; sourceTree = "<group>"; }; | |
| 336 | + BFEA23F27B1D8D09CB4E727CBB8A76C1 /* KS3ObjectACLXMLParser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3ObjectACLXMLParser.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3ObjectACLXMLParser.h; sourceTree = "<group>"; }; | |
| 337 | + C3E5644AB833D45595984EBC6F10193D /* KS3InitiateMultipartUploadResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3InitiateMultipartUploadResult.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3InitiateMultipartUploadResult.m; sourceTree = "<group>"; }; | |
| 338 | + C4A88D5CB925881D1D3AF42799EA301F /* KS3SetACLRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3SetACLRequest.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3SetACLRequest.h; sourceTree = "<group>"; }; | |
| 339 | + C5801DC0391BFD12B6F11800960BB93D /* KS3SetObjectACLResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3SetObjectACLResponse.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3SetObjectACLResponse.m; sourceTree = "<group>"; }; | |
| 340 | + C6508BF7534F209B80318C7DA04B3675 /* KS3ListObjectsRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3ListObjectsRequest.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3ListObjectsRequest.h; sourceTree = "<group>"; }; | |
| 341 | + C6C33D99E17307AFDDA38AB4CDA255EB /* KS3SetACLRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3SetACLRequest.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3SetACLRequest.m; sourceTree = "<group>"; }; | |
| 342 | + C6E8195E5B341D6D2EA073D318C194D5 /* KS3PutObjectResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3PutObjectResponse.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3PutObjectResponse.m; sourceTree = "<group>"; }; | |
| 343 | + C72BD2304D746A3D2F5932A55C2A547C /* KS3HeadBucketResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3HeadBucketResponse.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3HeadBucketResponse.m; sourceTree = "<group>"; }; | |
| 344 | + C7AA6C3C38545F5C337E0B529E4E33E5 /* KS3HeadObjectResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3HeadObjectResponse.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3HeadObjectResponse.m; sourceTree = "<group>"; }; | |
| 345 | + C97A99A9950F068090AF8CB39E2EA215 /* KS3PutObjectCopyResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3PutObjectCopyResponse.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3PutObjectCopyResponse.m; sourceTree = "<group>"; }; | |
| 346 | + CB5931A6BD1BCE65A51BD0F10D67EE60 /* KS3Credentials.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3Credentials.h; path = KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3Credentials.h; sourceTree = "<group>"; }; | |
| 347 | + CBB3DE36805AF21409EC968A9691732F /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; | |
| 348 | + CBE33D863691AD21ED59B4DADFF2FB06 /* KS3SetObjectACLRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3SetObjectACLRequest.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3SetObjectACLRequest.m; sourceTree = "<group>"; }; | |
| 349 | + D1CF5F7D9C93E9A171AE3E16DDE65FA8 /* KS3BucketACLResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3BucketACLResult.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3BucketACLResult.h; sourceTree = "<group>"; }; | |
| 350 | + D2A115B9053364E4BC684AA2DFC6A269 /* KS3ListPartsResultXMLParser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3ListPartsResultXMLParser.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3ListPartsResultXMLParser.m; sourceTree = "<group>"; }; | |
| 351 | + D5E8C91BEFEF19161A2BEC4503716AE7 /* KS3BucketACLResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3BucketACLResult.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3BucketACLResult.m; sourceTree = "<group>"; }; | |
| 352 | + D74205DA028EC7C34C6C06265BF46F6F /* KS3SetBucketLoggingResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3SetBucketLoggingResponse.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3SetBucketLoggingResponse.h; sourceTree = "<group>"; }; | |
| 353 | + D97E4668B99B9593C1C0C45C56CA87FD /* KS3Bucket.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3Bucket.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Service/KS3Bucket.h; sourceTree = "<group>"; }; | |
| 354 | + DAD2147A9F4106CD969BE5936BFFB335 /* KS3SetBucketLoggingRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3SetBucketLoggingRequest.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3SetBucketLoggingRequest.h; sourceTree = "<group>"; }; | |
| 355 | + DB5CC77C8CA15816B141C2EE4835FE43 /* KS3MD5Util.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3MD5Util.h; path = KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3MD5Util.h; sourceTree = "<group>"; }; | |
| 356 | + DC506D7CD3F3692CB65424E69B32EF4D /* KS3WebServiceClient.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3WebServiceClient.h; path = KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3WebServiceClient.h; sourceTree = "<group>"; }; | |
| 357 | + DD45A0B978555EC844787A8BF56573E1 /* KS3UploadRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3UploadRequest.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3UploadRequest.h; sourceTree = "<group>"; }; | |
| 358 | + DEBA81D6EAEF27E1A690CF02D9ACAA01 /* KS3ListBucketsResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3ListBucketsResult.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Service/KS3ListBucketsResult.m; sourceTree = "<group>"; }; | |
| 359 | + DED26E39303371C2ECF4F8B676C524AF /* KS3AbortMultipartUploadRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3AbortMultipartUploadRequest.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3AbortMultipartUploadRequest.m; sourceTree = "<group>"; }; | |
| 360 | + E27E3DA2241BCF91D5FCA4C4025B570E /* KS3DeleteBucketResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3DeleteBucketResponse.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3DeleteBucketResponse.h; sourceTree = "<group>"; }; | |
| 361 | + E2E9E5E161D78BE99B19680E4013219D /* KS3GetObjectACLRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3GetObjectACLRequest.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3GetObjectACLRequest.m; sourceTree = "<group>"; }; | |
| 362 | + E3C23A55E5FF7CC65C39CEF3ECBDDD92 /* KS3HeadBucketRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3HeadBucketRequest.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3HeadBucketRequest.m; sourceTree = "<group>"; }; | |
| 363 | + E41ED692AF01F994E6FD365A6ACBC4B2 /* KS3SetObjectGrantACLResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3SetObjectGrantACLResponse.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3SetObjectGrantACLResponse.h; sourceTree = "<group>"; }; | |
| 364 | + E4F72772BF85572BC9FE0BBA2F6BD120 /* KS3AccessControlList.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3AccessControlList.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/KS3AccessControlList.h; sourceTree = "<group>"; }; | |
| 365 | + E51FA29EDE85EA69C734616CE1F16BE2 /* KS3ListBucketsResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3ListBucketsResponse.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Service/KS3ListBucketsResponse.m; sourceTree = "<group>"; }; | |
| 366 | + E59CC657635E1112400395FF2E9FE697 /* KS3AbortMultipartUploadRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3AbortMultipartUploadRequest.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3AbortMultipartUploadRequest.h; sourceTree = "<group>"; }; | |
| 367 | + E5DCC6DF4B43135E32980CBC6AB111DC /* KS3SetGrantACLResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3SetGrantACLResponse.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3SetGrantACLResponse.m; sourceTree = "<group>"; }; | |
| 368 | + E5EB025F2764D28A5C05E299BB72960D /* KS3BucketACLXMLParser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3BucketACLXMLParser.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3BucketACLXMLParser.h; sourceTree = "<group>"; }; | |
| 369 | + E639654AB212218A87CE5F1EA120C847 /* KS3ListObjectsRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3ListObjectsRequest.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3ListObjectsRequest.m; sourceTree = "<group>"; }; | |
| 370 | + E6C9752CB0231F571A6AF01FF7186B88 /* Pods-KS3SDKDemo-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-KS3SDKDemo-acknowledgements.plist"; sourceTree = "<group>"; }; | |
| 371 | + E7F2045FA41767555C205538C73B8368 /* KS3CompleteMultipartUploadRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3CompleteMultipartUploadRequest.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3CompleteMultipartUploadRequest.h; sourceTree = "<group>"; }; | |
| 372 | + E88BA8F8EA1FE41441E85A21A90F20E4 /* KS3BucketObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3BucketObject.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3BucketObject.m; sourceTree = "<group>"; }; | |
| 373 | + E8C96C5EDE45F128555DFDFA6993AEA2 /* KS3GetBucketLoggingResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3GetBucketLoggingResponse.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3GetBucketLoggingResponse.m; sourceTree = "<group>"; }; | |
| 374 | + EB08EB9471E2DF0F7660DEF8C9F9A5C8 /* KS3GetACLResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3GetACLResponse.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3GetACLResponse.h; sourceTree = "<group>"; }; | |
| 375 | + EB7913C5BC1BC9E4F99FBD572C86B037 /* KS3Response.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3Response.m; path = KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3Response.m; sourceTree = "<group>"; }; | |
| 376 | + EC2430A8615E0C462BE9AAF471508197 /* KS3Constants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3Constants.h; path = KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3Constants.h; sourceTree = "<group>"; }; | |
| 377 | + ECD5236E6BFDA5882253BA0DF69F02BB /* KS3URLRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3URLRequest.m; path = KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3URLRequest.m; sourceTree = "<group>"; }; | |
| 378 | + ED39DD3153F95A50F4497A86604752EB /* KS3Grant.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3Grant.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/KS3Grant.h; sourceTree = "<group>"; }; | |
| 379 | + EE88C6EB6CA6FB6C296344FBB7149BD6 /* KS3ErrorHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3ErrorHandler.h; path = KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3ErrorHandler.h; sourceTree = "<group>"; }; | |
| 380 | + EF0280A7CEEE7C30913D583B01A8D425 /* KS3ListBucketsRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3ListBucketsRequest.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Service/KS3ListBucketsRequest.m; sourceTree = "<group>"; }; | |
| 381 | + EF4CCAA5E766727CF93F180382B97900 /* KS3ServiceRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3ServiceRequest.h; path = KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3ServiceRequest.h; sourceTree = "<group>"; }; | |
| 382 | + EFE59DFD419735F99781B9C5F727BF60 /* KS3SetBucketLoggingRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3SetBucketLoggingRequest.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3SetBucketLoggingRequest.m; sourceTree = "<group>"; }; | |
| 383 | + F0DF090507CC6403A409EC77D60A4116 /* KS3AbortMultipartUploadResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3AbortMultipartUploadResponse.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3AbortMultipartUploadResponse.h; sourceTree = "<group>"; }; | |
| 384 | + F1CDEF207D2C172601BC300EBC1BF692 /* KS3BucketNameUtilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3BucketNameUtilities.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3BucketNameUtilities.h; sourceTree = "<group>"; }; | |
| 385 | + F36E9E85B0612FBA7A1C948F33776465 /* KS3MD5Util.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3MD5Util.m; path = KS3YunSDK/KS3YunSDK/KSYCore.RunTime/KS3MD5Util.m; sourceTree = "<group>"; }; | |
| 386 | + F4584580A754F2C8583C8B6828E05DDD /* KS3CreateBucketRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3CreateBucketRequest.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3CreateBucketRequest.h; sourceTree = "<group>"; }; | |
| 387 | + F4FE62AACA9BCEC16E1475B0058F874F /* KS3Upload.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3Upload.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3Upload.h; sourceTree = "<group>"; }; | |
| 388 | + F56F2D9D2EEFD841A95479FECD194F53 /* KS3HeadObjectRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3HeadObjectRequest.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3HeadObjectRequest.m; sourceTree = "<group>"; }; | |
| 389 | + F6E8E720063F2E7543ED9B22A56B5CF3 /* KS3Upload.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3Upload.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3Upload.m; sourceTree = "<group>"; }; | |
| 390 | + F93D732423383CCA96DEECF5399C70C6 /* KS3Part.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3Part.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3Part.h; sourceTree = "<group>"; }; | |
| 391 | + F9DAC33982A721A6E552050849069E43 /* KS3Client.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KS3Client.h; path = KS3YunSDK/KS3YunSDK/KSYS3/KS3Client.h; sourceTree = "<group>"; }; | |
| 392 | + FB9C8ACF8FBE2A1686CF4FCDF9D6AD79 /* Ks3SDK-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Ks3SDK-dummy.m"; sourceTree = "<group>"; }; | |
| 393 | + FBA9C400556C6AC7A548E483CB376026 /* KS3SetBucketLoggingResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3SetBucketLoggingResponse.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3SetBucketLoggingResponse.m; sourceTree = "<group>"; }; | |
| 394 | + FCC8C08A6805AE4B4DCACB7E342731CB /* KS3SetObjectGrantACLRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3SetObjectGrantACLRequest.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Object/KS3SetObjectGrantACLRequest.m; sourceTree = "<group>"; }; | |
| 395 | + FEBCCE486962D9AD68E35DF2E70D14AC /* KS3Bucket.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3Bucket.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Service/KS3Bucket.m; sourceTree = "<group>"; }; | |
| 396 | + FFCA8E5B9B88BEC11825277F8C75FB7B /* KS3ObjectSummary.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KS3ObjectSummary.m; path = KS3YunSDK/KS3YunSDK/KSYS3/KSYModel/Bucket/KS3ObjectSummary.m; sourceTree = "<group>"; }; | |
| 397 | +/* End PBXFileReference section */ | |
| 398 | + | |
| 399 | +/* Begin PBXFrameworksBuildPhase section */ | |
| 400 | + 0384DE14766767DEC94DC18AF1677327 /* Frameworks */ = { | |
| 401 | + isa = PBXFrameworksBuildPhase; | |
| 402 | + buildActionMask = 2147483647; | |
| 403 | + files = ( | |
| 404 | + 2456F167BF900A7FA1DB1DA42D9C8C0A /* Foundation.framework in Frameworks */, | |
| 405 | + ); | |
| 406 | + runOnlyForDeploymentPostprocessing = 0; | |
| 407 | + }; | |
| 408 | + 6E2B0BEDFED85D6EB5B7EE6FA47C8DC8 /* Frameworks */ = { | |
| 409 | + isa = PBXFrameworksBuildPhase; | |
| 410 | + buildActionMask = 2147483647; | |
| 411 | + files = ( | |
| 412 | + 673DCE267712A522F66049908DD8D396 /* Foundation.framework in Frameworks */, | |
| 413 | + ); | |
| 414 | + runOnlyForDeploymentPostprocessing = 0; | |
| 415 | + }; | |
| 416 | +/* End PBXFrameworksBuildPhase section */ | |
| 417 | + | |
| 418 | +/* Begin PBXGroup section */ | |
| 419 | + 10450CAE7ED0ED6197594CFB283D2A15 /* Pods-KS3SDKDemo */ = { | |
| 420 | + isa = PBXGroup; | |
| 421 | + children = ( | |
| 422 | + 04F83304A2E06513F5C18456980389F9 /* Pods-KS3SDKDemo-acknowledgements.markdown */, | |
| 423 | + E6C9752CB0231F571A6AF01FF7186B88 /* Pods-KS3SDKDemo-acknowledgements.plist */, | |
| 424 | + 97863A099DD4C34098C3A880F3445FAA /* Pods-KS3SDKDemo-dummy.m */, | |
| 425 | + 9E996AB713CDF2F0732D24C11FA52C25 /* Pods-KS3SDKDemo-frameworks.sh */, | |
| 426 | + 17EAAB93804A7C2449822A5CA439796B /* Pods-KS3SDKDemo-resources.sh */, | |
| 427 | + 937F8C893F4237D5C9AF6960BDF0D3FC /* Pods-KS3SDKDemo.debug.xcconfig */, | |
| 428 | + 0258B8D9FBCB6E96A18FDC8067CF357B /* Pods-KS3SDKDemo.release.xcconfig */, | |
| 429 | + ); | |
| 430 | + name = "Pods-KS3SDKDemo"; | |
| 431 | + path = "Target Support Files/Pods-KS3SDKDemo"; | |
| 432 | + sourceTree = "<group>"; | |
| 433 | + }; | |
| 434 | + 2244C0A3F97C0444003693D315F7187E /* Ks3SDK */ = { | |
| 435 | + isa = PBXGroup; | |
| 436 | + children = ( | |
| 437 | + E59CC657635E1112400395FF2E9FE697 /* KS3AbortMultipartUploadRequest.h */, | |
| 438 | + DED26E39303371C2ECF4F8B676C524AF /* KS3AbortMultipartUploadRequest.m */, | |
| 439 | + F0DF090507CC6403A409EC77D60A4116 /* KS3AbortMultipartUploadResponse.h */, | |
| 440 | + 6BF3C098D1571A79186B80E5E75E9FE6 /* KS3AbortMultipartUploadResponse.m */, | |
| 441 | + 92C4F771692181031616FB00E9EB6854 /* KS3AbstractPutRequest.h */, | |
| 442 | + A200159BD7D0F9529B8BFE8288BB1F06 /* KS3AbstractPutRequest.m */, | |
| 443 | + 21EFEB74E1D7F9BABDA52A28A3E82612 /* KS3AbstractWebServiceClient.h */, | |
| 444 | + 12E8B7B3A7CA2AC807B54BF1303E7EB4 /* KS3AbstractWebServiceClient.m */, | |
| 445 | + E4F72772BF85572BC9FE0BBA2F6BD120 /* KS3AccessControlList.h */, | |
| 446 | + 45E83D8FB93E7C4899F979A5C6CD5CDF /* KS3AccessControlList.m */, | |
| 447 | + 4CE003D5A6D84AD6E27933D2F948F94D /* KS3AuthUtils.h */, | |
| 448 | + 282086C1438794BEE1F55F310424FA2B /* KS3AuthUtils.m */, | |
| 449 | + D97E4668B99B9593C1C0C45C56CA87FD /* KS3Bucket.h */, | |
| 450 | + FEBCCE486962D9AD68E35DF2E70D14AC /* KS3Bucket.m */, | |
| 451 | + D1CF5F7D9C93E9A171AE3E16DDE65FA8 /* KS3BucketACLResult.h */, | |
| 452 | + D5E8C91BEFEF19161A2BEC4503716AE7 /* KS3BucketACLResult.m */, | |
| 453 | + E5EB025F2764D28A5C05E299BB72960D /* KS3BucketACLXMLParser.h */, | |
| 454 | + 6E2B230F4D37F9B5F161265B9F1863F7 /* KS3BucketACLXMLParser.m */, | |
| 455 | + F1CDEF207D2C172601BC300EBC1BF692 /* KS3BucketNameUtilities.h */, | |
| 456 | + 9DF17755770A04CFED26AF90177EF022 /* KS3BucketNameUtilities.m */, | |
| 457 | + 6E301A6C98B84E2536A81154F4F60F66 /* KS3BucketObject.h */, | |
| 458 | + E88BA8F8EA1FE41441E85A21A90F20E4 /* KS3BucketObject.m */, | |
| 459 | + F9DAC33982A721A6E552050849069E43 /* KS3Client.h */, | |
| 460 | + 8AD28770169211A9589268076ED6F410 /* KS3Client.m */, | |
| 461 | + A55E7D7FA446B40AA3A201A6789607F3 /* KS3ClientException.h */, | |
| 462 | + 3001A5B02820A7685EBB5E772B44F6B5 /* KS3ClientException.m */, | |
| 463 | + E7F2045FA41767555C205538C73B8368 /* KS3CompleteMultipartUploadRequest.h */, | |
| 464 | + AEED845619E1065E85AB1808033F6AD8 /* KS3CompleteMultipartUploadRequest.m */, | |
| 465 | + 6B7761ADA6F116A75243AA0D8AAA3102 /* KS3CompleteMultipartUploadResponse.h */, | |
| 466 | + 54FDB2CCE959195E52AE7D09B58BFB53 /* KS3CompleteMultipartUploadResponse.m */, | |
| 467 | + 542AAF95AF0DD2C1F46BF827FB276303 /* KS3CompleteMultipartUploadResult.h */, | |
| 468 | + 339DD48EDBEBAE45A87E3B99CA35AB89 /* KS3CompleteMultipartUploadResult.m */, | |
| 469 | + EC2430A8615E0C462BE9AAF471508197 /* KS3Constants.h */, | |
| 470 | + F4584580A754F2C8583C8B6828E05DDD /* KS3CreateBucketRequest.h */, | |
| 471 | + BE7FB9C306612DCFBB73BCC46D7D9011 /* KS3CreateBucketRequest.m */, | |
| 472 | + A4892EA63288E75FB50EE6E79EC8B7C6 /* KS3CreateBucketResponse.h */, | |
| 473 | + 59B243FFE0CCB104C821B80BCEB6D27B /* KS3CreateBucketResponse.m */, | |
| 474 | + CB5931A6BD1BCE65A51BD0F10D67EE60 /* KS3Credentials.h */, | |
| 475 | + 8639900AF2A65D916E46748F8EB19E17 /* KS3Credentials.m */, | |
| 476 | + 96DEEAC9F61E6BA0CCE9518F22C17736 /* KS3DeleteBucketRequest.h */, | |
| 477 | + 9625D87253845B536CD1BE3EB6EE375E /* KS3DeleteBucketRequest.m */, | |
| 478 | + E27E3DA2241BCF91D5FCA4C4025B570E /* KS3DeleteBucketResponse.h */, | |
| 479 | + 1CD1220AAF43B22E2F36DCCE7C8D06AF /* KS3DeleteBucketResponse.m */, | |
| 480 | + 00295F843D77BC9DD7E95BBC91A2ECAB /* KS3DeleteObjectRequest.h */, | |
| 481 | + 234B282D8871514861EE0AF095BABDCB /* KS3DeleteObjectRequest.m */, | |
| 482 | + 1F4B3E93472652A92DB31408B1363BD6 /* KS3DeleteObjectResponse.h */, | |
| 483 | + 76D8C2BBF84A2BBF0580CF0DFB99B186 /* KS3DeleteObjectResponse.m */, | |
| 484 | + 3F3C1E0EC8FC9E1969C04941E8522905 /* KS3DownLoad.h */, | |
| 485 | + 001B1D2DBEFE7A70B8B15B922E93E5C6 /* KS3DownLoad.m */, | |
| 486 | + EE88C6EB6CA6FB6C296344FBB7149BD6 /* KS3ErrorHandler.h */, | |
| 487 | + AEA566B3488C468C24B73B3B291FEED3 /* KS3ErrorHandler.m */, | |
| 488 | + 09E2873AB05A9756074CC9BB3BD472FC /* KS3GetACLRequest.h */, | |
| 489 | + 58A13081230750338D08FB45DC93CE89 /* KS3GetACLRequest.m */, | |
| 490 | + EB08EB9471E2DF0F7660DEF8C9F9A5C8 /* KS3GetACLResponse.h */, | |
| 491 | + 8E3DA17B8B365B043AD2E6B158E20077 /* KS3GetACLResponse.m */, | |
| 492 | + 190430CCBC2E1C742E36AF6CEF07C27D /* KS3GetBucketLoggingRequest.h */, | |
| 493 | + 9C0427F35CE175CC9B9D05B1B275FC23 /* KS3GetBucketLoggingRequest.m */, | |
| 494 | + B67D0243FB6075327C97D4E75C14108E /* KS3GetBucketLoggingResponse.h */, | |
| 495 | + E8C96C5EDE45F128555DFDFA6993AEA2 /* KS3GetBucketLoggingResponse.m */, | |
| 496 | + AC8C95552C1C5E9491548EEB2E49CF6D /* KS3GetObjectACLRequest.h */, | |
| 497 | + E2E9E5E161D78BE99B19680E4013219D /* KS3GetObjectACLRequest.m */, | |
| 498 | + 64415A03B1B28D135076F56E564E3521 /* KS3GetObjectACLResponse.h */, | |
| 499 | + B428A7EB6E1F3E420D576DA5EE4E7F8D /* KS3GetObjectACLResponse.m */, | |
| 500 | + 7AB06D81E6FBC1A461D417713ABEA86D /* KS3GetObjectRequest.h */, | |
| 501 | + 1867F5F806278E892F6EA26144A3246B /* KS3GetObjectRequest.m */, | |
| 502 | + BC3924F0529B5EFB93F561BE0E133094 /* KS3GetObjectResponse.h */, | |
| 503 | + 9643394B0D7F15C6C156A35E532DCDF7 /* KS3GetObjectResponse.m */, | |
| 504 | + ED39DD3153F95A50F4497A86604752EB /* KS3Grant.h */, | |
| 505 | + 8808028D324FD3153F27C4889282B0D8 /* KS3Grant.m */, | |
| 506 | + 351C95E9B5210C3A34F7DE45926B3C3D /* KS3GrantAccessControlList.h */, | |
| 507 | + 81384540B73C340C0884E7A0FE88A1C1 /* KS3GrantAccessControlList.m */, | |
| 508 | + 707CCF0D13833B92FEE73B8136FCCC30 /* KS3HeadBucketRequest.h */, | |
| 509 | + E3C23A55E5FF7CC65C39CEF3ECBDDD92 /* KS3HeadBucketRequest.m */, | |
| 510 | + 238D3B7F2746ED8643D0E29958CCBFA7 /* KS3HeadBucketResponse.h */, | |
| 511 | + C72BD2304D746A3D2F5932A55C2A547C /* KS3HeadBucketResponse.m */, | |
| 512 | + A73ED96D9DBD2DD9F7CF5B696A882FB8 /* KS3HeadObjectRequest.h */, | |
| 513 | + F56F2D9D2EEFD841A95479FECD194F53 /* KS3HeadObjectRequest.m */, | |
| 514 | + 6663980868812A737ED7A3505A6CA091 /* KS3HeadObjectResponse.h */, | |
| 515 | + C7AA6C3C38545F5C337E0B529E4E33E5 /* KS3HeadObjectResponse.m */, | |
| 516 | + 6550D70A7FAFEA03B3A65F41C65762A7 /* KS3InitiateMultipartUploadRequest.h */, | |
| 517 | + 208737CFD301A664D9D6BEC6D5487C33 /* KS3InitiateMultipartUploadRequest.m */, | |
| 518 | + 8A0C050B5ED769338F44C4620C1CEB71 /* KS3InitiateMultipartUploadResponse.h */, | |
| 519 | + B14750543CB775DD34AC8669452EB139 /* KS3InitiateMultipartUploadResponse.m */, | |
| 520 | + 61250E7FD2917E7D7318618FEBBBAA77 /* KS3InitiateMultipartUploadResult.h */, | |
| 521 | + C3E5644AB833D45595984EBC6F10193D /* KS3InitiateMultipartUploadResult.m */, | |
| 522 | + 32EE86D89F6186D65FE51495C7C9188A /* KS3InitiateMultipartUploadXMLParser.h */, | |
| 523 | + 80CCC2E8A8057A24DC291F47BF9FAE0A /* KS3InitiateMultipartUploadXMLParser.m */, | |
| 524 | + A093453D3C973CA86362A56018762E18 /* KS3ListBucketsRequest.h */, | |
| 525 | + EF0280A7CEEE7C30913D583B01A8D425 /* KS3ListBucketsRequest.m */, | |
| 526 | + 1A71A824849284998716A12F60D91893 /* KS3ListBucketsResponse.h */, | |
| 527 | + E51FA29EDE85EA69C734616CE1F16BE2 /* KS3ListBucketsResponse.m */, | |
| 528 | + 8D8A88B3F5CEDF8D236F38293695C8EB /* KS3ListBucketsResult.h */, | |
| 529 | + DEBA81D6EAEF27E1A690CF02D9ACAA01 /* KS3ListBucketsResult.m */, | |
| 530 | + 838489FE9792086888A6A1C8F1F63A85 /* KS3ListBucketsXMLParser.h */, | |
| 531 | + 00287004427A15D6DA7565F3A8349C5A /* KS3ListBucketsXMLParser.m */, | |
| 532 | + C6508BF7534F209B80318C7DA04B3675 /* KS3ListObjectsRequest.h */, | |
| 533 | + E639654AB212218A87CE5F1EA120C847 /* KS3ListObjectsRequest.m */, | |
| 534 | + 8094F5D8A1535493B770D6FCED7B95BD /* KS3ListObjectsResponse.h */, | |
| 535 | + 0977D0682351BF0B28C4D912B0B5F7E9 /* KS3ListObjectsResponse.m */, | |
| 536 | + 3058D771BD76D0B6F184E484D39DF70E /* KS3ListObjectsResult.h */, | |
| 537 | + 72B4B4301A2F052EAE8F80B0F2FF09FE /* KS3ListObjectsResult.m */, | |
| 538 | + 97C738107C3BEAC34EA8B070CDA84DB4 /* KS3ListObjectsXMLPrarser.h */, | |
| 539 | + 6A1FA245D8885C7C99EFF823320F789D /* KS3ListObjectsXMLPrarser.m */, | |
| 540 | + B96479C67EF97D9ACC28889965607759 /* KS3ListPartsRequest.h */, | |
| 541 | + 20E6C7FEB7C10DE8BE35D4318B5A4998 /* KS3ListPartsRequest.m */, | |
| 542 | + B16C8B97FA01C5066E22A3EE4F58E829 /* KS3ListPartsResponse.h */, | |
| 543 | + 6592191393193A4B15033D8F88CB8C2E /* KS3ListPartsResponse.m */, | |
| 544 | + 4CC90C081A79C6C117FEC89896C93E7E /* KS3ListPartsResult.h */, | |
| 545 | + 33966032BFE4600761F020B2202345C3 /* KS3ListPartsResult.m */, | |
| 546 | + 308A4CECA35C0D636D9EC1A6ECA22ACF /* KS3ListPartsResultXMLParser.h */, | |
| 547 | + D2A115B9053364E4BC684AA2DFC6A269 /* KS3ListPartsResultXMLParser.m */, | |
| 548 | + DB5CC77C8CA15816B141C2EE4835FE43 /* KS3MD5Util.h */, | |
| 549 | + F36E9E85B0612FBA7A1C948F33776465 /* KS3MD5Util.m */, | |
| 550 | + 1A304F6A51B577A2F0F8B554F29FE60C /* KS3MultipartUpload.h */, | |
| 551 | + 4FE40DEE975EC9B8F5D5B6AB9ABD6C1A /* KS3MultipartUpload.m */, | |
| 552 | + BFEA23F27B1D8D09CB4E727CBB8A76C1 /* KS3ObjectACLXMLParser.h */, | |
| 553 | + 488E7972F0E14B2A8A18F5BA53B8057D /* KS3ObjectACLXMLParser.m */, | |
| 554 | + 0DF8A004C752608C3E8128C2C9D917A3 /* KS3ObjectSummary.h */, | |
| 555 | + FFCA8E5B9B88BEC11825277F8C75FB7B /* KS3ObjectSummary.m */, | |
| 556 | + 1115EFC72E20133ABC81DEEAA8E11D01 /* KS3Owner.h */, | |
| 557 | + 273BE8FAD908E5970FF2A827A862E08B /* KS3Owner.m */, | |
| 558 | + F93D732423383CCA96DEECF5399C70C6 /* KS3Part.h */, | |
| 559 | + 485738248A9631FDBA098B4A9079EE5F /* KS3Part.m */, | |
| 560 | + 22204647482FE20AD51C027C57E74432 /* KS3PutObjectCopyRequest.h */, | |
| 561 | + 24BAE1C3DA88A0BED5B4BFAA42DF2513 /* KS3PutObjectCopyRequest.m */, | |
| 562 | + 9EB2EAB425C265479580AC4444F4851E /* KS3PutObjectCopyResponse.h */, | |
| 563 | + C97A99A9950F068090AF8CB39E2EA215 /* KS3PutObjectCopyResponse.m */, | |
| 564 | + 14861D0764D5D600368CDF8AB883FA55 /* KS3PutObjectRequest.h */, | |
| 565 | + 79A0D8CB8CCE5C0281B8175818258B93 /* KS3PutObjectRequest.m */, | |
| 566 | + B260A074E1F79E4E00697D5D7099D065 /* KS3PutObjectResponse.h */, | |
| 567 | + C6E8195E5B341D6D2EA073D318C194D5 /* KS3PutObjectResponse.m */, | |
| 568 | + 6D33D75A48DF90EAA04360F99462CC33 /* KS3Request.h */, | |
| 569 | + 6AD42B0908C144DBD5227511A64BEBE3 /* KS3Request.m */, | |
| 570 | + 32C0A4C28045F768C0079C7547744699 /* KS3Response.h */, | |
| 571 | + EB7913C5BC1BC9E4F99FBD572C86B037 /* KS3Response.m */, | |
| 572 | + 97428595C5980A6F9978FED2FCD6B430 /* KS3ResponseHeaderOverrides.h */, | |
| 573 | + 71D62A4A5FF6A134A03A051619CC75BC /* KS3ResponseHeaderOverrides.m */, | |
| 574 | + 54292A0659DF5EE135999ADD04C57E29 /* KS3SDKUtil.h */, | |
| 575 | + 2B8F46222934E72D700B438C1D605F35 /* KS3SDKUtil.m */, | |
| 576 | + EF4CCAA5E766727CF93F180382B97900 /* KS3ServiceRequest.h */, | |
| 577 | + 096AE6267B0879DD5DA6EF833BDE1BEC /* KS3ServiceRequest.m */, | |
| 578 | + 011FE3858F6FACB9C85D985FF62F24A1 /* KS3ServiceResponse.h */, | |
| 579 | + 2F24D60B09D175A5FE5867D7A4EA7348 /* KS3ServiceResponse.m */, | |
| 580 | + C4A88D5CB925881D1D3AF42799EA301F /* KS3SetACLRequest.h */, | |
| 581 | + C6C33D99E17307AFDDA38AB4CDA255EB /* KS3SetACLRequest.m */, | |
| 582 | + 42959F4CD9E0F8B0C072B4AED711B2AF /* KS3SetACLResponse.h */, | |
| 583 | + 25D30D104C8605AB1481622C4E9B9126 /* KS3SetACLResponse.m */, | |
| 584 | + DAD2147A9F4106CD969BE5936BFFB335 /* KS3SetBucketLoggingRequest.h */, | |
| 585 | + EFE59DFD419735F99781B9C5F727BF60 /* KS3SetBucketLoggingRequest.m */, | |
| 586 | + D74205DA028EC7C34C6C06265BF46F6F /* KS3SetBucketLoggingResponse.h */, | |
| 587 | + FBA9C400556C6AC7A548E483CB376026 /* KS3SetBucketLoggingResponse.m */, | |
| 588 | + 1A7E2AE75FF78B200909055607835FA7 /* KS3SetGrantACLRequest.h */, | |
| 589 | + AA8BDE878494543FCBBA13BBFD9935D0 /* KS3SetGrantACLRequest.m */, | |
| 590 | + 9206C6E5BB5914FF82C632D5BB591D31 /* KS3SetGrantACLResponse.h */, | |
| 591 | + E5DCC6DF4B43135E32980CBC6AB111DC /* KS3SetGrantACLResponse.m */, | |
| 592 | + AE41E3E5C5EE57CA16D4A9A3D1A91A40 /* KS3SetObjectACLRequest.h */, | |
| 593 | + CBE33D863691AD21ED59B4DADFF2FB06 /* KS3SetObjectACLRequest.m */, | |
| 594 | + 379A67B432D836127B4FB23CA7D727CB /* KS3SetObjectACLResponse.h */, | |
| 595 | + C5801DC0391BFD12B6F11800960BB93D /* KS3SetObjectACLResponse.m */, | |
| 596 | + 74D09221BF115067D6DC96A4EECB086B /* KS3SetObjectGrantACLRequest.h */, | |
| 597 | + FCC8C08A6805AE4B4DCACB7E342731CB /* KS3SetObjectGrantACLRequest.m */, | |
| 598 | + E41ED692AF01F994E6FD365A6ACBC4B2 /* KS3SetObjectGrantACLResponse.h */, | |
| 599 | + 4BE3F36547E1961EDE22A046ADC6D601 /* KS3SetObjectGrantACLResponse.m */, | |
| 600 | + F4FE62AACA9BCEC16E1475B0058F874F /* KS3Upload.h */, | |
| 601 | + F6E8E720063F2E7543ED9B22A56B5CF3 /* KS3Upload.m */, | |
| 602 | + 8773222E674FA91A1813B10C090A0DB4 /* KS3UploadManager.h */, | |
| 603 | + 5F9F7DB8941940A32A6C254CDDD038DB /* KS3UploadManager.m */, | |
| 604 | + 094DDCB0BE44C03DB592CEB34C500BB3 /* KS3UploadPartRequest.h */, | |
| 605 | + 76FAB5EEAF325B51B13B562249C466CA /* KS3UploadPartRequest.m */, | |
| 606 | + 8233887A30932FF0F5BD7E7E96ACC4F8 /* KS3UploadPartResponse.h */, | |
| 607 | + 4A639F773BB0039F8A95DDFFC8756374 /* KS3UploadPartResponse.m */, | |
| 608 | + DD45A0B978555EC844787A8BF56573E1 /* KS3UploadRequest.h */, | |
| 609 | + 629C5CAEB0A9C75C840A528924375652 /* KS3UploadRequest.m */, | |
| 610 | + B5E8E77D7FD08F866E3CEA5E7B00E1B9 /* KS3URLRequest.h */, | |
| 611 | + ECD5236E6BFDA5882253BA0DF69F02BB /* KS3URLRequest.m */, | |
| 612 | + DC506D7CD3F3692CB65424E69B32EF4D /* KS3WebServiceClient.h */, | |
| 613 | + 3C57D79CFD49A2C2220674C003717F7C /* KS3WebServiceClient.m */, | |
| 614 | + 228C9BA667D373C4343270F2EAA6ADD2 /* KS3YunSDK.h */, | |
| 615 | + 46E18706B8F386AC5E64E41CA04B5C57 /* Support Files */, | |
| 616 | + ); | |
| 617 | + name = Ks3SDK; | |
| 618 | + path = Ks3SDK; | |
| 619 | + sourceTree = "<group>"; | |
| 620 | + }; | |
| 621 | + 2E28D8982B5D54793895071991971A60 /* Products */ = { | |
| 622 | + isa = PBXGroup; | |
| 623 | + children = ( | |
| 624 | + 17F446E233CDDD1A1077F3D053F8F942 /* libKs3SDK.a */, | |
| 625 | + 45515BCC9266D22D5ED69E0490CA081E /* libPods-KS3SDKDemo.a */, | |
| 626 | + ); | |
| 627 | + name = Products; | |
| 628 | + sourceTree = "<group>"; | |
| 629 | + }; | |
| 630 | + 3932AC7BEC5D353352D5B78AA6B5D310 /* Pods */ = { | |
| 631 | + isa = PBXGroup; | |
| 632 | + children = ( | |
| 633 | + 2244C0A3F97C0444003693D315F7187E /* Ks3SDK */, | |
| 634 | + ); | |
| 635 | + name = Pods; | |
| 636 | + sourceTree = "<group>"; | |
| 637 | + }; | |
| 638 | + 46E18706B8F386AC5E64E41CA04B5C57 /* Support Files */ = { | |
| 639 | + isa = PBXGroup; | |
| 640 | + children = ( | |
| 641 | + A075D9F0DD5B2EF4F8B5C21385FA784A /* Ks3SDK.xcconfig */, | |
| 642 | + FB9C8ACF8FBE2A1686CF4FCDF9D6AD79 /* Ks3SDK-dummy.m */, | |
| 643 | + 2F622DDA8BC57A0C1E8E7B41E7223438 /* Ks3SDK-prefix.pch */, | |
| 644 | + ); | |
| 645 | + name = "Support Files"; | |
| 646 | + path = "../Target Support Files/Ks3SDK"; | |
| 647 | + sourceTree = "<group>"; | |
| 648 | + }; | |
| 649 | + 5EE4F8FAE14D98F749E5E9B8FF058ED9 /* Targets Support Files */ = { | |
| 650 | + isa = PBXGroup; | |
| 651 | + children = ( | |
| 652 | + 10450CAE7ED0ED6197594CFB283D2A15 /* Pods-KS3SDKDemo */, | |
| 653 | + ); | |
| 654 | + name = "Targets Support Files"; | |
| 655 | + sourceTree = "<group>"; | |
| 656 | + }; | |
| 657 | + 7531C8F8DE19F1AA3C8A7AC97A91DC29 /* iOS */ = { | |
| 658 | + isa = PBXGroup; | |
| 659 | + children = ( | |
| 660 | + CBB3DE36805AF21409EC968A9691732F /* Foundation.framework */, | |
| 661 | + ); | |
| 662 | + name = iOS; | |
| 663 | + sourceTree = "<group>"; | |
| 664 | + }; | |
| 665 | + 7DB346D0F39D3F0E887471402A8071AB = { | |
| 666 | + isa = PBXGroup; | |
| 667 | + children = ( | |
| 668 | + 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, | |
| 669 | + BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */, | |
| 670 | + 3932AC7BEC5D353352D5B78AA6B5D310 /* Pods */, | |
| 671 | + 2E28D8982B5D54793895071991971A60 /* Products */, | |
| 672 | + 5EE4F8FAE14D98F749E5E9B8FF058ED9 /* Targets Support Files */, | |
| 673 | + ); | |
| 674 | + sourceTree = "<group>"; | |
| 675 | + }; | |
| 676 | + BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */ = { | |
| 677 | + isa = PBXGroup; | |
| 678 | + children = ( | |
| 679 | + 7531C8F8DE19F1AA3C8A7AC97A91DC29 /* iOS */, | |
| 680 | + ); | |
| 681 | + name = Frameworks; | |
| 682 | + sourceTree = "<group>"; | |
| 683 | + }; | |
| 684 | +/* End PBXGroup section */ | |
| 685 | + | |
| 686 | +/* Begin PBXHeadersBuildPhase section */ | |
| 687 | + 67D739A17636384C475821B0757197F1 /* Headers */ = { | |
| 688 | + isa = PBXHeadersBuildPhase; | |
| 689 | + buildActionMask = 2147483647; | |
| 690 | + files = ( | |
| 691 | + 9CA9E9FB0406C4A4C2840BE3AF5DC19A /* KS3AbortMultipartUploadRequest.h in Headers */, | |
| 692 | + 7B3CC1862BDA191A304EB27D90AED795 /* KS3AbortMultipartUploadResponse.h in Headers */, | |
| 693 | + C2FDEB0655A0AEC863ED6959F47BEAE6 /* KS3AbstractPutRequest.h in Headers */, | |
| 694 | + F37F0F96B3B4925CB39138677D232EF7 /* KS3AbstractWebServiceClient.h in Headers */, | |
| 695 | + 61EADC4B17584325F98459D311420E73 /* KS3AccessControlList.h in Headers */, | |
| 696 | + DA111D0713EFE0B97CDD9F70C7AEB8F1 /* KS3AuthUtils.h in Headers */, | |
| 697 | + A42623D29FF9B9A4C634151C89B8E6BD /* KS3Bucket.h in Headers */, | |
| 698 | + 889890C800E78F48185704BE547BF97A /* KS3BucketACLResult.h in Headers */, | |
| 699 | + 9D0E4311159EF634610B2E7605EF4F51 /* KS3BucketACLXMLParser.h in Headers */, | |
| 700 | + 7F0B11A5EBFA26251F0713C9B3F63DEE /* KS3BucketNameUtilities.h in Headers */, | |
| 701 | + CCF340E86745A61BECC5157C8ADDF70B /* KS3BucketObject.h in Headers */, | |
| 702 | + 56AF8DA79381D7E7C84670C8CC23DBA3 /* KS3Client.h in Headers */, | |
| 703 | + A6934AB9346C2F7496B45F321241BAD0 /* KS3ClientException.h in Headers */, | |
| 704 | + 44223920689569EE8E1D57F067F78CE1 /* KS3CompleteMultipartUploadRequest.h in Headers */, | |
| 705 | + 2E9DD306EF25908CA1124BCB14D83E88 /* KS3CompleteMultipartUploadResponse.h in Headers */, | |
| 706 | + 103B89B3F71B8569765255AFEFC02537 /* KS3CompleteMultipartUploadResult.h in Headers */, | |
| 707 | + 84287D054B0EBDB1B76489CA93EE43EE /* KS3Constants.h in Headers */, | |
| 708 | + F59BC2C585A612163D17987A125233E3 /* KS3CreateBucketRequest.h in Headers */, | |
| 709 | + 82AEA10E1B48219980FCC31C3F59A87D /* KS3CreateBucketResponse.h in Headers */, | |
| 710 | + EDFA69FDEFA347336F0D80F4E9EF7E9B /* KS3Credentials.h in Headers */, | |
| 711 | + 2C49E0CE304DC27F183A794CCDAAECA9 /* KS3DeleteBucketRequest.h in Headers */, | |
| 712 | + CF5DD58C00ED09E5CE3E482CA327A957 /* KS3DeleteBucketResponse.h in Headers */, | |
| 713 | + 05F4B66023414AD51B3FEE40714BCF4F /* KS3DeleteObjectRequest.h in Headers */, | |
| 714 | + 9D8A97856C2C732C5D0ECE667B948D1F /* KS3DeleteObjectResponse.h in Headers */, | |
| 715 | + 5A47100F9AA70EC4DECD951136ACAB87 /* KS3DownLoad.h in Headers */, | |
| 716 | + BC2E64990B2FECC3455769E8DF3FDB1F /* KS3ErrorHandler.h in Headers */, | |
| 717 | + 3E4727A23BB5B909C2FD9E754CB3D147 /* KS3GetACLRequest.h in Headers */, | |
| 718 | + 6063D98285C27F4E2AD9263BDCB19634 /* KS3GetACLResponse.h in Headers */, | |
| 719 | + F95A3C41F6116C05004FA85DB32E976A /* KS3GetBucketLoggingRequest.h in Headers */, | |
| 720 | + D2E92BAB1A28EB8EF69AD2FFF409A49D /* KS3GetBucketLoggingResponse.h in Headers */, | |
| 721 | + 0D22ECE4ECBB2C6423E7EAB99F7A9669 /* KS3GetObjectACLRequest.h in Headers */, | |
| 722 | + 051794912FED434CC1163510B7A6D676 /* KS3GetObjectACLResponse.h in Headers */, | |
| 723 | + 6F74EDC9C921BF0EAC162701A38BE66C /* KS3GetObjectRequest.h in Headers */, | |
| 724 | + B147D64BB1DDBD2094A9D1D1ADB0CC37 /* KS3GetObjectResponse.h in Headers */, | |
| 725 | + E27005195A8058B5B8A780033D386978 /* KS3Grant.h in Headers */, | |
| 726 | + 188D87A57EEF31E66DDA6224D467C6D8 /* KS3GrantAccessControlList.h in Headers */, | |
| 727 | + 0E895C2FD29006B1CACC8D01DB6CA546 /* KS3HeadBucketRequest.h in Headers */, | |
| 728 | + CB8433B15B18E425C89F4B5BDC095C3D /* KS3HeadBucketResponse.h in Headers */, | |
| 729 | + F0CECE49BF62E2E3321C7368FFEE59F9 /* KS3HeadObjectRequest.h in Headers */, | |
| 730 | + BC8BE45CD5F9F09D3996572B8536E400 /* KS3HeadObjectResponse.h in Headers */, | |
| 731 | + D77F4F55A51276CBC21DBC5E5B0DDB10 /* KS3InitiateMultipartUploadRequest.h in Headers */, | |
| 732 | + 371590B0DC3F7D5BE845BCC3666B99D8 /* KS3InitiateMultipartUploadResponse.h in Headers */, | |
| 733 | + 3D08B96D98B5073CD48F124860C87CFE /* KS3InitiateMultipartUploadResult.h in Headers */, | |
| 734 | + DDD421463474E95EF6ADCA4A8E22AFC9 /* KS3InitiateMultipartUploadXMLParser.h in Headers */, | |
| 735 | + 270CFB5E729B040BB8C3B38AF815D89E /* KS3ListBucketsRequest.h in Headers */, | |
| 736 | + 613248DC8129F0B8AA558A1E609CEF7E /* KS3ListBucketsResponse.h in Headers */, | |
| 737 | + D9F6953278DF3B045F3C01A942FE31B0 /* KS3ListBucketsResult.h in Headers */, | |
| 738 | + D3FE143C6DD1849BED7902EB5E2C031F /* KS3ListBucketsXMLParser.h in Headers */, | |
| 739 | + A3E44C336DC5AC532CC144E94852DA02 /* KS3ListObjectsRequest.h in Headers */, | |
| 740 | + 6E520229A7D475B3350F548E568EFD5C /* KS3ListObjectsResponse.h in Headers */, | |
| 741 | + 2548BB104AF4F52BAC1E3FD918F2420A /* KS3ListObjectsResult.h in Headers */, | |
| 742 | + BAA8AA5CB9F364714ACB4F0C1674CB3F /* KS3ListObjectsXMLPrarser.h in Headers */, | |
| 743 | + 515585CB92C12CAA99FAAB3776E5155C /* KS3ListPartsRequest.h in Headers */, | |
| 744 | + 5C782CD78F5BE7988749B27D879C34E2 /* KS3ListPartsResponse.h in Headers */, | |
| 745 | + 2D3D19C92173BA322AB33D607911E5B9 /* KS3ListPartsResult.h in Headers */, | |
| 746 | + 9650FE35F96A003F8597AE5DB6DB4741 /* KS3ListPartsResultXMLParser.h in Headers */, | |
| 747 | + 9C215CC1678AE68429EEAEBB6BC290FE /* KS3MD5Util.h in Headers */, | |
| 748 | + C4107BA18D4B14D3E5DBD8D40FDBA1D6 /* KS3MultipartUpload.h in Headers */, | |
| 749 | + 88DD7817C6D3AD58721F3DF0EACDF543 /* KS3ObjectACLXMLParser.h in Headers */, | |
| 750 | + 5C136AC28C6066B49BF78EF30861D62C /* KS3ObjectSummary.h in Headers */, | |
| 751 | + 3F24120D4A65EC13254033ABCA67CB32 /* KS3Owner.h in Headers */, | |
| 752 | + 842E776BE5BA1869392898D925E8DA89 /* KS3Part.h in Headers */, | |
| 753 | + DCD055F9FEB654A3CB3C520CB5A8DF02 /* KS3PutObjectCopyRequest.h in Headers */, | |
| 754 | + 525797A3745DEBC2B675BC762A27E458 /* KS3PutObjectCopyResponse.h in Headers */, | |
| 755 | + F41F5ED15CA0DC06838D616855A8017E /* KS3PutObjectRequest.h in Headers */, | |
| 756 | + BEF26098721DD3795D15AB1096EF8237 /* KS3PutObjectResponse.h in Headers */, | |
| 757 | + D44350AB0B0B3EF8089E4551C158392D /* KS3Request.h in Headers */, | |
| 758 | + CED769315EFFB38F6C3B9B2D5841B3D7 /* KS3Response.h in Headers */, | |
| 759 | + A42B9451DEFC3A5A861686454B8D9600 /* KS3ResponseHeaderOverrides.h in Headers */, | |
| 760 | + 31AD55F6B5C6960CE74D998C224D9C6C /* KS3SDKUtil.h in Headers */, | |
| 761 | + 7DB204122DBAC1C4F5EFD0087AC5CD3E /* KS3ServiceRequest.h in Headers */, | |
| 762 | + 7074DB63067F9D6C657D7D946F33105F /* KS3ServiceResponse.h in Headers */, | |
| 763 | + 91F62307F36302ED82620E196A917620 /* KS3SetACLRequest.h in Headers */, | |
| 764 | + CD7836BF6918DF077135A18595CFBCE5 /* KS3SetACLResponse.h in Headers */, | |
| 765 | + 28E5F70B2025F122F5329BDA941E0B1F /* KS3SetBucketLoggingRequest.h in Headers */, | |
| 766 | + 356E5FEEAF7CC7FD4254E12A831E41F9 /* KS3SetBucketLoggingResponse.h in Headers */, | |
| 767 | + 38453479795FF05B69AC99CF2C5ED8CF /* KS3SetGrantACLRequest.h in Headers */, | |
| 768 | + 9DE1DFBFB809D2288D65DC6A5A07F3A4 /* KS3SetGrantACLResponse.h in Headers */, | |
| 769 | + F105A03D3B60B3EBC164B81698AAF736 /* KS3SetObjectACLRequest.h in Headers */, | |
| 770 | + E9A8DB60A072FA3106164A4004F4148D /* KS3SetObjectACLResponse.h in Headers */, | |
| 771 | + 2953496CC2B22D67BDFFC6363C6D2BD5 /* KS3SetObjectGrantACLRequest.h in Headers */, | |
| 772 | + E4E63EAC6F131378947230E8FDC4AFFD /* KS3SetObjectGrantACLResponse.h in Headers */, | |
| 773 | + AAD160A6B3BB4B44F6B394D155F1DC8C /* KS3Upload.h in Headers */, | |
| 774 | + 1F1AE82285C0AB1E89275017C861D53C /* KS3UploadManager.h in Headers */, | |
| 775 | + FA479763A64A4148A3AE7BE031235B66 /* KS3UploadPartRequest.h in Headers */, | |
| 776 | + 30AA763D3EF397551B2EA6A1F1E32A80 /* KS3UploadPartResponse.h in Headers */, | |
| 777 | + 80DD22A549B117BB1385F4FB70847833 /* KS3UploadRequest.h in Headers */, | |
| 778 | + 67112CD60D5A0DF9ACC6362F78EF8842 /* KS3URLRequest.h in Headers */, | |
| 779 | + 7F35A988BE2995B8699907C7E5ED9C43 /* KS3WebServiceClient.h in Headers */, | |
| 780 | + 8FAAF80865D4BA210419B7E505819BD2 /* KS3YunSDK.h in Headers */, | |
| 781 | + ); | |
| 782 | + runOnlyForDeploymentPostprocessing = 0; | |
| 783 | + }; | |
| 784 | +/* End PBXHeadersBuildPhase section */ | |
| 785 | + | |
| 786 | +/* Begin PBXNativeTarget section */ | |
| 787 | + 95FC2A6E6601C839D6B4BD4B31ACA4FD /* Ks3SDK */ = { | |
| 788 | + isa = PBXNativeTarget; | |
| 789 | + buildConfigurationList = E7DD90243E3D72D1271158E30B764F63 /* Build configuration list for PBXNativeTarget "Ks3SDK" */; | |
| 790 | + buildPhases = ( | |
| 791 | + 40A60721BF6CE43661DE844A69C32605 /* Sources */, | |
| 792 | + 6E2B0BEDFED85D6EB5B7EE6FA47C8DC8 /* Frameworks */, | |
| 793 | + 67D739A17636384C475821B0757197F1 /* Headers */, | |
| 794 | + ); | |
| 795 | + buildRules = ( | |
| 796 | + ); | |
| 797 | + dependencies = ( | |
| 798 | + ); | |
| 799 | + name = Ks3SDK; | |
| 800 | + productName = Ks3SDK; | |
| 801 | + productReference = 17F446E233CDDD1A1077F3D053F8F942 /* libKs3SDK.a */; | |
| 802 | + productType = "com.apple.product-type.library.static"; | |
| 803 | + }; | |
| 804 | + B2CE65DA0288B635CC9364306C3C5972 /* Pods-KS3SDKDemo */ = { | |
| 805 | + isa = PBXNativeTarget; | |
| 806 | + buildConfigurationList = 63C38FA0D764BBE40687F0AC679FEF00 /* Build configuration list for PBXNativeTarget "Pods-KS3SDKDemo" */; | |
| 807 | + buildPhases = ( | |
| 808 | + 1961270A6BD1F66966359581BE6A2A65 /* Sources */, | |
| 809 | + 0384DE14766767DEC94DC18AF1677327 /* Frameworks */, | |
| 810 | + ); | |
| 811 | + buildRules = ( | |
| 812 | + ); | |
| 813 | + dependencies = ( | |
| 814 | + 37C599DC0E69EFBDAD65471D946F5C1D /* PBXTargetDependency */, | |
| 815 | + ); | |
| 816 | + name = "Pods-KS3SDKDemo"; | |
| 817 | + productName = "Pods-KS3SDKDemo"; | |
| 818 | + productReference = 45515BCC9266D22D5ED69E0490CA081E /* libPods-KS3SDKDemo.a */; | |
| 819 | + productType = "com.apple.product-type.library.static"; | |
| 820 | + }; | |
| 821 | +/* End PBXNativeTarget section */ | |
| 822 | + | |
| 823 | +/* Begin PBXProject section */ | |
| 824 | + D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { | |
| 825 | + isa = PBXProject; | |
| 826 | + attributes = { | |
| 827 | + LastSwiftUpdateCheck = 0730; | |
| 828 | + LastUpgradeCheck = 0700; | |
| 829 | + }; | |
| 830 | + buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; | |
| 831 | + compatibilityVersion = "Xcode 3.2"; | |
| 832 | + developmentRegion = English; | |
| 833 | + hasScannedForEncodings = 0; | |
| 834 | + knownRegions = ( | |
| 835 | + en, | |
| 836 | + ); | |
| 837 | + mainGroup = 7DB346D0F39D3F0E887471402A8071AB; | |
| 838 | + productRefGroup = 2E28D8982B5D54793895071991971A60 /* Products */; | |
| 839 | + projectDirPath = ""; | |
| 840 | + projectRoot = ""; | |
| 841 | + targets = ( | |
| 842 | + 95FC2A6E6601C839D6B4BD4B31ACA4FD /* Ks3SDK */, | |
| 843 | + B2CE65DA0288B635CC9364306C3C5972 /* Pods-KS3SDKDemo */, | |
| 844 | + ); | |
| 845 | + }; | |
| 846 | +/* End PBXProject section */ | |
| 847 | + | |
| 848 | +/* Begin PBXSourcesBuildPhase section */ | |
| 849 | + 1961270A6BD1F66966359581BE6A2A65 /* Sources */ = { | |
| 850 | + isa = PBXSourcesBuildPhase; | |
| 851 | + buildActionMask = 2147483647; | |
| 852 | + files = ( | |
| 853 | + F12C35924E2F8C3E0B4C69E9ACC552FF /* Pods-KS3SDKDemo-dummy.m in Sources */, | |
| 854 | + ); | |
| 855 | + runOnlyForDeploymentPostprocessing = 0; | |
| 856 | + }; | |
| 857 | + 40A60721BF6CE43661DE844A69C32605 /* Sources */ = { | |
| 858 | + isa = PBXSourcesBuildPhase; | |
| 859 | + buildActionMask = 2147483647; | |
| 860 | + files = ( | |
| 861 | + 73E168F9B0C38910F7A022166034145B /* KS3AbortMultipartUploadRequest.m in Sources */, | |
| 862 | + EEB806BB5BE40F2BCD348B069BF3D1A0 /* KS3AbortMultipartUploadResponse.m in Sources */, | |
| 863 | + AB88E1698414D43B08491DA9052454DA /* KS3AbstractPutRequest.m in Sources */, | |
| 864 | + 90193C1B5638C7EA17788C0276EF2231 /* KS3AbstractWebServiceClient.m in Sources */, | |
| 865 | + 1BF1DFF4968A6E2F271522B5E8143628 /* KS3AccessControlList.m in Sources */, | |
| 866 | + 98F03E6795EC0C2D68F8CBCE6B42768E /* KS3AuthUtils.m in Sources */, | |
| 867 | + DA5507CE4C62C933DC86FEDC9EAA89FE /* KS3Bucket.m in Sources */, | |
| 868 | + 9EA1D41D1EE183BBC8584BC74C65AA24 /* KS3BucketACLResult.m in Sources */, | |
| 869 | + 008868B2721F7DCB6ED5C9C3FCB9AB48 /* KS3BucketACLXMLParser.m in Sources */, | |
| 870 | + 11C3E39E8F39F4E52847D6C916A30D67 /* KS3BucketNameUtilities.m in Sources */, | |
| 871 | + 9297BBB0588A74307CDBD52168F063D0 /* KS3BucketObject.m in Sources */, | |
| 872 | + AA4F19EE0FA0C0FD3E802EC2230ADD9F /* KS3Client.m in Sources */, | |
| 873 | + 774D3FEC8BE7A1AC1D712F7053D4D0C0 /* KS3ClientException.m in Sources */, | |
| 874 | + 0C3967D19181AB774C5572162800C444 /* KS3CompleteMultipartUploadRequest.m in Sources */, | |
| 875 | + 451F69AD4B810140901BBFB2EA5E21BE /* KS3CompleteMultipartUploadResponse.m in Sources */, | |
| 876 | + 07AEBC2389175051896455B26204F5BA /* KS3CompleteMultipartUploadResult.m in Sources */, | |
| 877 | + C7AE888AA3184581924F3B72C214FDD1 /* KS3CreateBucketRequest.m in Sources */, | |
| 878 | + 46E592F5CBFA4BE0264328314F345FFA /* KS3CreateBucketResponse.m in Sources */, | |
| 879 | + D61489CF1341C38EA8290B0337C86972 /* KS3Credentials.m in Sources */, | |
| 880 | + E849BE4B5C26D0DC0672B2F293EE94D1 /* KS3DeleteBucketRequest.m in Sources */, | |
| 881 | + A6F93C105E04D6A011EADF9E252FA6B9 /* KS3DeleteBucketResponse.m in Sources */, | |
| 882 | + 35A93338A891A6E965BC9FFBEA5D25D2 /* KS3DeleteObjectRequest.m in Sources */, | |
| 883 | + 51C2BB487FE09097F9993EEC2F87B49F /* KS3DeleteObjectResponse.m in Sources */, | |
| 884 | + 98EBC53528694DCD2122AB12715EBC23 /* KS3DownLoad.m in Sources */, | |
| 885 | + 43A947FEF60F6DBF945378B12A0B846B /* KS3ErrorHandler.m in Sources */, | |
| 886 | + 620A654738585101C7C381DDBBF7350D /* KS3GetACLRequest.m in Sources */, | |
| 887 | + C3B5B602A635A6511EF7AF394282D5D0 /* KS3GetACLResponse.m in Sources */, | |
| 888 | + DE764F20C0EC415684FD49906918BB7E /* KS3GetBucketLoggingRequest.m in Sources */, | |
| 889 | + 72CD5D1D26A8AC427E58E7515017CF45 /* KS3GetBucketLoggingResponse.m in Sources */, | |
| 890 | + C10D1F76EE3678B27F26C4A93191EDE0 /* KS3GetObjectACLRequest.m in Sources */, | |
| 891 | + F1923ED2CE802CC21CAE26FC501DE6FA /* KS3GetObjectACLResponse.m in Sources */, | |
| 892 | + 4B9E921706C47D7D82835645B144F79F /* KS3GetObjectRequest.m in Sources */, | |
| 893 | + E9136460EE5ECC4C873B5197450268F0 /* KS3GetObjectResponse.m in Sources */, | |
| 894 | + 3FB707428B633241710AA92AADA2FEBE /* KS3Grant.m in Sources */, | |
| 895 | + 7794D5A8BCF03913691E5E10B9F91065 /* KS3GrantAccessControlList.m in Sources */, | |
| 896 | + 9DC0579C46A085FBDCC77D03269E7101 /* KS3HeadBucketRequest.m in Sources */, | |
| 897 | + 43D5E360B5E35E618E956AE81021BA4D /* KS3HeadBucketResponse.m in Sources */, | |
| 898 | + CB4F4B196F5F76F11024D8BAB6AB2669 /* KS3HeadObjectRequest.m in Sources */, | |
| 899 | + 788B9161E18ABEF211BFA25C922603C0 /* KS3HeadObjectResponse.m in Sources */, | |
| 900 | + 8567C6C4023BB8062023DD3E823D80C3 /* KS3InitiateMultipartUploadRequest.m in Sources */, | |
| 901 | + 88F08741E2AE04B9BFCABEED01E18D81 /* KS3InitiateMultipartUploadResponse.m in Sources */, | |
| 902 | + 4A3ACC77D3C8CDC06CDFFECC7E673F5C /* KS3InitiateMultipartUploadResult.m in Sources */, | |
| 903 | + 5679A2BBFC0446829FBD03E447857E78 /* KS3InitiateMultipartUploadXMLParser.m in Sources */, | |
| 904 | + 6D8AF4D84C301DC077DD9601605C5A08 /* KS3ListBucketsRequest.m in Sources */, | |
| 905 | + A5FB2BDD5E3CF2D2D2BFD3E046FD753E /* KS3ListBucketsResponse.m in Sources */, | |
| 906 | + 11B693CF4E9D98F66347EF9FC6079BC1 /* KS3ListBucketsResult.m in Sources */, | |
| 907 | + 01948084A8F457F061FB904C61E04383 /* KS3ListBucketsXMLParser.m in Sources */, | |
| 908 | + 98C36BECAD5FD7E58F75D1881C0096D8 /* KS3ListObjectsRequest.m in Sources */, | |
| 909 | + 16466EEEFA022707C0933A524F3D8737 /* KS3ListObjectsResponse.m in Sources */, | |
| 910 | + E64D73D9A51E4A70187656F0651571DE /* KS3ListObjectsResult.m in Sources */, | |
| 911 | + 498FC8D3E4CCB9EFA75310A92BC0EF47 /* KS3ListObjectsXMLPrarser.m in Sources */, | |
| 912 | + C6AA5F333B261D880C71DBF1C42FF50F /* KS3ListPartsRequest.m in Sources */, | |
| 913 | + 462141CAF4C85CEBCBFEE97A8B0ECA3D /* KS3ListPartsResponse.m in Sources */, | |
| 914 | + D47CF3247FF5D5138E799494199B4B50 /* KS3ListPartsResult.m in Sources */, | |
| 915 | + BE45EA1D439876DEFD995FB48972504D /* KS3ListPartsResultXMLParser.m in Sources */, | |
| 916 | + CF9F57F1662BD9D99FCDB4767D9E1DE8 /* KS3MD5Util.m in Sources */, | |
| 917 | + 465A067849770365903B8DE5B9183A9E /* KS3MultipartUpload.m in Sources */, | |
| 918 | + 753F593C42A711A80330B700869305F9 /* KS3ObjectACLXMLParser.m in Sources */, | |
| 919 | + 66E05417F3A6FE348A245BE937978EBB /* KS3ObjectSummary.m in Sources */, | |
| 920 | + 50892CCCAED4409239D1DD86BAB6B409 /* KS3Owner.m in Sources */, | |
| 921 | + 11120D05D691D144464423BE51577081 /* KS3Part.m in Sources */, | |
| 922 | + C4068E0D521CD8B564D737CF7F74255D /* KS3PutObjectCopyRequest.m in Sources */, | |
| 923 | + 4FCBEA2543FE53BFA1E22193C8EFD9D4 /* KS3PutObjectCopyResponse.m in Sources */, | |
| 924 | + C21E5F0536C3BD3E56623BA2E1317F2B /* KS3PutObjectRequest.m in Sources */, | |
| 925 | + BF1A161AB898532070069A10C2AEE03F /* KS3PutObjectResponse.m in Sources */, | |
| 926 | + A38B87ED1BA9451BFEDF7D952C7A115C /* KS3Request.m in Sources */, | |
| 927 | + 6E92E14B09638CCE79650F5A3B627D4F /* KS3Response.m in Sources */, | |
| 928 | + EC2A8D5A6FBF71E72BD76D68E8B42188 /* KS3ResponseHeaderOverrides.m in Sources */, | |
| 929 | + 8BBF5086DE6CADE807024EE54B0F583F /* Ks3SDK-dummy.m in Sources */, | |
| 930 | + 26417D39932C9AB284BB286CD7C4B5A0 /* KS3SDKUtil.m in Sources */, | |
| 931 | + 7B3E497E577F149784683971D5C7C0F6 /* KS3ServiceRequest.m in Sources */, | |
| 932 | + 47A1B194E4E18AD0F1D5EAAF30EBDE63 /* KS3ServiceResponse.m in Sources */, | |
| 933 | + CC4CF53DDBA39A7E1E06C64CBDE08BFB /* KS3SetACLRequest.m in Sources */, | |
| 934 | + 954DBB07B05D8D19316AF857F64F3AF8 /* KS3SetACLResponse.m in Sources */, | |
| 935 | + DFED20C1500C1EB14FDE3362188038B5 /* KS3SetBucketLoggingRequest.m in Sources */, | |
| 936 | + 153DE3EDD35451B5190821B9886D49FA /* KS3SetBucketLoggingResponse.m in Sources */, | |
| 937 | + E1F6C2A9615B41CD846CDBAF15BB4CE4 /* KS3SetGrantACLRequest.m in Sources */, | |
| 938 | + 617A42231C903E2B332D7B7633B3C590 /* KS3SetGrantACLResponse.m in Sources */, | |
| 939 | + 9637D4DAC258AD6EA19706CFFE49E7FB /* KS3SetObjectACLRequest.m in Sources */, | |
| 940 | + 6040B04A329CB40C7CC580140EB9FC6E /* KS3SetObjectACLResponse.m in Sources */, | |
| 941 | + CB229801C3F6D94D58ABA208BAD64805 /* KS3SetObjectGrantACLRequest.m in Sources */, | |
| 942 | + 8DE376022641B9B126E8EA58E49C4E74 /* KS3SetObjectGrantACLResponse.m in Sources */, | |
| 943 | + 7073EFF2BF6475F4FEDCEFE0118EA2DE /* KS3Upload.m in Sources */, | |
| 944 | + 73B4002909669BC54B57587F553BC0C4 /* KS3UploadManager.m in Sources */, | |
| 945 | + 433FD702832D6AB60A8AE996DFC18953 /* KS3UploadPartRequest.m in Sources */, | |
| 946 | + 715B37EE4CF81A0A00ECF8F92948A23D /* KS3UploadPartResponse.m in Sources */, | |
| 947 | + 49567FCFE3B56F9D4518D176A7376970 /* KS3UploadRequest.m in Sources */, | |
| 948 | + C798C0DB0DFC0A36813A60D9BA3B666E /* KS3URLRequest.m in Sources */, | |
| 949 | + AB9486F88F4D73E9B42250BFCB092564 /* KS3WebServiceClient.m in Sources */, | |
| 950 | + ); | |
| 951 | + runOnlyForDeploymentPostprocessing = 0; | |
| 952 | + }; | |
| 953 | +/* End PBXSourcesBuildPhase section */ | |
| 954 | + | |
| 955 | +/* Begin PBXTargetDependency section */ | |
| 956 | + 37C599DC0E69EFBDAD65471D946F5C1D /* PBXTargetDependency */ = { | |
| 957 | + isa = PBXTargetDependency; | |
| 958 | + name = Ks3SDK; | |
| 959 | + target = 95FC2A6E6601C839D6B4BD4B31ACA4FD /* Ks3SDK */; | |
| 960 | + targetProxy = 981513A7FAA0CA66689E535B8DEF7744 /* PBXContainerItemProxy */; | |
| 961 | + }; | |
| 962 | +/* End PBXTargetDependency section */ | |
| 963 | + | |
| 964 | +/* Begin XCBuildConfiguration section */ | |
| 965 | + 79B0C2E66EFA9917ED6EDDB8FC6A7684 /* Release */ = { | |
| 966 | + isa = XCBuildConfiguration; | |
| 967 | + buildSettings = { | |
| 968 | + ALWAYS_SEARCH_USER_PATHS = NO; | |
| 969 | + CLANG_ANALYZER_NONNULL = YES; | |
| 970 | + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; | |
| 971 | + CLANG_CXX_LIBRARY = "libc++"; | |
| 972 | + CLANG_ENABLE_MODULES = YES; | |
| 973 | + CLANG_ENABLE_OBJC_ARC = YES; | |
| 974 | + CLANG_WARN_BOOL_CONVERSION = YES; | |
| 975 | + CLANG_WARN_CONSTANT_CONVERSION = YES; | |
| 976 | + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; | |
| 977 | + CLANG_WARN_EMPTY_BODY = YES; | |
| 978 | + CLANG_WARN_ENUM_CONVERSION = YES; | |
| 979 | + CLANG_WARN_INT_CONVERSION = YES; | |
| 980 | + CLANG_WARN_OBJC_ROOT_CLASS = YES; | |
| 981 | + CLANG_WARN_UNREACHABLE_CODE = YES; | |
| 982 | + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; | |
| 983 | + CODE_SIGNING_REQUIRED = NO; | |
| 984 | + COPY_PHASE_STRIP = YES; | |
| 985 | + ENABLE_NS_ASSERTIONS = NO; | |
| 986 | + GCC_C_LANGUAGE_STANDARD = gnu99; | |
| 987 | + GCC_PREPROCESSOR_DEFINITIONS = ( | |
| 988 | + "POD_CONFIGURATION_RELEASE=1", | |
| 989 | + "$(inherited)", | |
| 990 | + ); | |
| 991 | + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; | |
| 992 | + GCC_WARN_ABOUT_RETURN_TYPE = YES; | |
| 993 | + GCC_WARN_UNDECLARED_SELECTOR = YES; | |
| 994 | + GCC_WARN_UNINITIALIZED_AUTOS = YES; | |
| 995 | + GCC_WARN_UNUSED_FUNCTION = YES; | |
| 996 | + GCC_WARN_UNUSED_VARIABLE = YES; | |
| 997 | + IPHONEOS_DEPLOYMENT_TARGET = 7.0; | |
| 998 | + PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; | |
| 999 | + STRIP_INSTALLED_PRODUCT = NO; | |
| 1000 | + SYMROOT = "${SRCROOT}/../build"; | |
| 1001 | + VALIDATE_PRODUCT = YES; | |
| 1002 | + }; | |
| 1003 | + name = Release; | |
| 1004 | + }; | |
| 1005 | + 8FFFA5F593D9BA62D9639A29F9C169CF /* Release */ = { | |
| 1006 | + isa = XCBuildConfiguration; | |
| 1007 | + baseConfigurationReference = 0258B8D9FBCB6E96A18FDC8067CF357B /* Pods-KS3SDKDemo.release.xcconfig */; | |
| 1008 | + buildSettings = { | |
| 1009 | + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; | |
| 1010 | + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; | |
| 1011 | + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; | |
| 1012 | + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; | |
| 1013 | + ENABLE_STRICT_OBJC_MSGSEND = YES; | |
| 1014 | + GCC_NO_COMMON_BLOCKS = YES; | |
| 1015 | + IPHONEOS_DEPLOYMENT_TARGET = 7.0; | |
| 1016 | + MACH_O_TYPE = staticlib; | |
| 1017 | + MTL_ENABLE_DEBUG_INFO = NO; | |
| 1018 | + OTHER_LDFLAGS = ""; | |
| 1019 | + OTHER_LIBTOOLFLAGS = ""; | |
| 1020 | + PODS_ROOT = "$(SRCROOT)"; | |
| 1021 | + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; | |
| 1022 | + PRODUCT_NAME = "$(TARGET_NAME)"; | |
| 1023 | + SDKROOT = iphoneos; | |
| 1024 | + SKIP_INSTALL = YES; | |
| 1025 | + }; | |
| 1026 | + name = Release; | |
| 1027 | + }; | |
| 1028 | + A3A3A5D9B0A378FDDBD54EF92DFACCFA /* Debug */ = { | |
| 1029 | + isa = XCBuildConfiguration; | |
| 1030 | + baseConfigurationReference = A075D9F0DD5B2EF4F8B5C21385FA784A /* Ks3SDK.xcconfig */; | |
| 1031 | + buildSettings = { | |
| 1032 | + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; | |
| 1033 | + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; | |
| 1034 | + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; | |
| 1035 | + DEBUG_INFORMATION_FORMAT = dwarf; | |
| 1036 | + ENABLE_STRICT_OBJC_MSGSEND = YES; | |
| 1037 | + GCC_NO_COMMON_BLOCKS = YES; | |
| 1038 | + GCC_PREFIX_HEADER = "Target Support Files/Ks3SDK/Ks3SDK-prefix.pch"; | |
| 1039 | + IPHONEOS_DEPLOYMENT_TARGET = 7.0; | |
| 1040 | + MTL_ENABLE_DEBUG_INFO = YES; | |
| 1041 | + OTHER_LDFLAGS = ""; | |
| 1042 | + OTHER_LIBTOOLFLAGS = ""; | |
| 1043 | + PRIVATE_HEADERS_FOLDER_PATH = ""; | |
| 1044 | + PRODUCT_NAME = "$(TARGET_NAME)"; | |
| 1045 | + PUBLIC_HEADERS_FOLDER_PATH = ""; | |
| 1046 | + SDKROOT = iphoneos; | |
| 1047 | + SKIP_INSTALL = YES; | |
| 1048 | + }; | |
| 1049 | + name = Debug; | |
| 1050 | + }; | |
| 1051 | + C4D0F26333DF04B763BCA5CD6838E474 /* Debug */ = { | |
| 1052 | + isa = XCBuildConfiguration; | |
| 1053 | + baseConfigurationReference = 937F8C893F4237D5C9AF6960BDF0D3FC /* Pods-KS3SDKDemo.debug.xcconfig */; | |
| 1054 | + buildSettings = { | |
| 1055 | + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; | |
| 1056 | + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; | |
| 1057 | + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; | |
| 1058 | + DEBUG_INFORMATION_FORMAT = dwarf; | |
| 1059 | + ENABLE_STRICT_OBJC_MSGSEND = YES; | |
| 1060 | + GCC_NO_COMMON_BLOCKS = YES; | |
| 1061 | + IPHONEOS_DEPLOYMENT_TARGET = 7.0; | |
| 1062 | + MACH_O_TYPE = staticlib; | |
| 1063 | + MTL_ENABLE_DEBUG_INFO = YES; | |
| 1064 | + OTHER_LDFLAGS = ""; | |
| 1065 | + OTHER_LIBTOOLFLAGS = ""; | |
| 1066 | + PODS_ROOT = "$(SRCROOT)"; | |
| 1067 | + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; | |
| 1068 | + PRODUCT_NAME = "$(TARGET_NAME)"; | |
| 1069 | + SDKROOT = iphoneos; | |
| 1070 | + SKIP_INSTALL = YES; | |
| 1071 | + }; | |
| 1072 | + name = Debug; | |
| 1073 | + }; | |
| 1074 | + CF7953F66E785E8876EB4D370D777D50 /* Debug */ = { | |
| 1075 | + isa = XCBuildConfiguration; | |
| 1076 | + buildSettings = { | |
| 1077 | + ALWAYS_SEARCH_USER_PATHS = NO; | |
| 1078 | + CLANG_ANALYZER_NONNULL = YES; | |
| 1079 | + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; | |
| 1080 | + CLANG_CXX_LIBRARY = "libc++"; | |
| 1081 | + CLANG_ENABLE_MODULES = YES; | |
| 1082 | + CLANG_ENABLE_OBJC_ARC = YES; | |
| 1083 | + CLANG_WARN_BOOL_CONVERSION = YES; | |
| 1084 | + CLANG_WARN_CONSTANT_CONVERSION = YES; | |
| 1085 | + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; | |
| 1086 | + CLANG_WARN_EMPTY_BODY = YES; | |
| 1087 | + CLANG_WARN_ENUM_CONVERSION = YES; | |
| 1088 | + CLANG_WARN_INT_CONVERSION = YES; | |
| 1089 | + CLANG_WARN_OBJC_ROOT_CLASS = YES; | |
| 1090 | + CLANG_WARN_UNREACHABLE_CODE = YES; | |
| 1091 | + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; | |
| 1092 | + CODE_SIGNING_REQUIRED = NO; | |
| 1093 | + COPY_PHASE_STRIP = NO; | |
| 1094 | + ENABLE_TESTABILITY = YES; | |
| 1095 | + GCC_C_LANGUAGE_STANDARD = gnu99; | |
| 1096 | + GCC_DYNAMIC_NO_PIC = NO; | |
| 1097 | + GCC_OPTIMIZATION_LEVEL = 0; | |
| 1098 | + GCC_PREPROCESSOR_DEFINITIONS = ( | |
| 1099 | + "POD_CONFIGURATION_DEBUG=1", | |
| 1100 | + "DEBUG=1", | |
| 1101 | + "$(inherited)", | |
| 1102 | + ); | |
| 1103 | + GCC_SYMBOLS_PRIVATE_EXTERN = NO; | |
| 1104 | + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; | |
| 1105 | + GCC_WARN_ABOUT_RETURN_TYPE = YES; | |
| 1106 | + GCC_WARN_UNDECLARED_SELECTOR = YES; | |
| 1107 | + GCC_WARN_UNINITIALIZED_AUTOS = YES; | |
| 1108 | + GCC_WARN_UNUSED_FUNCTION = YES; | |
| 1109 | + GCC_WARN_UNUSED_VARIABLE = YES; | |
| 1110 | + IPHONEOS_DEPLOYMENT_TARGET = 7.0; | |
| 1111 | + ONLY_ACTIVE_ARCH = YES; | |
| 1112 | + PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; | |
| 1113 | + STRIP_INSTALLED_PRODUCT = NO; | |
| 1114 | + SYMROOT = "${SRCROOT}/../build"; | |
| 1115 | + }; | |
| 1116 | + name = Debug; | |
| 1117 | + }; | |
| 1118 | + DF20F11DA911E0283159610271382D2F /* Release */ = { | |
| 1119 | + isa = XCBuildConfiguration; | |
| 1120 | + baseConfigurationReference = A075D9F0DD5B2EF4F8B5C21385FA784A /* Ks3SDK.xcconfig */; | |
| 1121 | + buildSettings = { | |
| 1122 | + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; | |
| 1123 | + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; | |
| 1124 | + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; | |
| 1125 | + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; | |
| 1126 | + ENABLE_STRICT_OBJC_MSGSEND = YES; | |
| 1127 | + GCC_NO_COMMON_BLOCKS = YES; | |
| 1128 | + GCC_PREFIX_HEADER = "Target Support Files/Ks3SDK/Ks3SDK-prefix.pch"; | |
| 1129 | + IPHONEOS_DEPLOYMENT_TARGET = 7.0; | |
| 1130 | + MTL_ENABLE_DEBUG_INFO = NO; | |
| 1131 | + OTHER_LDFLAGS = ""; | |
| 1132 | + OTHER_LIBTOOLFLAGS = ""; | |
| 1133 | + PRIVATE_HEADERS_FOLDER_PATH = ""; | |
| 1134 | + PRODUCT_NAME = "$(TARGET_NAME)"; | |
| 1135 | + PUBLIC_HEADERS_FOLDER_PATH = ""; | |
| 1136 | + SDKROOT = iphoneos; | |
| 1137 | + SKIP_INSTALL = YES; | |
| 1138 | + }; | |
| 1139 | + name = Release; | |
| 1140 | + }; | |
| 1141 | +/* End XCBuildConfiguration section */ | |
| 1142 | + | |
| 1143 | +/* Begin XCConfigurationList section */ | |
| 1144 | + 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { | |
| 1145 | + isa = XCConfigurationList; | |
| 1146 | + buildConfigurations = ( | |
| 1147 | + CF7953F66E785E8876EB4D370D777D50 /* Debug */, | |
| 1148 | + 79B0C2E66EFA9917ED6EDDB8FC6A7684 /* Release */, | |
| 1149 | + ); | |
| 1150 | + defaultConfigurationIsVisible = 0; | |
| 1151 | + defaultConfigurationName = Release; | |
| 1152 | + }; | |
| 1153 | + 63C38FA0D764BBE40687F0AC679FEF00 /* Build configuration list for PBXNativeTarget "Pods-KS3SDKDemo" */ = { | |
| 1154 | + isa = XCConfigurationList; | |
| 1155 | + buildConfigurations = ( | |
| 1156 | + C4D0F26333DF04B763BCA5CD6838E474 /* Debug */, | |
| 1157 | + 8FFFA5F593D9BA62D9639A29F9C169CF /* Release */, | |
| 1158 | + ); | |
| 1159 | + defaultConfigurationIsVisible = 0; | |
| 1160 | + defaultConfigurationName = Release; | |
| 1161 | + }; | |
| 1162 | + E7DD90243E3D72D1271158E30B764F63 /* Build configuration list for PBXNativeTarget "Ks3SDK" */ = { | |
| 1163 | + isa = XCConfigurationList; | |
| 1164 | + buildConfigurations = ( | |
| 1165 | + A3A3A5D9B0A378FDDBD54EF92DFACCFA /* Debug */, | |
| 1166 | + DF20F11DA911E0283159610271382D2F /* Release */, | |
| 1167 | + ); | |
| 1168 | + defaultConfigurationIsVisible = 0; | |
| 1169 | + defaultConfigurationName = Release; | |
| 1170 | + }; | |
| 1171 | +/* End XCConfigurationList section */ | |
| 1172 | + }; | |
| 1173 | + rootObject = D41D8CD98F00B204E9800998ECF8427E /* Project object */; | |
| 1174 | +} | ... | ... |
KS3SDKDemo/Pods/Pods.xcodeproj/xcuserdata/cnlive.xcuserdatad/xcschemes/Ks3SDK.xcscheme
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<Scheme | |
| 3 | + LastUpgradeVersion = "0700" | |
| 4 | + version = "1.3"> | |
| 5 | + <BuildAction | |
| 6 | + parallelizeBuildables = "YES" | |
| 7 | + buildImplicitDependencies = "YES"> | |
| 8 | + <BuildActionEntries> | |
| 9 | + <BuildActionEntry | |
| 10 | + buildForAnalyzing = "YES" | |
| 11 | + buildForTesting = "YES" | |
| 12 | + buildForRunning = "YES" | |
| 13 | + buildForProfiling = "YES" | |
| 14 | + buildForArchiving = "YES"> | |
| 15 | + <BuildableReference | |
| 16 | + BuildableIdentifier = 'primary' | |
| 17 | + BlueprintIdentifier = '95FC2A6E6601C839D6B4BD4B31ACA4FD' | |
| 18 | + BlueprintName = 'Ks3SDK' | |
| 19 | + ReferencedContainer = 'container:Pods.xcodeproj' | |
| 20 | + BuildableName = 'libKs3SDK.a'> | |
| 21 | + </BuildableReference> | |
| 22 | + </BuildActionEntry> | |
| 23 | + </BuildActionEntries> | |
| 24 | + </BuildAction> | |
| 25 | + <TestAction | |
| 26 | + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" | |
| 27 | + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" | |
| 28 | + shouldUseLaunchSchemeArgsEnv = "YES" | |
| 29 | + buildConfiguration = "Debug"> | |
| 30 | + <AdditionalOptions> | |
| 31 | + </AdditionalOptions> | |
| 32 | + </TestAction> | |
| 33 | + <LaunchAction | |
| 34 | + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" | |
| 35 | + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" | |
| 36 | + launchStyle = "0" | |
| 37 | + useCustomWorkingDirectory = "NO" | |
| 38 | + ignoresPersistentStateOnLaunch = "NO" | |
| 39 | + debugDocumentVersioning = "YES" | |
| 40 | + debugServiceExtension = "internal" | |
| 41 | + buildConfiguration = "Debug" | |
| 42 | + allowLocationSimulation = "YES"> | |
| 43 | + <AdditionalOptions> | |
| 44 | + </AdditionalOptions> | |
| 45 | + </LaunchAction> | |
| 46 | + <ProfileAction | |
| 47 | + savedToolIdentifier = "" | |
| 48 | + useCustomWorkingDirectory = "NO" | |
| 49 | + debugDocumentVersioning = "YES" | |
| 50 | + buildConfiguration = "Release" | |
| 51 | + shouldUseLaunchSchemeArgsEnv = "YES"> | |
| 52 | + </ProfileAction> | |
| 53 | + <AnalyzeAction | |
| 54 | + buildConfiguration = "Debug"> | |
| 55 | + </AnalyzeAction> | |
| 56 | + <ArchiveAction | |
| 57 | + buildConfiguration = "Release" | |
| 58 | + revealArchiveInOrganizer = "YES"> | |
| 59 | + </ArchiveAction> | |
| 60 | +</Scheme> | ... | ... |
KS3SDKDemo/Pods/Pods.xcodeproj/xcuserdata/cnlive.xcuserdatad/xcschemes/Pods-KS3SDKDemo.xcscheme
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<Scheme | |
| 3 | + LastUpgradeVersion = "0700" | |
| 4 | + version = "1.3"> | |
| 5 | + <BuildAction | |
| 6 | + parallelizeBuildables = "YES" | |
| 7 | + buildImplicitDependencies = "YES"> | |
| 8 | + <BuildActionEntries> | |
| 9 | + <BuildActionEntry | |
| 10 | + buildForAnalyzing = "YES" | |
| 11 | + buildForTesting = "YES" | |
| 12 | + buildForRunning = "YES" | |
| 13 | + buildForProfiling = "YES" | |
| 14 | + buildForArchiving = "YES"> | |
| 15 | + <BuildableReference | |
| 16 | + BuildableIdentifier = 'primary' | |
| 17 | + BlueprintIdentifier = 'B2CE65DA0288B635CC9364306C3C5972' | |
| 18 | + BlueprintName = 'Pods-KS3SDKDemo' | |
| 19 | + ReferencedContainer = 'container:Pods.xcodeproj' | |
| 20 | + BuildableName = 'libPods-KS3SDKDemo.a'> | |
| 21 | + </BuildableReference> | |
| 22 | + </BuildActionEntry> | |
| 23 | + </BuildActionEntries> | |
| 24 | + </BuildAction> | |
| 25 | + <TestAction | |
| 26 | + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" | |
| 27 | + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" | |
| 28 | + shouldUseLaunchSchemeArgsEnv = "YES" | |
| 29 | + buildConfiguration = "Debug"> | |
| 30 | + <AdditionalOptions> | |
| 31 | + </AdditionalOptions> | |
| 32 | + </TestAction> | |
| 33 | + <LaunchAction | |
| 34 | + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" | |
| 35 | + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" | |
| 36 | + launchStyle = "0" | |
| 37 | + useCustomWorkingDirectory = "NO" | |
| 38 | + ignoresPersistentStateOnLaunch = "NO" | |
| 39 | + debugDocumentVersioning = "YES" | |
| 40 | + debugServiceExtension = "internal" | |
| 41 | + buildConfiguration = "Debug" | |
| 42 | + allowLocationSimulation = "YES"> | |
| 43 | + <AdditionalOptions> | |
| 44 | + </AdditionalOptions> | |
| 45 | + </LaunchAction> | |
| 46 | + <ProfileAction | |
| 47 | + savedToolIdentifier = "" | |
| 48 | + useCustomWorkingDirectory = "NO" | |
| 49 | + debugDocumentVersioning = "YES" | |
| 50 | + buildConfiguration = "Release" | |
| 51 | + shouldUseLaunchSchemeArgsEnv = "YES"> | |
| 52 | + </ProfileAction> | |
| 53 | + <AnalyzeAction | |
| 54 | + buildConfiguration = "Debug"> | |
| 55 | + </AnalyzeAction> | |
| 56 | + <ArchiveAction | |
| 57 | + buildConfiguration = "Release" | |
| 58 | + revealArchiveInOrganizer = "YES"> | |
| 59 | + </ArchiveAction> | |
| 60 | +</Scheme> | ... | ... |
KS3SDKDemo/Pods/Target Support Files/Ks3SDK/Ks3SDK-dummy.m
0 → 100644
KS3SDKDemo/Pods/Target Support Files/Ks3SDK/Ks3SDK-prefix.pch
0 → 100644
KS3SDKDemo/Pods/Target Support Files/Ks3SDK/Ks3SDK.xcconfig
0 → 100644
| 1 | +CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/Ks3SDK | |
| 2 | +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 | |
| 3 | +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/Ks3SDK" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Ks3SDK" | |
| 4 | +PODS_BUILD_DIR = $BUILD_DIR | |
| 5 | +PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) | |
| 6 | +PODS_ROOT = ${SRCROOT} | |
| 7 | +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} | |
| 8 | +SKIP_INSTALL = YES | ... | ... |
KS3SDKDemo/Pods/Target Support Files/Pods-KS3SDKDemo/Pods-KS3SDKDemo-acknowledgements.markdown
0 → 100644
| 1 | +# Acknowledgements | |
| 2 | +This application makes use of the following third party libraries: | |
| 3 | + | |
| 4 | +## Ks3SDK | |
| 5 | + | |
| 6 | +Copyright (c) 2017 Kingsoft. | |
| 7 | + | |
| 8 | +Licensed under the Apache License, Version 2.0 (the "License"); | |
| 9 | +you may not use this file except in compliance with the License. | |
| 10 | +You may obtain a copy of the License at | |
| 11 | + | |
| 12 | + http://www.apache.org/licenses/LICENSE-2.0 | |
| 13 | + | |
| 14 | + Unless required by applicable law or agreed to in writing, software | |
| 15 | + distributed under the License is distributed on an "AS IS" BASIS, | |
| 16 | + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 17 | + See the License for the specific language governing permissions and | |
| 18 | + limitations under the License. | |
| 19 | + | |
| 20 | +Generated by CocoaPods - https://cocoapods.org | ... | ... |
KS3SDKDemo/Pods/Target Support Files/Pods-KS3SDKDemo/Pods-KS3SDKDemo-acknowledgements.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>PreferenceSpecifiers</key> | |
| 6 | + <array> | |
| 7 | + <dict> | |
| 8 | + <key>FooterText</key> | |
| 9 | + <string>This application makes use of the following third party libraries:</string> | |
| 10 | + <key>Title</key> | |
| 11 | + <string>Acknowledgements</string> | |
| 12 | + <key>Type</key> | |
| 13 | + <string>PSGroupSpecifier</string> | |
| 14 | + </dict> | |
| 15 | + <dict> | |
| 16 | + <key>FooterText</key> | |
| 17 | + <string>Copyright (c) 2017 Kingsoft. | |
| 18 | + | |
| 19 | +Licensed under the Apache License, Version 2.0 (the "License"); | |
| 20 | +you may not use this file except in compliance with the License. | |
| 21 | +You may obtain a copy of the License at | |
| 22 | + | |
| 23 | + http://www.apache.org/licenses/LICENSE-2.0 | |
| 24 | + | |
| 25 | + Unless required by applicable law or agreed to in writing, software | |
| 26 | + distributed under the License is distributed on an "AS IS" BASIS, | |
| 27 | + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 28 | + See the License for the specific language governing permissions and | |
| 29 | + limitations under the License. | |
| 30 | +</string> | |
| 31 | + <key>License</key> | |
| 32 | + <string>Apache License, Version 2.0</string> | |
| 33 | + <key>Title</key> | |
| 34 | + <string>Ks3SDK</string> | |
| 35 | + <key>Type</key> | |
| 36 | + <string>PSGroupSpecifier</string> | |
| 37 | + </dict> | |
| 38 | + <dict> | |
| 39 | + <key>FooterText</key> | |
| 40 | + <string>Generated by CocoaPods - https://cocoapods.org</string> | |
| 41 | + <key>Title</key> | |
| 42 | + <string></string> | |
| 43 | + <key>Type</key> | |
| 44 | + <string>PSGroupSpecifier</string> | |
| 45 | + </dict> | |
| 46 | + </array> | |
| 47 | + <key>StringsTable</key> | |
| 48 | + <string>Acknowledgements</string> | |
| 49 | + <key>Title</key> | |
| 50 | + <string>Acknowledgements</string> | |
| 51 | +</dict> | |
| 52 | +</plist> | ... | ... |
KS3SDKDemo/Pods/Target Support Files/Pods-KS3SDKDemo/Pods-KS3SDKDemo-dummy.m
0 → 100644
KS3SDKDemo/Pods/Target Support Files/Pods-KS3SDKDemo/Pods-KS3SDKDemo-frameworks.sh
0 → 100755
| 1 | +#!/bin/sh | |
| 2 | +set -e | |
| 3 | + | |
| 4 | +echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" | |
| 5 | +mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" | |
| 6 | + | |
| 7 | +SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" | |
| 8 | + | |
| 9 | +install_framework() | |
| 10 | +{ | |
| 11 | + if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then | |
| 12 | + local source="${BUILT_PRODUCTS_DIR}/$1" | |
| 13 | + elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then | |
| 14 | + local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" | |
| 15 | + elif [ -r "$1" ]; then | |
| 16 | + local source="$1" | |
| 17 | + fi | |
| 18 | + | |
| 19 | + local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" | |
| 20 | + | |
| 21 | + if [ -L "${source}" ]; then | |
| 22 | + echo "Symlinked..." | |
| 23 | + source="$(readlink "${source}")" | |
| 24 | + fi | |
| 25 | + | |
| 26 | + # use filter instead of exclude so missing patterns dont' throw errors | |
| 27 | + echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" | |
| 28 | + rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" | |
| 29 | + | |
| 30 | + local basename | |
| 31 | + basename="$(basename -s .framework "$1")" | |
| 32 | + binary="${destination}/${basename}.framework/${basename}" | |
| 33 | + if ! [ -r "$binary" ]; then | |
| 34 | + binary="${destination}/${basename}" | |
| 35 | + fi | |
| 36 | + | |
| 37 | + # Strip invalid architectures so "fat" simulator / device frameworks work on device | |
| 38 | + if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then | |
| 39 | + strip_invalid_archs "$binary" | |
| 40 | + fi | |
| 41 | + | |
| 42 | + # Resign the code if required by the build settings to avoid unstable apps | |
| 43 | + code_sign_if_enabled "${destination}/$(basename "$1")" | |
| 44 | + | |
| 45 | + # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. | |
| 46 | + if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then | |
| 47 | + local swift_runtime_libs | |
| 48 | + swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) | |
| 49 | + for lib in $swift_runtime_libs; do | |
| 50 | + echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" | |
| 51 | + rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" | |
| 52 | + code_sign_if_enabled "${destination}/${lib}" | |
| 53 | + done | |
| 54 | + fi | |
| 55 | +} | |
| 56 | + | |
| 57 | +# Signs a framework with the provided identity | |
| 58 | +code_sign_if_enabled() { | |
| 59 | + if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then | |
| 60 | + # Use the current code_sign_identitiy | |
| 61 | + echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" | |
| 62 | + echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements \"$1\"" | |
| 63 | + /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements "$1" | |
| 64 | + fi | |
| 65 | +} | |
| 66 | + | |
| 67 | +# Strip invalid architectures | |
| 68 | +strip_invalid_archs() { | |
| 69 | + binary="$1" | |
| 70 | + # Get architectures for current file | |
| 71 | + archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)" | |
| 72 | + stripped="" | |
| 73 | + for arch in $archs; do | |
| 74 | + if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then | |
| 75 | + # Strip non-valid architectures in-place | |
| 76 | + lipo -remove "$arch" -output "$binary" "$binary" || exit 1 | |
| 77 | + stripped="$stripped $arch" | |
| 78 | + fi | |
| 79 | + done | |
| 80 | + if [[ "$stripped" ]]; then | |
| 81 | + echo "Stripped $binary of architectures:$stripped" | |
| 82 | + fi | |
| 83 | +} | |
| 84 | + | ... | ... |
KS3SDKDemo/Pods/Target Support Files/Pods-KS3SDKDemo/Pods-KS3SDKDemo-resources.sh
0 → 100755
| 1 | +#!/bin/sh | |
| 2 | +set -e | |
| 3 | + | |
| 4 | +mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" | |
| 5 | + | |
| 6 | +RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt | |
| 7 | +> "$RESOURCES_TO_COPY" | |
| 8 | + | |
| 9 | +XCASSET_FILES=() | |
| 10 | + | |
| 11 | +case "${TARGETED_DEVICE_FAMILY}" in | |
| 12 | + 1,2) | |
| 13 | + TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" | |
| 14 | + ;; | |
| 15 | + 1) | |
| 16 | + TARGET_DEVICE_ARGS="--target-device iphone" | |
| 17 | + ;; | |
| 18 | + 2) | |
| 19 | + TARGET_DEVICE_ARGS="--target-device ipad" | |
| 20 | + ;; | |
| 21 | + *) | |
| 22 | + TARGET_DEVICE_ARGS="--target-device mac" | |
| 23 | + ;; | |
| 24 | +esac | |
| 25 | + | |
| 26 | +install_resource() | |
| 27 | +{ | |
| 28 | + if [[ "$1" = /* ]] ; then | |
| 29 | + RESOURCE_PATH="$1" | |
| 30 | + else | |
| 31 | + RESOURCE_PATH="${PODS_ROOT}/$1" | |
| 32 | + fi | |
| 33 | + if [[ ! -e "$RESOURCE_PATH" ]] ; then | |
| 34 | + cat << EOM | |
| 35 | +error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. | |
| 36 | +EOM | |
| 37 | + exit 1 | |
| 38 | + fi | |
| 39 | + case $RESOURCE_PATH in | |
| 40 | + *.storyboard) | |
| 41 | + echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" | |
| 42 | + ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} | |
| 43 | + ;; | |
| 44 | + *.xib) | |
| 45 | + echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" | |
| 46 | + ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} | |
| 47 | + ;; | |
| 48 | + *.framework) | |
| 49 | + echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" | |
| 50 | + mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" | |
| 51 | + echo "rsync -av $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" | |
| 52 | + rsync -av "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" | |
| 53 | + ;; | |
| 54 | + *.xcdatamodel) | |
| 55 | + echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" | |
| 56 | + xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" | |
| 57 | + ;; | |
| 58 | + *.xcdatamodeld) | |
| 59 | + echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" | |
| 60 | + xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" | |
| 61 | + ;; | |
| 62 | + *.xcmappingmodel) | |
| 63 | + echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" | |
| 64 | + xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" | |
| 65 | + ;; | |
| 66 | + *.xcassets) | |
| 67 | + ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" | |
| 68 | + XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") | |
| 69 | + ;; | |
| 70 | + *) | |
| 71 | + echo "$RESOURCE_PATH" | |
| 72 | + echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" | |
| 73 | + ;; | |
| 74 | + esac | |
| 75 | +} | |
| 76 | + | |
| 77 | +mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" | |
| 78 | +rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" | |
| 79 | +if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then | |
| 80 | + mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" | |
| 81 | + rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" | |
| 82 | +fi | |
| 83 | +rm -f "$RESOURCES_TO_COPY" | |
| 84 | + | |
| 85 | +if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ] | |
| 86 | +then | |
| 87 | + # Find all other xcassets (this unfortunately includes those of path pods and other targets). | |
| 88 | + OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) | |
| 89 | + while read line; do | |
| 90 | + if [[ $line != "${PODS_ROOT}*" ]]; then | |
| 91 | + XCASSET_FILES+=("$line") | |
| 92 | + fi | |
| 93 | + done <<<"$OTHER_XCASSETS" | |
| 94 | + | |
| 95 | + printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" | |
| 96 | +fi | ... | ... |
KS3SDKDemo/Pods/Target Support Files/Pods-KS3SDKDemo/Pods-KS3SDKDemo.debug.xcconfig
0 → 100644
| 1 | +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO | |
| 2 | +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 | |
| 3 | +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Ks3SDK" | |
| 4 | +LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Ks3SDK" | |
| 5 | +OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Ks3SDK" | |
| 6 | +OTHER_LDFLAGS = $(inherited) -ObjC -l"Ks3SDK" | |
| 7 | +PODS_BUILD_DIR = $BUILD_DIR | |
| 8 | +PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) | |
| 9 | +PODS_ROOT = ${SRCROOT}/Pods | ... | ... |
KS3SDKDemo/Pods/Target Support Files/Pods-KS3SDKDemo/Pods-KS3SDKDemo.release.xcconfig
0 → 100644
| 1 | +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO | |
| 2 | +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 | |
| 3 | +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Ks3SDK" | |
| 4 | +LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Ks3SDK" | |
| 5 | +OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/Ks3SDK" | |
| 6 | +OTHER_LDFLAGS = $(inherited) -ObjC -l"Ks3SDK" | |
| 7 | +PODS_BUILD_DIR = $BUILD_DIR | |
| 8 | +PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) | |
| 9 | +PODS_ROOT = ${SRCROOT}/Pods | ... | ... |