我正在开发一个应用程序,它需要在第一次启动时下载大量数据(大约1GB的图像)。目前我正在使用库MZDownloadManager来执行下载。该库实现了下载的后台模式,我甚至将其设置为目标的功能。基本上我有这种情况:
我想让用户在执行下载时将应用程序置于后台。它在Simulator上工作得很好,但在设备上却没有。我认为在模拟器上工作是因为Mac的内存量很大。你有什么建议吗?
答案 0 :(得分:0)
NSURLSession
类支持后台文件下载。即使您的应用程序被终止,它也会下载您的文件,如果需要,下载完成后会在后台重新启动您。
答案 1 :(得分:0)
要支持后台下载,您必须配置NSURLSession
对象。要配置会话,必须首先创建NSURLSessionConfiguration
对象并将多个属性设置为适当的值。然后,在创建会话时,将该配置对象传递给NSURLSession
的相应初始化方法。
创建支持后台下载的配置对象如下:
backgroundSessionConfigurationWithIdentifier
创建配置对象:NSURLSessionConfiguration
。sessionSendsLaunchEvents
和discretionary
等任何其他属性。NSURLSession
对象示例: - 强>
let configuration = NSURLSessionConfiguration.backgroundSessionConfigurationWithIdentifier("bgSessionConfiguration")
configuration.discretionary = true
configuration.allowsCellularAccess = true //default true
let session = NSURLSession(configuration: configuration, delegate: self, delegateQueue: nil)