Удалить данные, когда приложение убито в фоновом режиме.
У меня есть приложение, в котором я сохраняю данные, но когда приложение убивается в фоновом режиме, я должен удалить все сохраненные данные.
Я попытался с помощью этого метода:
- (void)applicationWillTerminate:(UIApplication *)application
Но это не работает. Может кто-нибудь предложить мне, как это сделать?
3 ответа
Не уверен, почему вам нужно стереть данные на прекратить специально, но вот что нужно учитывать:
Другой способ справиться с ситуацией такого типа, когда приложения записывают данные, которые могут быть неполными, когда они вынуждены выходить, состоит в том, что они записывают флаг, когда известно, что данные являются хорошими.
Таким образом, если приложение завершится нормально, данные будут записаны, а флаг будет записан.
Если приложение принудительно завершено, флаг не будет записан по причине принудительного выхода.
Затем, когда приложение запускается, оно может искать флаг. Если флаг отсутствует, приложение знает, что какие-либо данные являются неполными, и может отбросить их (удалить) и начать все сначала.
Надеюсь это поможет.
applicationWillTerminate:
в принципе никогда не вызывается, и вы больше не должны полагаться на него.
Приложение не получает никакого обратного вызова, когда оно убито, поэтому вы ничего не можете сделать. Вам нужно выбрать другой подход, основанный на реальных требованиях пользователя. Это может включать шифрование / не хранение определенных данных на диске (только когда-либо в памяти) / и т.д.
Я знаю, я очень опаздываю на вечеринку, но, если вы можете жить с данными, "торчащими вокруг" до следующего запуска приложения, вы можете удалить / очистить данные в application(_:didFinishLaunchingWithOptions)
,