我最近尝试学习如何使用 Amazon AWS iOS SDK,因为我想将一些文件放在允许应用程序用户下载的服务器上。
我已经下载了亚马逊提供 的示例并进行了研究: 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
)以及如何解决它?考虑到这是亚马逊提供的教程,我相信我一定会错过一些非常简单的东西。