iOS2012. 12. 18. 15:37

NSUserDefaults 에 사용자 정보를 저장하기에는 그렇고 별도로 암호화/복호화 하기도 번거롭고 해서
중요한 정보인 사용자 id, password를 저장해놓고 사용하기 위해 keychain을 사용하였다.


//애플 래퍼런스 문서 (해당 셈플코드에서 KeychainItemWrapper 클래스 소스를 가져다 쓰기바람 )


// framework 에 Security.framework 추가.

NSString *idKey = @"id";
NSString *pwKey = @"password";

KeychainItemWrapper * idKeychain = [[KeychainItemWrapper alloc] initWithIdentifier:idKey accessGroup:nil];
[idKeychain setObject:idValue forKey:(id)kSecAttrAccount];
KeychainItemWrapper * pwKeychain = [[KeychainItemWrapper alloc] initWithIdentifier:pwKey accessGroup:nil];
[pwKeychain setObject:pwValue forKey:(id)kSecValueData];
//[idKeychain resetKeychainItem];
//[pwKeychain resetKeychainItem];
NSLog(@"id  :  %@",[idKeychain objectForKey:(id)kSecAttrAccount]);
NSLog(@"pw :  %@",[pwKeychain objectForKey:(id)kSecValueData]);
[idKeychain release];
[pwKeychain release];

위와 같이 사용할 경우 id, pw를 저장 할 수 있으며 resetKeychainItem을 사용하여 초기화 시킬 수 도 있다.
해당 key(kSecAttrAccount,kSecValueData) 값당 하나의 데이터 밖에 저장할 수 없는 구조인거 같다.
자세한 내용은 문서와 셈플 코드를 참조...

Posted by 다오나무