Swift 为什么上传alamofire后台请求不';t在后台执行?

Swift 为什么上传alamofire后台请求不';t在后台执行?,swift,xcode,alamofire,Swift,Xcode,Alamofire,我使用alamofire将30MB的zip文件上传到服务器 这是我的要求 let configuration = URLSessionConfiguration.background(withIdentifier: "identifire.com") alamoFireManager = Alamofire.SessionManager(configuration: configuration) let tempZipFilePath = UtilDirectory.tempZipP

我使用alamofire将30MB的zip文件上传到服务器

这是我的要求

let configuration = URLSessionConfiguration.background(withIdentifier: "identifire.com")

    alamoFireManager = Alamofire.SessionManager(configuration: configuration)

let tempZipFilePath = UtilDirectory.tempZipPath.tweak()

    alamoFireManager.upload(URL(fileURLWithPath: tempZipFilePath),
                            to: deligate.url,
                            method: .post,
                            headers: headers)
        .uploadProgress(closure: {
            progress in
            print("Upload Progress: \(progress.fractionCompleted)")
        })
        .validate()
        .responseJSON {}
当请求启动时,我可以看到上载进度
上载进度(关闭:)
,但如果我关闭应用程序,上载将暂停

我希望在关闭应用程序后,请求必须在不中断的情况下完成执行


但是为什么后台上传请求正在停止?

您必须使用后台任务。但你的应用程序仍然可能会被杀死。这取决于操作系统。看看这个

从UIC应用程序文档:

使用UIApplication对象执行以下操作…扩展 执行应用程序,以便在后台完成任务 (beginBackgroundTask(expirationHandler:), beginBackgroundTask(名称:expirationHandler:)


你必须使用后台任务。但你的应用程序仍然可能会被杀死。这取决于操作系统。看看这个

从UIC应用程序文档:

使用UIApplication对象执行以下操作…扩展 执行应用程序,以便在后台完成任务 (beginBackgroundTask(expirationHandler:), beginBackgroundTask(名称:expirationHandler:)


你找到解决方案了吗?@ankit.tlp最终没有对我来说,我可以让文件在后台上传到服务器,但之后没有收到任何进度更新。我遇到了同样的问题。。。尽管如此,我想说(至少在我的情况下)上传成功完成了…只有uploadProgress回调没有执行。你找到解决方案了吗?@ankit.tlp最终没有对我来说,我可以让文件在后台上传到服务器,但之后没有收到任何进度更新。我遇到了同样的问题。。。尽管如此,我还是要说(至少在我的例子中)上传成功完成了……只有uploadProgress回调没有执行。