2015-01-06 2 views
1

Я хочу получить контакт без ярлыка при нажатии пользователем по номеру телефона. Но мой код не принимает первый телефон автоматически. Я использую этоКонтакт Picker not working

- (void)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker didSelectPerson:(ABRecordRef)person 
{ 
    [self getPeopleContactProperties:person:0]; 
} 

- (void)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker didSelectPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier 
{ 
    [self getPeopleContactProperties:person:identifier]; 
} 

- (void)peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker; 
{ 
    [self dismissViewControllerAnimated:YES completion:NULL]; 
} 
- (void)getPeopleContactProperties :(ABRecordRef)person :(ABMultiValueIdentifier)identifier 
{ 
    NSString *email; 
     ABMultiValueRef emails = ABRecordCopyValue(person, kABPersonPhoneProperty); 
    if (emails) { 
     CFIndex index; 
     if (identifier == 0) { 
      index = 0; 
     } else { 
      index = ABMultiValueGetIndexForIdentifier(emails, identifier); 
     } 
     email = (__bridge NSString *) ABMultiValueCopyValueAtIndex(emails,index); 
    } 

    resultlabel.text =email; 
} 

ответ

1
if ([peoplePicker respondsToSelector:@selector(setPredicateForSelectionOfPerson:)]) 
{ 
    peoplePicker.predicateForSelectionOfPerson = [NSPredicate predicateWithFormat:@"%[email protected] > 1", ABPersonPhoneNumbersProperty]; 
}