【发布时间】:2015-02-02 14:00:10
【问题描述】:
我最近尝试学习如何使用 Amazon AWS iOS SDK,因为我想将一些文件放在允许应用程序用户下载的服务器上。
我已经下载了亚马逊提供的samples 并研究了它们: 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) 以及如何解决?考虑到这是亚马逊提供的教程,我相信我一定会错过一些非常简单的东西。
【问题讨论】:
标签: ios objective-c amazon-web-services amazon-s3 amazon-cognito