2013-03-29 4 views
0

이 내가 시도 것입니다 :전화 번호와 이메일 및 사용자 이름을 표시하는 방법은 무엇입니까?

-(void) vDisplayPerson:(ABRecordRef)person 
{ 
    ABPersonViewController *picker = [[ABPersonViewController alloc] init] ; 
    picker.personViewDelegate = self; 
    picker.displayedPerson = person; 
    [email protected][@(kABPersonPhoneProperty),@(kABPersonEmailProperty),@(kABPersonBirthdayProperty),@(kABPersonOrganizationProperty),@(kABPersonJobTitleProperty),@(kABPersonDepartmentProperty),@(kABPersonNoteProperty),@(kABPersonCreationDateProperty)]; 
    // Allow users to edit the person’s information 
    picker.allowsEditing = YES; 
    [self.navigationController pushViewController:picker animated:YES]; 

} 

공지 사항 나는 많은 것들을 포함 displayedProperties를 설정했습니다. 전화. 사람. 생일. 그러나 이름과 직위 만 나타납니다.

사람들이 접촉 할 때 사용하는 것과 동일한 종류의 정보를 표시하고 싶습니다. iOS 6에서는 더 이상 사용할 수 없습니까?

업데이트 : 나는이 문제가 디스플레이에 없지만 어떤 이유로 전체 사람 기록에 단순히 전화 번호가 포함되지 않았다는 사실을 강력하게 의심했다. 그것은 연락처를 편집 할 수 있기 때문에 전화 번호와 전화 번호를 추가하는 것입니다. 그러나 업데이트는 "실제"연락처로 전파되지 않습니다. 프로그램에서 수행 한 업데이트가 실제 연락처로 전파되지 않습니다. 내 프로그램에 실제 연락 정보가 표시되지 않습니다.

CFArrayRef를 사용하고 있습니다. refAllPeople = ABAddressBookCopyArrayOfAllPeople (addressBook);

이것은 iPhone 5.1 시뮬레이터에 있습니다.

+0

이메일 주소와 전화 번호를 얻으려고하지 않습니다. ABPersonViewController를 사용하여 표시하기 만하면됩니다. –

+1

나는 이것이 새로운 허가 시스템과 관련이 있다고 생각한다. iOS 6.0부터 연락처 데이터베이스에 대한 액세스를 요청해야하지만,이 경우에 적용되는지 여부는 확실하지 않습니다. – borrrden

+0

iOS 5.1 시뮬레이터에서도 작동하지 않습니다. –

답변

0

여기서 핵심은 ABAddressBookCreate의 결과에 대한 참조가 아직 릴리스되어서는 안된다는 것입니다. 그래서 속성을 만들었습니다 @property (nonatomic) ABAddressBookRef addressBook; 그리고 dealloc (프로그램의 끝까지 호출되지 않습니다)에서만 후자를 릴리스합니다.

이 문제가 해결되었습니다.

관련 문제