0

現在、iOS アプリで 2 つのアプリケーションを作成しています。

これは私のソースコードです。


* 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>

しかし、ログのプリント.. <password : >

現在、この問題だけで 3 時間を無駄にしています。何が問題なのですか?

4

1 に答える 1

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 ドキュメントに従ってアプリ間でキーチェーン データを共有する場合は、適切なアクセス グループ文字列を追加します。

幸運を!

于 2012-07-30T07:30:53.333 に答える