Iphone 如何获取用户在iOS通讯簿中选择的电子邮件值?
我正在尝试获取通讯簿联系人的电子邮件值 我需要捕获用户单击的电子邮件,然后我可以找出如何正确使用语法 我使用了一个示例,它选择了第一封可用的电子邮件,但我现在尝试将其切换到用户选择的电子邮件。我开始写//NSString*email=ABRecordCopyValue(属性,) 或者如何获取用户所选内容的索引值。如果我选择了电子邮件的索引值,我可以重用我注释掉的代码Iphone 如何获取用户在iOS通讯簿中选择的电子邮件值?,iphone,ios,addressbook,Iphone,Ios,Addressbook,我正在尝试获取通讯簿联系人的电子邮件值 我需要捕获用户单击的电子邮件,然后我可以找出如何正确使用语法 我使用了一个示例,它选择了第一封可用的电子邮件,但我现在尝试将其切换到用户选择的电子邮件。我开始写//NSString*email=ABRecordCopyValue(属性,) 或者如何获取用户所选内容的索引值。如果我选择了电子邮件的索引值,我可以重用我注释掉的代码 - (BOOL)peoplePickerNavigationController: (ABPeoplePickerNavigati
- (BOOL)peoplePickerNavigationController:
(ABPeoplePickerNavigationController *)peoplePicker
shouldContinueAfterSelectingPerson:(ABRecordRef)person
property:(ABPropertyID)property
identifier:(ABMultiValueIdentifier)identifier
{
NSString* name = (__bridge_transfer NSString*)ABRecordCopyValue(person, kABPersonFirstNameProperty);
self.userName.text = name;
self.myMessage.recpipientName = name;
//NSString* email = ABRecordCopyValue(property)
ABMultiValueRef emails = ABRecordCopyValue(person, kABPersonEmailProperty);
// if (ABMultiValueGetCount(emails) > 0) {
// email = (__bridge_transfer NSString*)
// ABMultiValueCopyValueAtIndex(emails, 0);
// } else {
// email = @"[None]";
// }
self.userEmail.text = email;
self.myMessage.recipientEmail = email;
CFRelease(emails);
return NO;
}
这是直接来自我的书()的示例代码:
- (BOOL)peoplePickerNavigationController:
(ABPeoplePickerNavigationController *)peoplePicker
shouldContinueAfterSelectingPerson:(ABRecordRef)person
property:(ABPropertyID)property
identifier:(ABMultiValueIdentifier)identifier {
ABMultiValueRef emails = ABRecordCopyValue(person, property);
CFIndex ix = ABMultiValueGetIndexForIdentifier(emails, identifier);
CFStringRef email = ABMultiValueCopyValueAtIndex(emails, ix);
NSLog(@"%@", email); // do something with the email here
if (email) CFRelease(email);
if (emails) CFRelease(emails);
[self dismissViewControllerAnimated:YES completion:nil];
return NO;
}