应用程序退出后恢复下载
Resume download after app has been quit
我想知道在应用程序被用户或 OS 终止后是否可以恢复下载。
我看到 SKTDownloadManager
有暂停和恢复下载的方法。但是,这些方法仅适用于当前 SKTDownloadObjectHelper
s。
如果我在 SKTDownloadManager.storedDownloadObjects()
之后将它们从 SKTDownloadManager.storedDownloadObjects()
中拉出,应用程序已退出然后再次启动并将它们扔到 SKTDownloadManager.sharedInstance().resumeDownloadForDownloadHelper()
管理器将不会恢复下载。
我对代码进行了更深入的研究,发现这些下载没有重新启动是因为缺少适当的状态。 SKTGroupedDownloadOperation.m:87
:
if (self.currentRunningGroupedOperation.stateDownloadItem >= SKTMapDownloadItemStatusDownloading) {
return NO; //cannot start download,isntall, finsihed
}
所以,我的问题是在应用程序终止后是否有可能恢复下载,如果可以,我该怎么做。感谢您的帮助:)
好吧,您可以使用 AFNetworking 类。 AFNetworkingDownloadclasses
要恢复下载,您应该在应用程序中触发一个事件:didFinishLaunching
或在应用程序重新启动后:
[[SKDownloadManager sharedInstance] tryRestartDownloadsWithDelegate:self andDataSource:self];
我想知道在应用程序被用户或 OS 终止后是否可以恢复下载。
我看到 SKTDownloadManager
有暂停和恢复下载的方法。但是,这些方法仅适用于当前 SKTDownloadObjectHelper
s。
如果我在 SKTDownloadManager.storedDownloadObjects()
之后将它们从 SKTDownloadManager.storedDownloadObjects()
中拉出,应用程序已退出然后再次启动并将它们扔到 SKTDownloadManager.sharedInstance().resumeDownloadForDownloadHelper()
管理器将不会恢复下载。
我对代码进行了更深入的研究,发现这些下载没有重新启动是因为缺少适当的状态。 SKTGroupedDownloadOperation.m:87
:
if (self.currentRunningGroupedOperation.stateDownloadItem >= SKTMapDownloadItemStatusDownloading) {
return NO; //cannot start download,isntall, finsihed
}
所以,我的问题是在应用程序终止后是否有可能恢复下载,如果可以,我该怎么做。感谢您的帮助:)
好吧,您可以使用 AFNetworking 类。 AFNetworkingDownloadclasses
要恢复下载,您应该在应用程序中触发一个事件:didFinishLaunching
或在应用程序重新启动后:
[[SKDownloadManager sharedInstance] tryRestartDownloadsWithDelegate:self andDataSource:self];