创建 sqlite 文件的合适位置是啥?
Posted
技术标签:
【中文标题】创建 sqlite 文件的合适位置是啥?【英文标题】:What is suitable location for creating sqlite file?创建 sqlite 文件的合适位置是什么? 【发布时间】:2012-03-20 09:36:11 【问题描述】:实际上,我的应用被应用商店拒绝了,因为我在文档目录中存储了大约 9 MB 的数据。
什么是更好和合适的位置存储图像缓存和创建sqlite数据库文件?
【问题讨论】:
可能因为其他原因被拒绝 是的,它没有因为 sqlite 文件而被拒绝,但我很担心因为数据存储无效而被拒绝。 【参考方案1】:图像cache 必须进入cache 目录。备份中不应包含缓存,因为您可以轻松地重新创建这些图像。
如果 sqlite 文件存储用户数据,则应将其放入文档目录。它必须包含在设备备份中,因为您无法重新创建它,并且当用户从备份中恢复他的设备时,他会丢失所有数据。
如果 sqlite 文件是从 Web 下载的,并且用户从未更改过它,则也将其放入缓存目录中。在 ios 5.0.1 及更高版本上,您可以将该文件放入文档目录并设置"Do not backup"-Attribute。但是,在 iOS 5.0 或更早版本的设备上,您必须将该文件放在缓存目录中。
NSString *cacheDirectory = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
【讨论】:
谢谢你告诉我这个目录的路径。互联网上的每一页都只是告诉我把它放在缓存目录中,而没有告诉我它到底在哪里。所以谢谢你,你很体贴!【参考方案2】:关注的领域是iOS 5.0,它支持iCloud,但不识别“不备份”属性。在这种情况下,文档目录中的应用程序的所有数据很可能会备份到 iCloud。对于 5.x 以下的 iOS 版本:
the iCloud backup is not valid.
the "do not back up" flag is not relevent. It would not produce any warnings during compilation.
因此,可以将数据保存在文档目录中,并在所有版本的内容(文件/文件夹)中适当添加“不备份”标志。问题仅限于 5.0 版。
【讨论】:
【参考方案3】:如果您的应用程序中有很多图像。然后在任何图像存储站点中使用图像并使用图像链接。它对你更好。
【讨论】:
以上是关于创建 sqlite 文件的合适位置是啥?的主要内容,如果未能解决你的问题,请参考以下文章