gpt4 book ai didi

iOS 删除钥匙串(keychain)值

转载 作者:行者123 更新时间:2023-11-28 21:54:03 24 4
gpt4 key购买 nike

我正在像这样使用钥匙串(keychain):

KeychainItemWrapper *keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"LoginData" accessGroup:nil];
[keychain setObject:responseObject[@"TOK"] forKey:CFBridgingRelease(kSecAttrAccount)];

并希望像这样删除(空值):

[keychain setValue:nil forKey:CFBridgingRelease(kSecAttrAccount)];

但是,我只看到了这个:

setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key acct.

明智的做法是,当我使用它时:

[keychain setNilValueForKey:CFBridgingRelease(kSecAttrAccount)];

我明白了:

setNilValueForKey]: could not set nil as the value for the key acct.

我正在使用 apple 的 KeychainItemWrapper,我该如何正确执行此操作?

最佳答案

一般来说,要删除一个项目,生成您通常用来获取它的查询,然后使用“SecItemDelete”。

像这样——

    NSMutableDictionary *query = [self getQueryForKey:key];
OSStatus status = SecItemDelete((__bridge CFDictionaryRef)query);
if( status != errSecSuccess) {
...
}

如果您使用的是 keyChainWrapper,您可以这样做 -

    KeychainItemWrapper *keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"LoginData" accessGroup:nil];
[keychain resetKeychainItem];

关于iOS 删除钥匙串(keychain)值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27232191/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com