没有purge命令这样的东西.
无论如何,由于您的应用程序可以访问的密钥链专用于您的应用程序,因此您可以轻松地跟踪您在其中写入的内容并将其删除.
您可以实现自己的清除方法,只需逐个删除可以保存在钥匙串中的所有可能的数据类型.以下是我清除所有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];
}
Run Code Online (Sandbox Code Playgroud)
所以你需要做的就是为所有可能的kSecClass值调用这个方法.
请注意,不同的数据类型需要设置不同的字典标志.
问候
| 归档时间: |
|
| 查看次数: |
2957 次 |
| 最近记录: |