Почему бы не представить адресную книгу и позволить пользователю выбрать и адрес электронной почты?
Добавьте рамки AddressBook и AddressBookUI в ваш проект.
Импортируйте их в свой .h и добавьте протокол ABPeoplePickerNavigationControllerDelegate.
Тогда позвоните в адресную книгу:
- (void) chooseContact:(id)sender {
ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init];
picker.peoplePickerDelegate = self;
[self presentModalViewController:picker animated:YES];
[picker release];
}
Вы реализуете несколько необходимых методов делегата для получения адреса электронной почты и отклонения адресной книги:
// call when the user cancel
- (void) peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker {
[self dismissModalViewControllerAnimated:YES];
}
Позвольте пользователю ввести контактные данные:
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person {
return YES;
}
Затем делайте то, что вы, с выбранным адресом электронной почты:
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier {
if (property == kABPersonEmailProperty) {
//assumed you have a property email in your class
self.email = (NSString *)ABRecordCopyValue(person, kABPersonEmailProperty);
[self dismissModalViewControllerAnimated:YES];
}
return NO;
}