存储应用程序内容的最佳位置

时间:2014-09-25 11:09:36

标签: ios cocoa-touch nsdocumentdirectory

我有应用程序,它运行大量数据(基本上是图像),从我们的服务器下载,应该没有互联网连接。

我曾经将它们存储在<Application_Home>/Library/Caches目录中,但在iOS更新过程之后,所有这些都被删除了。这种行为对我来说是不可接受的,现在我正在寻找更好的地方,我可以存储数据,并确保它们不会被系统删除。

存储此类数据的最佳位置是什么?

2 个答案:

答案 0 :(得分:3)

caches目录就是名称所暗示的缓存。缓存可以清空,你应该重新下载图像。文档目录是存储这些图像的更好位置,但您应该在文件上存储skip iCould backup key

只需一个小提示,请始终使用URLForDirectory:inDomain:appropriateForURL:create:error:NSSearchPathForDirectoriesInDomains

答案 1 :(得分:1)

iOS中不会删除文档目录中的数据:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;

文档中的数据与iCloud同步。如果您有很多这些选项,则需要禁用此选项:

[urlOfImage setResourceValue:[NSNumber numberWithBool:YES] forKey:NSURLIsExcludedFromBackupKey error:&error];