주소록 연락처를 읽는 중 ... 이름으로 연락처를 테스트 할 때까지 모든 것이 잘됩니다. 전자 메일이나 전화 또는 wathever로 연락처를 만들 수 있기 때문에 ...). 코드 (감소)이 이것이다 :kABPersonFirstNameProperty ... trowing EXC_BAD_ACCESS
- (NSMutableArray *) getContactsInfo {
NSMutableArray *contactsList = [[NSMutableArray alloc] init];
localAddressBook = ABAddressBookCreate();
int contactsLength = (int)ABAddressBookGetPersonCount(localAddressBook);
if (contactsLength < 1)
return nil;
for(int currentContact=1; currentContact < (contactsLength + 1); currentContact++) {
ABRecordRef person = ABAddressBookGetPersonWithRecordID(localAddressBook,(ABRecordID) currentContact);
firstName = (NSString *)ABRecordCopyValue(person, kABPersonFirstNameProperty);
NSLog(@"%@", firstName);
[contactsList addObject:firstName];
CFRelease(person);
}
return contactsList;
}
내가 얻을 출력은 이것이다 : 나는 이름과 성 그리고 단지 마지막 이름으로 생성 한 3 연락처가
2010-02-15 14:16:25.616 testApp[7065:207] Contact0
2010-02-15 14:16:25.618 testApp[7065:207] Contact1
2010-02-15 14:16:25.619 testApp[7065:207] Contact2
Program received signal: “EXC_BAD_ACCESS”.
, 테스트 목적으로.
전자 메일이나 주소 배열과 같은 속성을 제대로 읽을 수있는 것 같습니다. 연락처에 First Name 속성이 없으면 응용 프로그램이 충돌합니다. 처음 firstName
를 사용하려고하면 확인
콘솔에서 무엇을 말 했나요? – kennytm