在iOS应用程序中保存数据库的位置?

时间:2013-05-20 06:49:33

标签: ios

这可能是一个简单的问题,但我想知道如果我将数据库简单地保存在应用程序的Library文件夹(不在缓存中),苹果是否会拒绝我的应用程序。我打算这样做是因为在将数据库和其他文件保存在缓存文件夹中时,操作系统会在内存不足的情况下删除它们。但我希望它们在任何情况下都不会被删除。例如,以下代码我只是将NSCachesDirectory更改为NSLibraryDirectory以将文件保存在库中。

NSArray *path2 = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory2 = [path2 objectAtIndex:0];
NSString *path = [documentsDirectory2 stringByAppendingPathComponent:@"/savednetsheets.xml"];

请提出宝贵的建议和想法。

2 个答案:

答案 0 :(得分:1)

如果您希望数据库文件保持不变并在设备同步期间自动备份,您可能希望将其保存在文档目录中 NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

如果您要使用CoreData框架,那么它就会被存储。

答案 1 :(得分:0)

如果要在NSLibraryDirectory中保存文件,Apple将拒绝App,您必须将文件保存在NSCacheDirectory中。

  

将数据缓存文件放在/ Library / Caches中   目录。您应该放在此目录中的文件示例包括   (但不限于)数据库缓存文件和可下载   内容,例如杂志,报纸和地图应用程序使用的内容。您的   应用程序应该能够优雅地处理缓存数据的情况   被系统删除以释放磁盘空间。