目前,我在iOS Apps中制作了两个应用程序。
这是我的源代码。
* TestProject源代码* - >写入钥匙串
KeychainItemWrapper *idKeyChain = [[KeychainItemWrapper alloc] initWithIdentifier:@"TestProject" accessGroup:@"TestProject.com.test"];
[idKeyChain.keychainItemData setObject:@"testValue" forKey:(id)kSecValueData];
[idKeyChain release];
TestKeyChain源代码 - >加载到钥匙串
KeychainItemWrapper *idKeyChain = [[KeychainItemWrapper alloc] initWithIdentifier:@"TestProject" accessGroup:@"TestProject.com.test"];
NSString *username = [idKeyChain objectForKey:kSecAttrAccount];
[idKeyChain release];
NSLog(@"password : %@", username);
<password : testValue>
但是Log的打印..
<password : >
目前,我只浪费了三个小时这个问题.. 怎么了?
答案 0 :(得分:0)
您的设置代码应如下所示:
keychainItemWrapper = [[KeychainItemWrapper alloc] initWithIdentifier:KEYCHAIN_ID accessGroup:nil];
[keychainItemWrapper setObject:username forKey:kSecAttrAccount];
[keychainItemWrapper setObject:password forKey:kSecValueData];
您获取的代码应如下所示:
keychainItemWrapper = [[KeychainItemWrapper alloc] initWithIdentifier:KEYCHAIN_ID accessGroup:nil];
NSString *username = [keychainItemWrapper objectForKey:kSecAttrAccount];
NSString *password = [keychainItemWrapper objectForKey:kSecValueData];
如果要在每个Apple文档的应用之间共享钥匙串数据,请添加相应的访问组字符串。
祝你好运!