我的应用需要具有同步功能。即类似谷歌照片的功能。用户添加了一些图像,标签,音频和一堆其他文件。
点击同步按钮&文件将被上传/下载。
在android中,我使用了一项有助于实现此功能的服务。
如何使用 Alamofire网络库实现此功能。
这就是我的尝试。
class BackgroundDownload{
let manager = Alamofire.Manager(configuration: NSURLSessionConfiguration.backgroundSessionConfigurationWithIdentifier("com.blabla.download.123"))
init(){
for _ in 1...10{
manager.request(NSURLRequest(URL: NSURL(string: "https://static.pexels.com/photos/479/landscape-nature-sunset-trees.jpg")!)).response { (request, response, data, let error) in
print(response)
print(error)
}
}
}
}
这是一个示例代码。我从ViewController调用它。 我面临的问题。
1.我应该在哪里调用我的文件下载代码,以便继续在后台运行。
答案 0 :(得分:0)
迅速达到4以上: 尝试使用Alamofire
class Networking {
static let sharedInstance = Networking()
public var sessionManager: Alamofire.SessionManager // most of your web service clients will call through sessionManager
public var backgroundSessionManager: Alamofire.SessionManager // your web services you intend to keep running when the system backgrounds your app will use this
private init() {
self.sessionManager = Alamofire.SessionManager(configuration: URLSessionConfiguration.default)
self.backgroundSessionManager = Alamofire.SessionManager(configuration: URLSessionConfiguration.background(withIdentifier: "com.youApp.identifier.backgroundtransfer"))
}
}
使用: 导入Alamofire
let NetworkManager = Networking.sharedInstance.backgroundSessionManager
NetworkManager.upload(multipartFormData: { (multipartFormData) in
****
//do something when the request has finished
****
}