Вы можете воспользоваться тем фактом, что 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
}
Это проверяет и устанавливает ключ / значение «FirstRun» в NSUserDefaults
при первом запуске приложения, если оно еще не установлено. Там есть комментарий, где вы должны поместить код для удаления значений из цепочки для ключей. Синхронизацию можно вызвать, чтобы убедиться, что ключ / значение «FirstRun» немедленно сохраняется в случае, если пользователь вручную убивает приложение, прежде чем система его сохранит.