【发布时间】:2013-05-12 03:42:25
【问题描述】:
Apple 的 data storage guidelines 声明如下:
2) 应存储可再次下载或重新生成的数据 在 /Library/Caches 目录中。
...和(强调我的):
4) 使用“不备份”属性指定应保留在设备上的文件,即使在存储空间不足的情况下。使用此属性 数据可以重新创建,但即使在较低的情况下也需要保留 应用程序正常运行的存储情况或因为 客户希望它在离线使用期间可用。 此属性 对标记的文件起作用,无论它们在哪个目录中, 包括 Documents 目录。 这些文件不会被清除并且 不会包含在用户的 iCloud 或 iTunes 备份中。因为 这些文件确实使用设备上的存储空间,您的应用程序负责 用于定期监控和清除这些文件。
Apple 链接到该主题的更多 detailed discussion 的页面没有提及任何关于该属性所做的任何事情以防止缓存数据被清除。
那么有谁知道“不备份”属性是否真的像“不备份和不删除”一样用于放置在/Library/Caches 中的项目,或者文件是否仍需要存储在应用程序的@987654324 中@目录以确保在设备空间不足时不会删除它们?
【问题讨论】:
-
你找到答案了吗?我的应用程序有一个可以重新创建的可下载内容,但预计可以离线使用。目前我将它存储在“缓存”目录中,但它在空间不足时被清除:(“不备份”属性真的有帮助吗?它的名字非常令人沮丧。
-
我已经检查过了,它确实有效!标记为 NSURLIsExcludedFromBackupKey 的文件未从 /Library/Caches 目录中删除磁盘空间不足警告。 (我已经给出了答案)
标签: ios filesystems