Question

I am quite new to objective C , I am using XCode 4.2 and in a part of the application I will need to save data in the address book . but I need it to be displayed in the address book and not just save it on a button click

I am trying to use the following code :

I added the addressBook framework and the addressBookUI framework in my .h file I wrote

#import <UIKit/UIKit.h>
#import <AddressBook/AddressBook.h>
#import <AddressBookUI/AddressBookUI.h>


    @interface HelloWorld20ViewController : UIViewController<ABNewPersonViewControllerDelegate,ABPersonViewControllerDelegate>{

}
-(IBAction)go;

@end

in my .m file i wrote

-(IBAction)go{
    ABRecordRef newPerson= ABPersonCreate();
    CFErrorRef error = NULL;
    ABRecordSetValue(newPerson, kABPersonFirstNameProperty, CFSTR("john"), &error);
    ABRecordSetValue(newPerson, kABPersonLastNameProperty, CFSTR("Smith"), &error);
    NSAssert(!error, @"something bad happend here.");


    ABNewPersonViewController* newPersonViewController = [[ABNewPersonViewController alloc] initWithNibName:nil bundle:nil];
    [newPersonViewController setDisplayedPerson:newPerson];
    [newPersonViewController setNewPersonViewDelegate:self];

    UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:newPersonViewController];

    [self presentModalViewController:navController animated:YES];

    CFRelease(newPerson);

}

-(void)newPersonViewController:(ABNewPersonViewController *)newPersonView didCompleteWithNewPerson:(ABRecordRef)person{
    [self.navigationController popViewControllerAnimated:YES];
}

when i click on the go button I get a black screen : here is what I am getting

enter image description here

is there a reason why it is doing this ?

Thanks alot!

Edited

current code :

-(IBAction)go{
    ABRecordRef newPerson= ABPersonCreate();
    CFErrorRef error = NULL;
    ABRecordSetValue(newPerson, kABPersonFirstNameProperty, CFSTR("john"), &error);
    ABRecordSetValue(newPerson, kABPersonLastNameProperty, CFSTR("Smith"), &error);
    NSAssert(!error, @"something bad happend here.");


    ABNewPersonViewController* newPersonViewController = [[ABNewPersonViewController alloc] initWithNibName:nil bundle:nil];
    [newPersonViewController setDisplayedPerson:newPerson];
    [newPersonViewController setNewPersonViewDelegate:self];


    [self presentModalViewController:newPersonViewController animated:YES];

    CFRelease(newPerson);

}

and still the same problem

No correct solution

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top