Swift 为什么上传alamofire后台请求不';t在后台执行?
我使用alamofire将30MB的zip文件上传到服务器 这是我的要求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
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回调没有执行。