アプリユーザーがダウンロードできるようにサーバーにいくつかのファイルを配置したいので、最近、Amazon AWS iOS SDK の使用方法を学ぼうとしています。
Amazon が提供する サンプルをダウンロードして調査しました: https://github.com/awslabs/aws-sdk-ios-samples/tree/master/S3TransferManager-Sample/Objective-C
バケットから画像をダウンロードしようとするまで、S3 バケットにファイルをアップロードすることはかなりうまくいきました。
コードをたどって、問題が発生した場所を見つけました。
[[transferManager download:self.downloadRequest1] continueWithExecutor:[BFExecutor mainThreadExecutor] withBlock:^id(BFTask *task) {
if (task.error != nil){
if(task.error.code != AWSS3TransferManagerErrorCancelled && task.error.code != AWSS3TransferManagerErrorPaused){
NSLog(@"%s Error: [%@]",__PRETTY_FUNCTION__, task.error);
self.downloadStatusLabel.text = StatusLabelFailed;
}
} else {
self.downloadRequest1 = nil;
downloadCount++;
if(3 == downloadCount){
self.downloadStatusLabel.text = StatusLabelCompleted;
}
}
return nil;
}];
task.error.code の値を出力したところ、1
( AWSS3TransferManagerErrorCancelled
) であることがわかりました。の例外処理がないためAWSS3TransferManagerErrorCancelled
、プログラムはエラー メッセージを表示せず、ファイルのダウンロードに失敗しました。
私は何を意味するのかを見つけようとしましAWSS3TransferManagerErrorCancelled
たが、運がありませんでした。
エラー コード = 1
( AWSS3TransferManagerErrorCancelled
) の理由とその解決方法を知っている人はいますか? これは Amazon が提供するチュートリアルであることを考えると、非常に単純なことを見逃しているに違いないと思います。