iOS持久缓存目录

时间:2015-12-03 00:07:54

标签: ios objective-c swift

我的应用程序从互联网上下载数据,然后将其存储在设备上的某个位置,因此当用户没有互联网连接时,数据仍然可用。我知道缓存文件夹,但根据Apple的说法,如果设备磁盘空间不足,该目录将被删除。这对我的应用来说确实是一个问题,因为这可能会破坏磁盘空间不足和互联网连接不良的用户的应用程序。

我的问题:我在哪里保存这些文件,而不会因为磁盘空间不足而被系统删除。我无法将其放在文档目录中,因为Apple会拒绝我的应用程序。

我已尝试将其存储在文档文件夹中,然后使用以下代码行禁用iCloud备份。

try? NSURL.fileURLWithPath(self.path).setResourceValue(true, forKey: NSURLIsExcludedFromBackupKey)

但这根本不起作用,它会返回"()"。

1 个答案:

答案 0 :(得分:0)

来自the doc

  

处理SWIFT中的错误:在Swift中,此方法返回Void并且是   用throws关键字标记,表示它引发了错误   失败的情况。

所以()是预期的结果。 “工作”的真正考验是文件内容是否可检索以及它们是否与云同步。

顺便说一下,我更喜欢你最初使用NSCaches目录的想法。对于可以通过提取重新获取的内容,完全,但是一直都无法获取。让它清空以保持设备运行良好听起来就像是正确的行为。

要求您自己提供丰富的内容,对设备的内存影响较小,并且在很少或没有网络的情况下都能很好地工作,这是一个值得称赞的高标准...我认为与其他任何人相比都太高了

在我看来,检测无缓存,低内存,断开连接情况并向用户道歉似乎是合理的。告诉他们他们的错。