ABPersonViewController category which allows contact deletion. NOTE: Unavailable in iOS 7
Failed to load latest commit information.
ABDelete.xcodeproj Set iPHONEOS_DEPLOYMENT_TARGET = 4.3 Jul 15, 2013
ABDelete Added deprecation warning. Feb 9, 2014
.gitignore Initial add. Jan 6, 2012
Default-568h@2x.png Added Retina 4" launch image May 19, 2013
LICENSE Create LICENSE Jul 25, 2013



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.

Build requirements

Xcode 4.2, iOS 5.0 SDK, LLVM Compiler 3.0, Automated Reference Counting (ARC).

Deployment target

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.

Bitdeli Badge