Get Email address from iPhone Address Book

跟風遠走 提交于 2019-12-06 11:39:35

问题


I am currently able to successfully access and get data from the peoplePickerNavigationController, but what I would like to do is have the email address of the contact be accessed, then the modal window dismissed when the contact name is pressed.

Scenario:

"Button is clicked to add a contact
AddressBook Modal Window slides into view
Name of Contact is pressed
If available, the contact's email address is stored in an array
Dismiss modal window"

My current code consists of:

- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier {
    ABMultiValueRef container = ABRecordCopyValue(person, property);
    CFStringRef contactData = ABMultiValueCopyValueAtIndex(container, identifier);
    CFRelease(container);
    NSString *contactString = [NSString stringWithString:(NSString *)contactData];
    CFRelease(contactData);

    NSLog(@"Value is: %@", contactString);

    [self dismissModalViewControllerAnimated:YES];  
    return NO;
}

回答1:


Here is what i do.

if(property == kABPersonEmailProperty) {
  CFTypeRef prop = ABRecordCopyValue(person, property);
  CFIndex index = ABMultiValueGetIndexForIdentifier(prop,  identifierForValue);
  NSString *email = (NSString *)ABMultiValueCopyValueAtIndex(prop, index);

  ...

  CFRelease(prop);
  [email release];
}


来源:https://stackoverflow.com/questions/1875135/get-email-address-from-iphone-address-book

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!