【问题标题】:Where to save downloaded data that can't be recreated?在哪里保存无法重新创建的下载数据?
【发布时间】:2012-08-13 12:52:39
【问题描述】:

我创建了使用 png 图像作为页面的杂志阅读器应用程序。当用户下载杂志时,所有 png 图像都被下载并存储在 Caches 文件夹中。

缓存的问题是其中的文件显然可以随时删除。由于应用程序也设计用于离线模式,因此无法重新下载丢失的页面。

我试图将它保存到 Documents 文件夹中,但我的应用被拒绝了,这显然不适合他们。

所以我的问题是,我可以将它们放在哪里以使 iOS 不会删除它们?我不需要将它们备份到 iTunes 或同步或类似的东西,我只需要它们留在那里直到我删除它们。

我尝试查看documentation,但找不到适合我需要的类别,我是否遗漏了一些琐碎的东西?

编辑:我也需要支持 iOS 4

【问题讨论】:

    标签: ios ios5


    【解决方案1】:

    http://developer.apple.com/library/mac/#documentation/FileManagement/Conceptual/FileSystemProgrammingGUide/FileSystemOverview/FileSystemOverview.html

    放入库文件夹

    处理支持文件

    — 应用程序下载或生成的文件,并可根据需要重新创建 — 采用以下两种方式之一:

    在 iOS 5.0 及更早版本中,将支持文件放在 /Library/Caches 目录中,以防止它们被备份

    在 iOS 5.0.1 及更高版本中,将支持文件放在 /Library/Application Support 目录中并对其应用 com.apple.MobileBackup 扩展属性。此属性可防止将文件备份到 iTunes 或 iCloud。如果您有大量的支持文件,您可以将它们存储在自定义子目录中,并将扩展属性应用于该目录。

    【讨论】:

    • 如果我也想支持 iOS 4.0 怎么办?在那种情况下我不能使用那个扩展属性,可以吗?剩下的唯一选择是将其放入 Caches 文件夹中,这意味着它们将被删除
    • 如果我将这些文件保存到应用程序支持中并仅在我使用 5.0.1 或更高版本时标记它们,那会起作用吗?苹果会批准这个解决方案吗?
    【解决方案2】:

    Apple 有一个技术说明在 http://developer.apple.com/library/ios/#qa/qa1719/_index.html 上解决了这个问题

    它显示了在文件上设置无备份属性的示例代码。

    【讨论】:

      猜你喜欢
      • 2019-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-12
      • 1970-01-01
      • 2012-07-07
      • 2010-12-20
      相关资源
      最近更新 更多