从 S3Bucket 下载的部分图像在 AWS IOS SDK 中显示为黑色

Some portion of the images downloaded from S3Bucket is appearing black in AWS IOS SDK

我正在使用以下代码使用 AWS IOS SDK

从 S3Bucket 下载图像
      let s3BucketName = "mybucket"
        let fileName = "filename.png"

        let downloadFilePath = documentDirectory.stringByAppendingPathComponent(fileName)
        let downloadingFileURL = NSURL.fileURLWithPath(downloadFilePath)

        let downloadRequest = AWSS3TransferManagerDownloadRequest()
        downloadRequest.bucket = s3BucketName
        downloadRequest.key  = "\(folder)\(fileName)"
        downloadRequest.downloadingFileURL = downloadingFileURL

         transferManager.download(downloadRequest).continueWithSuccessBlock({
            (task: BFTask!) -> BFTask! in
            dispatch_async(dispatch_get_main_queue(), {

                var image = UIImage(named: "\(documentDirectory)/\(fileName)")
                imageView.image = image
                loaderCellView.hidden = true
            })
            return nil
        })

每当下载图像时,图像的某些部分就会变黑。但是当我查看 S3 Bucket 中的图像时,它会正确显示在那里。这种情况有时会发生,有时不会。所以我正在寻找解决方案。见附图。谁能帮我这个?我会很高兴的。

我自己解决了。我升级了我的 AWS SDK 并将 BFTask 替换为 AWSTask。它对我来说就像一个魅力。 AWS 引入了新的个人框架 AWSMobileAnalytics.framework,它引入了 AWSTask 来代替 Bolt 的 BFTask。因此,它不再依赖于 Bolt 框架来 运行 上传或下载文件的后台进程,因为从现在开始,AWS 现在有了独立的框架 AWSMobileAnalytics.framework。下载最新的 SDK。删除旧 SDK 中包含的所有 json。然后删除旧SDK的所有框架文件。然后在新下载的 SDK 中添加 "frameworks" 文件夹中的所有框架文件。在桥接头中,您只需将行“#import < AWSCore/ AWSCore.h>”更改为“#import < AWSMobileAnalytics/ AWSMobileAnalytics.h>”。希望对遇到同样问题的人有所帮助。