在后台杀死应用程序时删除数据。

我有一个应用程序,我正在保存数据,但当应用程序在后台被杀死时,我必须删除所有保存的数据。

我尝试过使用这种方法:

- (void)applicationWillTerminate:(UIApplication *)application 

但它不起作用。 有人可以建议我怎么做吗?

不确定为什么你需要专门擦除数据终止,但这里需要考虑:

当应用程序在强制退出时写入可能不完整的数据时,处理此类情况的另一种方法是,当数据已知良好时,它们会写出一个标记。

这样,如果应用程序正常退出,将写入数据并写入标记。

如果应用程序被强制退出,则强制退出的性质不会写入该标志。

然后,当应用程序启动时,它可以查找标志。 如果该标志不存在,则应用程序知道任何数据不完整并且可以丢弃它(删除它)并重新开始。

希望这可以帮助。

applicationWillTerminate:基本上从未调用过,你不应再依赖它。

应用程序在被杀时不会给出任何回调,因此您无法执行任何操作。 您需要根据实际用户需求决定不同的方法。 这可能涉及加密/不保存磁盘上的某些数据(仅在内存中)/等…

我知道,我在派对上已经很晚了,但是,如果您可以使用数据“坚持”直到下一个应用程序启动,您可以删除/清除application(_:didFinishLaunchingWithOptions)数据application(_:didFinishLaunchingWithOptions)