我从这个问题(SQLite Database Copy)中看到,必须在安装时将sqlite数据库从bundle复制到工作目录,以使其不是只读的。但是如果数据库很大呢?我不希望它占用两倍的空间。有没有办法从捆绑中删除原始文件?任何其他解决方法,以避免浪费如此多的空间与捆绑中的大型数据库,安装后从未使用过? 谢谢!
答案 0 :(得分:1)
非常大有多大?
并且您无法以任何方式修改捆绑包,包括删除/重命名/修改文件等。
如果要修改数据库,则必须将其从包中复制出来。
然而,Apple已经获得了低空间的解决方案。如果可以重新创建数据,则应将数据库复制到caches文件夹,而不是文档文件夹。这样它就不会被推入云中,如果设备空间不足,它可以通过ios自动清理。
答案 1 :(得分:0)
无法从应用程序包资源目录中删除文件(只读)。 如果您的数据库太大而无法复制,我建议在应用程序首次启动时下载数据库。
答案 2 :(得分:0)
另一种方法是在安装时使用sql语句以编程方式创建数据库,而不是在包中嵌入sqlite数据库。