iPhoneアプリのキーチェーンを削除する方法はありますか?自分で削除できるように、パージコマンドまたはすべてのキーのリストのいずれか。
2964 次
1 に答える
9
パージコマンドなどはありません。
とにかく、アプリケーションがアクセスできるキーチェーンはアプリケーション専用であるため、書き込んだ内容を簡単に追跡して削除することができます。
キーチェーンに保存できるすべての可能なデータ型を1つずつ削除する独自のパージメソッドを実装できます。以下は、すべてのGenericPasswordエントリを削除する方法です。
- (BOOL)deleteKeychainData
{
/* delete custom data */
NSMutableDictionary *searchData = [NSMutableDictionary new];
[searchData setObject:(id)kSecClassGenericPassword forKey:(id)kSecClass];
[searchData setObject:kTagKeychainService forKey:(id)kSecAttrService];
OSStatus statusData = SecItemDelete((CFDictionaryRef)searchData);
[searchData release];
CHECK_CONDITION1(statusData == errSecSuccess
|| statusData == errSecItemNotFound,
@"Error while deleting keychain data, OSStatus == %d", statusData);
/* delete assymetric keys*/
return [self deleteKeyPair];
}
したがって、実行する必要があるのは、すべての可能なkSecClass値に対してこのメソッドを呼び出すことです。データ型が異なれば、異なる辞書フラグを設定する必要があることに
注意してください。
よろしく
于 2010-12-30T18:17:58.493 に答える