ios - 报亭在用户关闭应用程序后恢复下载完全

标签 ios newsstand-kit

我们如何在用户退出应用程序后恢复下载,而不仅仅是置于后台?

我的代码看起来像这样开始下载,我希望能够在这里确定问题是否可以恢复。

NSMutableURLRequest *nkRequest = [NSMutableURLRequest requestWithURL:url
                                                                 cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData
                                                             timeoutInterval:30.0];
        NKLibrary *library = [NKLibrary sharedLibrary];
        NKIssue *issue = [library addIssueWithName:[downloadInfo objectForKey:kPackageID] date:[NSDate date]];

        [[NKLibrary sharedLibrary] setCurrentlyReadingIssue:[[NKLibrary sharedLibrary] issueWithName:[downloadInfo objectForKey:kPackageID]]];
        NKAssetDownload *asset = [issue addAssetWithRequest:nkRequest];
        [asset setUserInfo:[NSDictionary dictionaryWithObjectsAndKeys:info,@"info", nil]];   
        [asset downloadWithDelegate:self];

最佳答案

嗯,好像挺简单的。我正在做的事情(以及 Apple 似乎是这样说的)是将以下代码放入 AppDelegate 方法 application:didFinishLaunchingWithOptions:

// Get the Library
NKLibrary *nkLib = [NKLibrary sharedLibrary];

// Loop through all 'queued' NKAssetDownloads and resume with a delegate
for(NKAssetDownload *asset in [nkLib downloadingAssets])
{
    [asset downloadWithDelegate:yourDownloadDelegate];
}

这应该是您需要做的全部。这在 WWDC 2011 的 Session 504 下被简要提及。该视频和幻灯片是很好的 Newsstand-Kit 引用。我强烈建议您观看/阅读。这对我帮助很大。祝你好运!

关于ios - 报亭在用户关闭应用程序后恢复下载完全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8583652/

相关文章:

ios - 无法在iOS中播放RTMP实时视频流

ios - 如何判断我的 Newsstand Atom Feed 是否会被处理?

objective-c - NKAssetDownload 一次可以下载多少次?

ios - UISearchBar 将状态栏颜色更改为白色

ios - 如何在 XCode 9 中将对象 ID 添加到本地化的 Storyboard?

ios - 如何将此 curl 命令转换为 Objective-C

ios - 无法在 Swift 中访问可编码的结构值

ios - 我可以使用 apn_on_rails 推送报亭通知吗?

ios - NKLibrary 在 iOS 11.3 中初始化时崩溃