【问题标题】:Is it possible to cancel an NKAssetDownload?是否可以取消 NKAssetDownload?
【发布时间】:2011-12-27 15:09:18
【问题描述】:

我在 App Store 上有一个杂志阅读器。我目前正在实现 NewsstandKit 功能。

我的应用有这个下载工作流程,用户可以随时取消当前的下载。

我希望让用户能够购买应用内产品并以报亭后台下载的形式开始下载(杂志包含多媒体,因此它们是一种大文件),但仍保留他们在以前版本中可以使用的选项取消下载。

是否可以通过 NKAssetDownload 实现这一目标?还是我应该删除整个 NKIIssue?

【问题讨论】:

  • 小心,我编辑了我的答案,因为我看到文档给了 Gustavo 的理由

标签: ipad ios5 newsstand-kit


【解决方案1】:

如果您删除问题,相应的下载将被取消。

NKIssue *issue = [[NKLibrary sharedLibrary] issueWithName:editionName]; 
if (issue)
    [[NKLibrary sharedLibrary] removeIssue:issue];

【讨论】:

    【解决方案2】:

    您应该在资产上使用此方法:

    - (void)removeIssue:(NKIssue *)issue
    
    // Remove asset
    [[NKLibrary sharedLibrary] removeIssue:[[NKLibrary sharedLibrary]
                               issueWithName:self.issues[indexPath.row][@"Name"]]];
    

    Apple 文档中的描述:
    从报亭内容库中删除指定的问题。 删除问题后,由问题的内容 URL(通过 NKIssue 的 contentURL 属性访问)标识的文件系统位置中的任何数据都将从磁盘中删除。如果您在应用程序沙箱的其他地方有问题内容,​​则您有责任清理它。 调用此方法还会取消该问题正在进行的任何资产下载。

    来源:http://developer.apple.com/library/ios/documentation/StoreKit/Reference/NKLibrary_Class/NKLibrary/NKLibrary.html#//apple_ref/doc/uid/TP40010835-CH2-SW2

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多