SIGABRT:后台会话不支持从 NSData 上传任务
Posted
技术标签:
【中文标题】SIGABRT:后台会话不支持从 NSData 上传任务【英文标题】:SIGABRT :Upload tasks from NSData are not supported in background sessions 【发布时间】:2017-03-26 18:54:28 【问题描述】:我正在使用 Alamofire 进行上传。我需要将多个图像和视频上传到我的服务器。我甚至需要将图像和视频上传到后台会话中
let bundleIdentifier = Bundle.main.bundleIdentifier
let configuration = URLSessionConfiguration.background(withIdentifier: bundleIdentifier!)
configuration.timeoutIntervalForRequest = 200 // seconds
configuration.timeoutIntervalForResource = 200
self.alamoFireManager = Alamofire.SessionManager(configuration: configuration)
I am using above code setup alamofire for background configuration.
alamoFireManager?.upload(data!, with: (router))
.uploadProgress progress in // main queue by default
print("Upload Progress: \(progress.fractionCompleted)")
.validate()
.responseJSON [weak self] response in
但是当我使用 SIGABRT 进入后台时,我的应用程序崩溃了
让我知道我做错了什么,
【问题讨论】:
【参考方案1】:这是 Apple 的 NSUrlSession 实现的限制。 Apple 不允许将 NSData 用于后台会话。但允许上传文件。因此,作为一种解决方法,您可以尝试将数据写入文件并上传该文件。您可以在此处关注实现:
https://***.com/a/22107789/1921759
【讨论】:
以上是关于SIGABRT:后台会话不支持从 NSData 上传任务的主要内容,如果未能解决你的问题,请参考以下文章