从应用商店中的应用中删除核心数据支持



我在App Store上有一个应用程序,它得到了相当多的使用。当我发布更新时,我正在做不同的事情,并希望从应用程序中完全删除核心数据。在下一个发布的更新中,我究竟该如何做到这一点?

我是否只是删除 AppDelegate 文件中的所有核心数据代码,然后删除数据模型文件?

我想确定在发布新更新时没有设备会崩溃。

选项 1:忽略它

这是迄今为止最简单的解决方案。 只需将核心数据文件留在用户设备上,它们将永远占用用户空间。 如果数据量很小(小于 50mb(,并且存储在其中的数据已经转换或不需要转换,那么这是一个不错的选择。您可以从应用中删除对核心数据的所有引用。

选项 2:在后台删除它

您可以在应用首次运行时在后台删除它。 创建背景上下文,获取所有对象,删除它们并保存。 完成后,标记它在 NSUserDefaults 中完成,不要再这样做了。 如果对象数量非常大,则可能需要更复杂的代码来批处理获取和删除。您至少需要保留核心数据模型,甚至可能更多,以便删除工作。

选项 3:转换数据

这是最难的选项,因为转换数据可能需要一些时间,如果花费太长时间,iOS将强制退出您的应用程序。 因此,首先呈现一个视图控制器,向用户解释正在发生的事情 - 也许还有一个进度指示器。 然后批量获取数据,保存到新存储中,将其删除,并更新进度指示器。完成所有过渡后,更新视图控制器。在这里,您可能需要保留大量核心数据代码来处理这种转换。

最新更新