2

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

4

3 回答 3

1

多大才算很大

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

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

但是,Apple 已经找到了解决空间不足的问题。如果您可以重新创建数据,您应该将您的数据库复制到缓存文件夹中,而不是文档文件夹中。这样它就不会被推送到云端,如果设备空间不足,它可以被 ios 自动清除。

于 2012-11-08T13:42:22.977 回答
0

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

于 2012-11-08T14:14:26.970 回答
0

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

于 2012-11-08T13:37:03.847 回答