A category on
ABPersonViewController that supports address book contact deletion (default
ABPersonViewController only supports updating). This category does not use any private methods.
#import "ABPersonViewController+Delete.h" #import <AddressBookUI/ABPeoplePickerNavigationController.h> // Instantiate the ABPeoplePickerNavigationController and set its delegate self.peoplePickerNavigationController = [[ABPeoplePickerNavigationController alloc] init]; self.peoplePickerNavigationController.peoplePickerDelegate = self; // Instantiate the ABPersonViewController+Delete category and set its properties ABPersonViewController *personViewController = [[ABPersonViewController alloc] init]; personViewController.personViewDelegate = self; personViewController.allowsEditing = YES; personViewController.displayedPerson = person; // Show the ABPersonViewController instance [self.peoplePickerNavigationController pushViewController:personViewController animated:YES];
Note that in Simulator,
ABPeoplePickerNavigationController does not appear to get refreshed after a deletion. This may be due to differences between the device framework and the Simulator framework.
Xcode 4.2, iOS 5.0 SDK, LLVM Compiler 3.0, Automated Reference Counting (ARC).
iOS 4.3-6.x. No longer working as of iOS 7.
The source code is available under the Apache License, Version 2.0
Forks, patches and other feedback are always welcome.