Мне нужно дать пользователю возможность выбрать номер телефона из адресной книги, поэтому я взял пример из руководства Apple. Но для этого требуется только первый номер, как я могу сделать так, чтобы пользователь мог выбрать один из своих номеров в адресной книге.Доступ к информации для людей в адресной книге iPhone
- (IBAction)adressBook:(UIButton *)sender {
ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init];
picker.peoplePickerDelegate = self;
[self presentModalViewController:picker animated:YES];
}
- (void)peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker {
[self dismissModalViewControllerAnimated:YES];
}
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker
shouldContinueAfterSelectingPerson:(ABRecordRef)person {
[self displayPerson:person];
[self dismissModalViewControllerAnimated:YES];
return NO;
}
- (void)displayPerson:(ABRecordRef)person {
NSString* phone = nil;
ABMultiValueRef phoneNumbers = ABRecordCopyValue(person,
kABPersonPhoneProperty);
if (ABMultiValueGetCount(phoneNumbers) > 0) {
phone = (__bridge_transfer NSString*)
ABMultiValueCopyValueAtIndex(phoneNumbers, 0);
} else {
phone = @"[None]";
}
self.telNumber.text = phone;
CFRelease(phoneNumbers);
}
Вы получаете первое число, потому что вы указываете первый индекс с помощью ABMultiValueCopyValueAtIndex (phoneNumbers, 0); –