首页 > 解决方案 > iOS 13 后台上传错误:尝试将多达 500 张图像上传到 AWS 服务器

问题描述

我正在尝试在应用程序处于后台时将 500 张图像上传到 AWS 服务器,但后台任务在 iOS 13 中运行时间不超过 2 分钟。以下是 AWS 上传代码:-

        let  transferUtility = AWSS3TransferUtility.default()
        let expression = AWSS3TransferUtilityUploadExpression()

        expression.progressBlock = {(task, progress) in DispatchQueue.main.async(execute: {
            // Do something e.g. Update a progress bar.

        })
        }
        var completionHandler: AWSS3TransferUtilityUploadCompletionHandlerBlock?

        completionHandler = { (task, error) -> Void in
            DispatchQueue.main.async(execute: {
                if let error = error {

                    failure(error as NSError)
                }
                else{
                    print("Upload complete")
                }
            })
        }

        transferUtility.uploadData(data,
                                   bucket: "S3bucketname",
                                   key: "keyname",
                                   contentType:"image extension",
                                   expression: expression,
                                   completionHandler: completionHandler).continueWith {
                                    (task) -> AnyObject? in
                                    if let error = task.error {
                                        print("Error: \(error.localizedDescription)")
                                    }
                                    if let result = task.result {
                                        print("this is result \(result)")

                                    }
                                    if  task.isCompleted {
                                        print("task complete")
                                    }

                                    return nil;
        }

标签: iosswiftamazon-s3backgroundios13

解决方案


推荐阅读