2
안전한 방법으로 로그인 자격 증명을 저장하기 위해 "KeychainItemWrapper"클래스를 사용하는 응용 프로그램을 작성하고 있습니다. 나는 키 체인에 자격 증명을 작성하려고 할 때KeychainItemWrapper iPhone SDK를 사용하는 동안 SIGABRT가 수신되었습니다.
- (IBAction)saveFields {
wrapper = [[KeychainItemWrapper alloc] initWithIdentifier:@"username" accessGroup:nil];
[wrapper setObject:[self.password text] forKey:(id)kSecAttrAccount];
[wrapper release];
wrapper = [[KeychainItemWrapper alloc] initWithIdentifier:@"password" accessGroup:nil];
[wrapper setObject:[self.password text] forKey:(id)kSecAttrAccount];
[wrapper release];
[self dismissModalViewControllerAnimated:YES];
}
- (BOOL)isUserLogged {
wrapper = [[KeychainItemWrapper alloc] initWithIdentifier:@"username" accessGroup:nil];
if ([[wrapper objectForKey:(id)kSecAttrAccount] isEqualToString:@""]) {
return NO;
} else {
username = [NSString stringWithString:[wrapper objectForKey:(id)kSecAttrAccount]];
[wrapper release];
}
wrapper = [[KeychainItemWrapper alloc] initWithIdentifier:@"password" accessGroup:nil];
if ([[wrapper objectForKey:(id)kSecAttrAccount] isEqualToString:@""]) {
return NO;
} else {
password = [NSString stringWithString:[wrapper objectForKey:(id)kSecValueData]];
[wrapper release];
}
return YES;
}
내가 여기의 SIGABRT 오류가 나타납니다 :
// KeychainItemWrapper.m
// - (void)writeToKeychain;
result = SecItemAdd((CFDictionaryRef)[self dictionaryToSecItemFormat:keychainItemData], NULL);
어떤 NSAssert() 블록입니까? 나는이 질문에서 하나의 코드를 볼 수 없다. – liwp
사실 저는 기억이 안납니다. 전체 프로젝트를 다시 받아서보아야합니다. 저는 월요일에 할 것입니다. – IssamTP