chrisjr
chrisjr

Reputation: 770

Adding a new phone number into contact app

I have this code to open the contacts view controller:

ABNewPersonViewController *newPersonVC = [[ABNewPersonViewController alloc] init];
               newPersonVC.newPersonViewDelegate = self;
               UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:newPersonVC];
               [self presentModalViewController:nc animated:YES];

I want to be able to grab NSString *phoneNumber = @"(416)-555-5555"; and put it into the "home phone" field. I have looked through other answers and I end up getting either nothing popping up or my app crashes. Apple's documentation doesn't help much either.

How do I solve this? Any help is appreciated.

Upvotes: 0

Views: 211

Answers (1)

MadhuP
MadhuP

Reputation: 2019

NSString *phoneNumber = @"(416)-555-5555";
ABRecordRef newPerson = ABPersonCreate();
CFErrorRef error = NULL;
ABRecordSetValue(newPerson, kABPersonDepartmentProperty,(__bridge  CFTypeRef)@"Department", nil);
ABMutableMultiValueRef phoneNumberMultiValue = ABMultiValueCreateMutable(kABPersonPhoneProperty);
ABMultiValueAddValueAndLabel(phoneNumberMultiValue,(__bridge  CFTypeRef)phoneNumber, kABWorkLabel, nil);
ABRecordSetValue(newPerson, kABPersonPhoneProperty, phoneNumberMultiValue, nil);
NSAssert( !error, @"Something bad happened here." );

ABNewPersonViewController *newPersonVC = [[ABNewPersonViewController alloc] init];
[newPersonVC setDisplayedPerson:newPerson];
newPersonVC.newPersonViewDelegate = self;
UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:newPersonVC];
[self presentModalViewController:nc animated:YES];

Hope it Help's you.

Upvotes: 2

Related Questions