アプリがクラッシュしたり、強制的に終了したりした場合、データをクリーンアップすることはできません。代わりに、次にデータを開いたときにデータを消去できます。何をしているかに応じて、内部NSUserDefaults
でフラグを使用して、データを消去する必要があるかどうかを知らせることができます。
たとえば、ダウンロードの開始時に次のように設定できます。
[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithBool:YES] forKey:@"pendingDownload"];
[[NSUserDefaults standardUserDefaults] synchronize];
ダウンロードが終了したら:
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"pendingDownload"];
[[NSUserDefaults standardUserDefaults] synchronize];
内部didFinishLaunchingWithOptions
:
if([[[NSUserDefaults standardUserDefaults] objectForKey:@"pendingDownload"] boolValue]){
// clean data
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"pendingDownload"];
[[NSUserDefaults standardUserDefaults] synchronize];
}