2015-12-03 119 views
0

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

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

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

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

但是,根本不起作用,它返回“()”。

回答

0

the doc

IN SWIFT处理错误:在夫特,此方法返回空隙和是 标有抛出关键字,以表明它在 例失败引发错误。

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

另外,我更喜欢使用NSCaches目录的最初想法。对于可以通过提取重新获取的内容,它是,确切地说是,但是一直花费太多。让它清空以保持设备正常运行听起来像是正确的行为。

您给自己提供丰富内容的要求,对设备的内存影响很小,并且在网络很少或没有网络的情况下运行良好,这是一个非常高的标准......在我看来,与任何人相比,其他。

在我看来合理的检测一个没有缓存,低内存,断开连接的情况,只是向用户道歉。告诉他们他们的错。