私の人生では、私のiOSプロジェクトにAmazonのSDKを実装する方法を理解することはできません.私がやろうとしていることに関する多くのドキュメントを見つけることができないようです.
非常に単純に、Amazon S3 アカウントからファイルをダウンロードし、iPhone にローカルに保存したい... http アドレスを介して画像にアクセスすることでそれを行うことができますが、それは私が好むように画像を保護しません。
私が読んだことから、私は次のようなことをしているはずです:
AmazonS3Client *s3Client = [[AmazonS3Client alloc] initWithAccessKey:@"mykey" withSecretKey:@"mysecretkey"];
S3GetObjectRequest *requestedObject = [[S3GetObjectRequest alloc] initWithKey:bucketPath withBucket:@"mybucket"];
NSLog(@"requestedobject:%@", requestedObject - I get the log here);
S3GetObjectResponse *getObjectResponse = [s3Client getObject:requestedObject];
NSLog(@"requestedobject2:%@", getObjectResponse - it crashes before this happens);
NSData *myData2;
myData2 = getObjectResponse.body;
[myData2 writeToFile:bucketPath atomically:YES];
私は明らかにgetObjectResponse、getObjectコードで何か間違ったことをしていますが、正しい構文を理解することはできません...どんな助けも感謝します!
ログは次のとおりです: 2012-08-02 17:12:33.856 コレクション マスター エディション[13176:4e07] 要求されたオブジェクト: 2012-08-02 17:12:34.044 コレクション マスター エディション[13176:4e07] *キャッチされない例外によるアプリの終了「AmazonServiceException」、理由:「(null)」
たぶん、次のコードでバケットリストの内容を取得できることにも言及する必要があります
S3ListObjectsRequest *listObjectRequest = [[S3ListObjectsRequest alloc] initWithName:@"my bucket"];
S3ListObjectsResponse *listObjectResponse = [s3Client listObjects:listObjectRequest];
S3ListObjectsResult *listObjectsResults = listObjectResponse.listObjectsResult;
for (S3ObjectSummary *objectSummary in listObjectsResults.objectSummaries) {
NSLog(@"Bucket Contents:%@" ,[objectSummary key]); // This returns the contents of the bucket
}
ありがとう!ザック