Мне нужно удалить все ключи, хранящиеся в цепочке для ключей. Проблема в том, что они не являются статическими строками (я создаю их, используя «имя пользователя + статическая строка»), и мне нужно реализовать что-то вроде опции приложения сброса.
На момент реализации приложения (пару лет назад) я использовал библиотеку FXKeychain для доступа к цепочке для ключей, но, похоже, такой опции не было.
Есть ли другой способ сделать это?
Я работаю с Objective-C.
Я нашел этот код в поиске:
NSMutableDictionary *query = [NSMutableDictionary dictionaryWithObjectsAndKeys:
(__bridge id)kCFBooleanTrue, (__bridge id)kSecReturnAttributes,
(__bridge id)kSecMatchLimitAll, (__bridge id)kSecMatchLimit,
nil];
NSArray *secItemClasses = [NSArray arrayWithObjects:
(__bridge id)kSecClassGenericPassword,
(__bridge id)kSecClassInternetPassword,
(__bridge id)kSecClassCertificate,
(__bridge id)kSecClassKey,
(__bridge id)kSecClassIdentity,
nil];
for (id secItemClass in secItemClasses) {
[query setObject:secItemClass forKey:(__bridge id)kSecClass];
CFTypeRef result = NULL;
SecItemCopyMatching((__bridge CFDictionaryRef)query, &result);
NSLog(@"%@", (__bridge id)result);
if (result != NULL) CFRelease(result);
}
Но я не совсем понимаю это и думаю, что это не работает (может быть, это связано с библиотекой, которую я использовал?)