1

アプリユーザーがダウンロードできるようにサーバーにいくつかのファイルを配置したいので、最近、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 が提供するチュートリアルであることを考えると、非常に単純なことを見逃しているに違いないと思います。

4

1 に答える 1