Enchilada
Enchilada

Reputation: 3919

Getting user's default email address in Cocoa

How do I obtain the user's default email address? I need to obtain it for my crash reporter dialog, so the user won't have to fill it out manually.

Upvotes: 12

Views: 9601

Answers (2)

EliSKoren
EliSKoren

Reputation: 81

From "*Address Book Programming Guide for iOS":

Link the Address Book UI and Address Book frameworks to your project.

Important The project will fail to build (with a linker error) if you do not link against both of these framework.

Linking in the Framework without the UI will prevent the sample code from compiling.

Upvotes: 1

Enchilada
Enchilada

Reputation: 3919

Never mind, I got it. First, I just have to add AddressBook.framework into my Linked Frameworks. Then, this is the code required:

#import <AddressBook/AddressBook.h>

NSString *theEmailAddressWeWantToObtain = @"";
ABPerson *aPerson = [[ABAddressBook sharedAddressBook] me];
ABMultiValue *emails = [aPerson valueForProperty:kABEmailProperty];
if([emails count] > 0)
  theEmailAddressWeWantToObtain = [emails valueAtIndex:0];

Upvotes: 17

Related Questions