2012-01-26 27 views
4

我有一个报摊应用程序,它通过NKNewsstandKit提供下载。Apple Newsstand下载完整通知

我的问题是,当我开始下载资产&终止应用程序,它完美地在后台下载。它还以后台模式调用应用程序。但我没有得到事件connectionDidFinishDownloading:

有没有人甚至有一个想法,我怎么能得到事件&处理我的资产。

回答

2

如果你开始下载,而应用程序正在运行,然后终止应用程序,你将不会得到任何资产下载委托方法调用(有一个启动选项UIApplicationLaunchOptionsNewsstandDownloadsKey,我期望在这种情况下,但我从来没有见过这种情况发生)。最好的解决方案是当用户启动应用程序时,恢复下载[[NKLibrary sharedLibrary] downloadingAssets]中的每个资产,并且您应该为已经下载的每个资产获得connectionDidFinishDownloading。请务必在主线程的didFinishLaunchingWithOptions方法中执行此操作,否则资产将被删除。

另见Detecting background app launch in Xcode to debug a Newsstand appNewsstand resume download after the App closed by user Fully

+0

感谢您的帮助 –

+0

虽然这个答案已被接受,但我所观察是不同的。大多数情况下,当我的下载完成时,我会在我处理(解压缩)的地方调用connectionDidResumeDownloading并将其移至NKIssue的contentUrl。有时下载在后台暂停(全部由NS框架决定),我们应该从didFinishLaunchingWithOptions恢复下载。 – msk