非常大的sqlite数据库副本

时间:2012-11-08 13:29:10

标签: iphone sqlite

我从这个问题(SQLite Database Copy)中看到,必须在安装时将sqlite数据库从bundle复制到工作目录,以使其不是只读的。但是如果数据库很大呢?我不希望它占用两倍的空间。有没有办法从捆绑中删除原始文件?任何其他解决方法,以避免浪费如此多的空间与捆绑中的大型数据库,安装后从未使用过? 谢谢!

3 个答案:

答案 0 :(得分:1)

非常大有多大?

并且您无法以任何方式修改捆绑包,包括删除/重命名/修改文件等。

如果要修改数据库,则必须将其从包中复制出来。

然而,Apple已经获得了低空间的解决方案。如果可以重新创建数据,则应将数据库复制到caches文件夹,而不是文档文件夹。这样它就不会被推入云中,如果设备空间不足,它可以通过ios自动清理。

答案 1 :(得分:0)

无法从应用程序包资源目录中删除文件(只读)。 如果您的数据库太大而无法复制,我建议在应用程序首次启动时下载数据库。

答案 2 :(得分:0)

另一种方法是在安装时使用sql语句以编程方式创建数据库,而不是在包中嵌入sqlite数据库。