基于this amazing tutorial,我总结了GitHub上的一个示例项目.它有一个后台会话管理的例子.
根据苹果URL Loading System Programming Guide强:
在iOS和OS X中,当用户重新启动你的应用程序时,你的应用程序
显然,在后台使用"flux-by-configuration"是不合适的.
我还发现this answer个真的很有用.
来自阿拉莫菲尔的GitHub page:
应用程序可以为后台和临时应用程序创建管理器
默认情况下,顶级方法使用具有默认会话配置的共享Manager
实例.但是,您可以创建具有后台会话配置的管理器,如下所示:
let configuration = NSURLSessionConfiguration.backgroundSessionConfigurationWithIdentifier("com.example.app.background")
let manager = Alamofire.Manager(configuration: configuration)
然后,您可以使用这个Manager
实例发出请求.
manager.startRequestsImmediately = true
let request = NSURLRequest(URL: NSURL(string: "your.url.here")!)
manager.request(request)
通过查看其实现,它还有一个名为backgroundCompletionHandler
的属性,因此您可以添加一个完成块:
manager.backgroundCompletionHandler = {
// do something when the request has finished
}