如何在IOS的Documents文件夹中擦除应用程序数据?

时间:2013-07-23 12:55:28

标签: ios sql sqlite core-data core-data-migration

因此,在发布新版本的应用程序时,我有一个相当流行的问题,即在我的核心数据驱动的应用程序中更新SQL数据。

应用程序机制的快速摘要

我有一个控制台应用程序,它使用与我的应用程序相同的xcdatamodeld文件,其中我预填充SQL数据库(sqlite文件)。然后我在我的应用程序中使用此文件,以便预填充数据。

问题,每次运行此类更新(通常是每月)时,都会保留文档文件夹,应用程序会忽略新数据并显示新数据所在的空白页。这显然是通过删除&重新安装应用程序,但这对于每月需要新内容的用户来说太麻烦了。

到目前为止我尝试了什么

- 建议我查看核心数据迁移文档并使用“数据模型版本控制”。这对我不起作用,因为我的问题是实际数据而不是模型。模型保持不变,只是它提供的数据变化。

  • 我尝试每天从网络服务加载一个JSON文件,以避免需要更新应用程序本身,但我得到了客户的投诉,说明用户想要的一个主要功能是离线访问。特别是那些移动互联网接入相当昂贵且不可靠的国家。

- 上述原因排除了其他解决方案,如stackmob等。

经过阅读和思考,我觉得这可能有用;

编写代码以在应用启动期间检查现有数据库。如果现有数据库与新数据库不同(我计划使用某种数字相关条件,例如版本号1和新版本),那么它将删除现有数据库并使用更新中的新数据库。每次发布更新时都不需要用户删除并重新安装应用程序。

在这个阶段,我愿意接受任何其他想法,这些想法可以让我预先填充数据库并每月更新一次而不用担心。 (我不介意从头开始重新编写应用程序)。

欢迎任何帮助。 [不要让我对markdown的掌握欺骗你,我是初学者;)]

1 个答案:

答案 0 :(得分:0)

每次更新应用程序时都可以更改sqlite文件名。