iOS:正在清理的文档目录'

时间:2016-02-10 00:46:13

标签: ios iphone swift core-data

情况

我有一个应用程序,它将核心数据库存储在文档目录中。它似乎在大多数情况下都运行良好,除了一些用户(非常多的用户)抱怨他们的数据消失了#39;

它是一款精心编码的应用程序,没有来自Core Data的奇怪错误或崩溃。

我的怀疑

iOS有时会显示“清洁”字样。存储空间不足时,应用程序图标下方。这会清理一些目录以释放空间。

帮助!

这可能是原因吗?如果是这样,我怎么能阻止这个?任何可以解决这个问题的光都会非常感激。

1 个答案:

答案 0 :(得分:1)

文档目录是存储核心数据数据库的推荐位置,iOS永远不会清理"存储在那里的任何东西。

用户可以手动删除Documents目录中的文件,方法是卸载应用程序或(如果您已在info.plist中启用它)从iTunes浏览手机。

大多数用户不希望他们的数据在卸载应用程序时被销毁(例如,Mac和PC会将数据保留在原位),所以这可能就是这样。

您应该考虑在服务器或用户的iCloud帐户中存储第二份数据。这样它就不会被卸载破坏。如果它是您的服务器,那么您可以证明为此功能收费是合理的(经常性收入是对的吗?)。

备份到iTunes和iCloud都将包含您的数据库,因此您可以指示用户恢复到最近的备份以恢复其数据。

还要仔细检查代码,以了解在尝试将更改保存到数据库时如何处理磁盘空间不足错误。根据您使用核心数据的方式,这可能会变坏。

目前,iCloud中的Core Data或其他云解决方案是最佳方法。