NSUserDefaults アプリをアンインストールすることでクリアされることを利用できます。例えば:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//Clear keychain on first run in case of reinstallation
if (![[NSUserDefaults standardUserDefaults] objectForKey:@"FirstRun"]) {
// Delete values from keychain here
[[NSUserDefaults standardUserDefaults] setValue:@"1strun" forKey:@"FirstRun"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
//...Other stuff that usually happens in didFinishLaunching
}
NSUserDefaultsこれは、まだ設定されていない場合、アプリの最初の実行時に「FirstRun」キー/値をチェックして設定します。キーチェーンから値を削除するコードを配置する必要があるコメントがあります。Synchronize を呼び出して、システムがアプリを永続化する前にユーザーが手動でアプリを強制終了した場合に備えて、"FirstRun" キー/値がすぐに永続化されるようにすることができます。