gpt4 book ai didi

ios - Alamofire 在后台下载/上传多个文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:01:35 24 4
gpt4 key购买 nike

我的应用需要具有同步功能。即类似 google photos 的功能。用户添加一些图像、标签、音频和一堆其他文件。

点击同步按钮,文件将被上传/下载。

在 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.我应该在哪里调用我的文件下载代码,以便它继续在后台运行

  1. 如果用户关闭应用或由于某种原因应用重新启动,如何恢复下载。

最佳答案

Swift 4 和 Alamofire 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
****

}

关于ios - Alamofire 在后台下载/上传多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36290168/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com