iphone – 用KeyChainItemWrapper存储KeyChain中的键

我使用的是KeyChainItemWrapper类,由Apple的Sample Code提供,将认证令牌保存到钥匙串。

KeychainItemWrapper *keychain = [[KeychainItemWrapper alloc] initWithIdentifier"JetTaxiApp_AuthToken" accessGroup:nil];  

但是当我尝试将该值设置为keychain时,会出现一个奇怪的异常

[_authenticationTokenKeychain setObject:authenticationToken forKey: @"auth_token"];

Terminating app due to uncaught exception
‘NSInternalInconsistencyException’, reason: ‘Couldn’t add the Keychain
Item.’

钥匙扣尚不存在(在此通话的时刻)
什么可能导致此异常?

你需要使用标准键,所以这里你的@“auth_token”是不正确的。

The keys that can be used for this purpose and the possible values for each key are listed in the “Keychain Services Constants” section.

源,有效常数列表:Keychain Services Reference

例如,您可以使用:

[_authenticationTokenKeychain setObject:authenticationToken forKey: (__bridge NSString *)kSecValueData];

翻译自:https://stackoverflow.com/questions/7117885/storing-keys-in-keychain-with-keychainitemwrapper

转载注明原文:iphone – 用KeyChainItemWrapper存储KeyChain中的键