Open contacts book is pretty simple. Here a nice tutorial that explain how to do that:
http://www.raywenderlich.com/63885/address-book-tutorial-in-ios
Also: in iOS 8, you can use the inter-app communication extension! It's a really nice feature. You can see that keynote video about this here: http://www.theverge.com/2014/6/2/5765048/apple-wwdc-2014-os-x-yosemite-ios-8-and-all-the-news-you-need-to-know
EDIT:
Here is my init method used in my app to present a controller which is the contacts tableView:
- (id)init
{
self = [super init];
if (self) {
ABPeoplePickerNavigationController *picker = [ABPeoplePickerNavigationController new];
ABAddressBookRef addressBook = ABAddressBookCreate();
picker.addressBook = addressBook;
picker.displayedProperties = @[[NSNumber numberWithInt:kABPersonAddressProperty]];
picker.peoplePickerDelegate = self;
if (addressBook != nil)
CFRelease(addressBook);
_controller = picker;
}
return self;
}
I don't know if this can help you. Anyway, don't forget to use appropriate new methods (not deprecated). I think there are small changes about ABAddressBookCreate();