Ios 从KeychainItem检索值
我尝试从KeyChainItem中检索字符串,其存储方式如下:Ios 从KeychainItem检索值,ios,objective-c,keychain,keychainitemwrapper,Ios,Objective C,Keychain,Keychainitemwrapper,我尝试从KeyChainItem中检索字符串,其存储方式如下: @property (nonatomic, strong) KeychainItemWrapper *account; if (account == nil) { account = [[KeychainItemWrapper alloc] initWithIdentifier:@"test" accessGroup:nil] } [account setObject:self.username forKey:(
@property (nonatomic, strong) KeychainItemWrapper *account;
if (account == nil) {
account = [[KeychainItemWrapper alloc] initWithIdentifier:@"test" accessGroup:nil]
}
[account setObject:self.username forKey:(__bridge id)(kSecAttrAccount)];
[account setObject:@"c6a07d48aabf35b26e1623fb" forKey:(__bridge id)(kSecValueData)];
当我检索到它时,如下所示:
KeychainItemWrapper *wrapper = [[KeychainItemWrapper alloc] initWithIdentifier:@"test" accessGroup:nil];
self.account = wrapper;
}
NSString *prevUsername = [account objectForKey:(__bridge id)(kSecAttrAccount)];
NSString *token = [account objectForKey:(__bridge id)(kSecValueData)];
我收到了NSLog的以下值(@“%@”,令牌)
如何检索保存的字符串?我做错什么了吗?试试这个:
NSData *nameData= [account objectForKey:(__bridge id)(kSecAttrAccount)];
NSData *tokenData = [account objectForKey:(__bridge id)(kSecValueData)];
NSString *prevUsername = [[NSString alloc] initWithData:nameData encoding:NSUTF8StringEncoding];
NSString *token = [[NSString alloc] initWithData:tokenData encoding:NSUTF8StringEncoding];
NSData *nameData= [account objectForKey:(__bridge id)(kSecAttrAccount)];
NSData *tokenData = [account objectForKey:(__bridge id)(kSecValueData)];
NSString *prevUsername = [[NSString alloc] initWithData:nameData encoding:NSUTF8StringEncoding];
NSString *token = [[NSString alloc] initWithData:tokenData encoding:NSUTF8StringEncoding];