1

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

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

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

4

2 回答 2

1

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

如果您要使用 CoreData 框架,它将存储在此处。

于 2014-03-04T14:51:18.623 回答
0

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

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

于 2013-05-20T07:06:13.797 回答