我目前正在开发一个仅在iOS 7上运行的播客应用程序,它具有允许在后台模式下同步和下载最新剧集的功能。
所以使用Synchronization很清楚,我实现了
application:performFetchWithCompletionHandler
方法并在其中调用同步方法,当同步完成时,我使用UIBackgroundFetchResultNewData
调用completionHandler,或者如果失败则调用UIBackgroundFetchResultFailed
。但是,当我运行下载管理器开始下载所有新剧集时,它可能需要很长时间,取决于网络质量和文件大小,并且后台模式在某些时候冻结并暂停最近的下载。
如何正确设计后台下载?
或许某些链接指向正确描述背景下载文件的教程。
答案 0 :(得分:0)
我在下载大量文件时会观察到相同的行为。
当您的应用程序被暂停时,将所有下载任务添加到后台会话,而不是每次完成一个新的下载任务并调用您的代理时,它看起来效果会更好。
另一种选择是使用NewsstandKit。后台下载运行非常顺利,但您有一些限制,如24小时阈值,您的应用程序将隐藏在报摊。