应用程序退出后恢复下载

Resume download after app has been quit

我想知道在应用程序被用户或 OS 终止后是否可以恢复下载。

我看到 SKTDownloadManager 有暂停和恢复下载的方法。但是,这些方法仅适用于当前 SKTDownloadObjectHelpers。 如果我在 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];