这可能是一个简单的问题,但我想知道如果我将数据库简单地保存在应用程序的Library文件夹(不在缓存中),苹果是否会拒绝我的应用程序。我打算这样做是因为在将数据库和其他文件保存在缓存文件夹中时,操作系统会在内存不足的情况下删除它们。但我希望它们在任何情况下都不会被删除。例如,以下代码我只是将NSCachesDirectory
更改为NSLibraryDirectory
以将文件保存在库中。
NSArray *path2 = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory2 = [path2 objectAtIndex:0];
NSString *path = [documentsDirectory2 stringByAppendingPathComponent:@"/savednetsheets.xml"];
请提出宝贵的建议和想法。
答案 0 :(得分:1)
如果您希望数据库文件保持不变并在设备同步期间自动备份,您可能希望将其保存在文档目录中
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
如果您要使用CoreData框架,那么它就会被存储。
答案 1 :(得分:0)
如果要在NSLibraryDirectory中保存文件,Apple将拒绝App,您必须将文件保存在NSCacheDirectory中。
将数据缓存文件放在/ Library / Caches中 目录。您应该放在此目录中的文件示例包括 (但不限于)数据库缓存文件和可下载 内容,例如杂志,报纸和地图应用程序使用的内容。您的 应用程序应该能够优雅地处理缓存数据的情况 被系统删除以释放磁盘空间。