我可以以编程方式擦除 applicationDidFinishLaunching:withOptions: 中的应用程序数据吗?

Posted

技术标签:

【中文标题】我可以以编程方式擦除 applicationDidFinishLaunching:withOptions: 中的应用程序数据吗?【英文标题】:Can I programmatically wipe the application data in applicationDidFinishLaunching:withOptions:? 【发布时间】:2012-05-05 09:51:35 【问题描述】:

出于测试目的,我希望能够将应用程序重置为干净状态。 (类似于从模拟器/iPhone 中删除应用程序的操作)。

假设我们有一个WIPE_DATA 定义,如果已设置,应用程序应该像刚刚安装一样启动。显然,如果您了解该应用程序,您就会知道它在 NSUserDefaults 等中存储数据的位置。我想知道是否有更通用的方法不需要深入了解特定应用程序,因此适用于任何应用程序。

【问题讨论】:

【参考方案1】:

在您的应用程序中,您有两种数据 - NSUserDefaults 设置和 Documents 目录中的文件。如果您想擦除所有数据以使您的应用程序处于初始状态和设置,您应该创建例如一个应用程序委托方法,它设置初始 NSUserDefaults 设置并清理 Documents 目录中应用程序生成的文件。

据我所知,没有标准的系统方法可以做到这一点。

【讨论】:

以上是关于我可以以编程方式擦除 applicationDidFinishLaunching:withOptions: 中的应用程序数据吗?的主要内容,如果未能解决你的问题,请参考以下文章

使用Powershell以编程方式清除回收站

基于STM32的Flash擦除方式

Windows 手机数据库。如何快速擦除表格?

闪存(NOR/NAND)上的哪些操作会影响闪存编程/擦除(P/E)周期

dsp擦除flash需要多久

每天从特定记录类型中删除所有记录 CloudKit