1. ホーム
  2. アイオス

[解決済み】アプリのアンインストール時にキーチェーンアイテムを削除する方法

2022-04-01 07:05:08

質問

を使っています。 idandersenのscifihifi-iphone を使用して、キーチェーンとパスワードの保存のためのコード

[SFHFKeychainUtils storeUsername:@"User" andPassword:@"123"
              forServiceName:@"TestService" updateExisting:YES error:&error];

端末でアプリケーションを削除しても、キーチェーンにパスワードが残ってしまいます。

ユーザーがアプリケーションを端末から削除したときに、キーチェーンからパスワードを削除したいのですが、どうすればいいですか?どうすればよいですか?

解決方法を教えてください。

ということを利用すればいいのです。 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 が設定されていない場合は、アプリの初回実行時に設定します。コメント欄には、キーチェーンから値を削除するコードを記述してください。Synchronizeを呼び出すと、quot;FirstRun"のキー/値がすぐに永続化されるようになり、システムが永続化する前にユーザーが手動でアプリを終了した場合に備えることができます。