当应用关闭时,我在使用NewsstandKit进行下载时遇到了困难。
我的报亭应用程序下载确实在后台模式下启动,并退出后台或推送下载通知,下载问题一切正常,但我关闭应用程序然后任务正在下载,下载任务失败。
是否必须对服务器执行某些操作?或其他人?
答案 0 :(得分:0)
您需要在App再次启动时恢复下载。
对此有所帮助
// Inside App Delegate Did Finish Launching
NKLibrary *nkLib = [NKLibrary sharedLibrary];
for(NKAssetDownload *asset in [nkLib downloadingAssets]){
[asset downloadWithDelegate:newsstandDownloadDelegate];
}
如果您阅读documentation,您将找到以下段落,详细说明您应如何处理应用终止:
在下载资产时,应用程序可能会被暂停 或者甚至完全终止,例如,如果没有足够的 内存或用户强制退出应用程序。应用程序 (假设它有报亭内容属性)稍后重新启动 进入后台处理完成下载或任何 身份验证挑战或与之相关的错误。程序在 这种情况如下:
当应用程序启动时,它可以使用 UIApplicationLaunchOptionsNewsstandDownloadsKey键访问数组 在launchOptions字典中传入 应用中:didFinishLaunchingWithOptions :.如果有一个数组,它 包含导致启动的标识符;这些可能是 已完成下载或可能下载的下载标识符 没有完整的下载。它遍历数组 NKAssetDownload对象的downloadsAssets属性 NKLibrary对象和调用downloadWithDelegate:在每个上面。如果 它想要的,应用程序可以使用在中获得的资产标识符 上一步检查哪些资产下载导致重新启动。 NSURLConnectionDownloadDelegate对象处理资产下载 正如通常那样。报亭套件框架需要所有电话 它在主线程上的方法; NSURLConnectionDelegate 协议方法也在主线程上调用。