Iphone 保存值后在KeychainItemWrapper中更改ksecAttracsible
在我以前版本的应用程序(iPhone)中,我用以下代码在钥匙链中保存了值(密码):Iphone 保存值后在KeychainItemWrapper中更改ksecAttracsible,iphone,ios,keychain,keychainitemwrapper,Iphone,Ios,Keychain,Keychainitemwrapper,在我以前版本的应用程序(iPhone)中,我用以下代码在钥匙链中保存了值(密码): KeychainItemWrapper * keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"KeychainTest" accessGroup:nil]; [keychain setObject: k
KeychainItemWrapper * keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"KeychainTest"
accessGroup:nil];
[keychain setObject: kSecAttrAccessibleWhenUnlocked forKey:(id)kSecAttrAccessible];
[keychain setObject: @ "MySuperSecretPassword" forKey:(id)kSecValueData];
[keychain release];
KeychainItemWrapper *keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"KeychainTest"
accessGroup:nil];
[keychain setObject: kSecAttrAccessibleWhenUnlocked forKey:(id)kSecAttrAccessible];
NSString *key = [keychain objectForKey:(id)kSecValueData];
并获取以下代码中的值:
KeychainItemWrapper * keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"KeychainTest"
accessGroup:nil];
[keychain setObject: kSecAttrAccessibleWhenUnlocked forKey:(id)kSecAttrAccessible];
[keychain setObject: @ "MySuperSecretPassword" forKey:(id)kSecValueData];
[keychain release];
KeychainItemWrapper *keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"KeychainTest"
accessGroup:nil];
[keychain setObject: kSecAttrAccessibleWhenUnlocked forKey:(id)kSecAttrAccessible];
NSString *key = [keychain objectForKey:(id)kSecValueData];
因为有时我的应用程序在后台运行,我发现了一个bug,我无法从钥匙链中获得我的价值
我修复了这个错误,将kSecAttrAccessible的值从ksecattraccessibleewhen unlocked改为ksecattraccessibleallways
KeychainItemWrapper * keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"KeychainTest"
accessGroup:nil];
[keychain setObject:kSecAttrAccessibleAlways forKey:kSecAttrAccessible];
[keychain setObject: @"MySuperSecretPassword" forKey: kSecValueData];
[keychain release];
以及:
我的问题是:此更改是否也有助于在以前版本中保存值的用户
我的bug很难恢复,所以我提出了这个问题。
现在我无法恢复此更改后的错误
谢谢