Skip to content
Contacts picker using new contacts framework by apple
Swift Ruby
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
Contacts Picker.xcodeproj Fix #31 Sep 30, 2016
Contacts Picker Add key NSContactsUsageDescription to run example app Sep 20, 2016
Pods Merge pull request #38 from JettF/feature/weakDelegate Jun 2, 2017
Screenshots Updated Screenshots Feb 12, 2016
.gitignore Adde support for swift 3.0 Sep 24, 2016
.travis.yml Updated travis and pod spec 🌱files Jun 2, 2017
.xctool-args make travis use latest xctool Apr 28, 2016
EPContactsPicker.podspec Updated travis and pod spec 🌱files Jun 2, 2017
EPContactsPickerLogo.jpg Added logo Dec 5, 2015
LICENSE Initial commit Oct 27, 2015 Updated readme file Sep 24, 2016



Contacts picker component using new contacts framework by apple

Platform Swift 3 CocoaPods Compatible CI Status License Twitter: @HaveYouMetPrabu


Single Selection Multi Selection



EPContactsPicker is available on CocoaPods. Just add the following to your project Podfile:

pod 'EPContactsPicker'

Manual Installation

Just drag and drop the EPContactsPicker folder into your project


  • iOS9+
  • Swift 3.0
  • ARC

For manual installation you might have to add these frameworks in your Build Phases ContactsUI.framework and Contacts.framework.


EPContacts Picker provides lot of features which lets you customize the picker

  1. Single selection and multiselection option
  2. Search Contacts
  3. Making the secondary data to show as requested(Phonenumbers, Emails, Birthday and Organisation)
  4. Section Indexes to easily navigate throught the contacts
  5. Showing initials when image is not available
  6. EPContact object to get the properties of the contacts


Init the picker by passing delegate, multiselection option and the secondary data(Phone number, Email, brithday and Organisation) to be displayed

let contactPickerScene = EPContactsPicker(delegate: self, multiSelection:false, subtitleCellType: SubtitleCellValue.Email)
let navigationController = UINavigationController(rootViewController: contactPickerScene)
self.presentViewController(navigationController, animated: true, completion: nil)


EPContactsPicker provides you four delegates for getting the callbacks on the picker

func epContactPicker(_: EPContactsPicker, didContactFetchFailed error : NSError)
func epContactPicker(_: EPContactsPicker, didCancel error : NSError)
func epContactPicker(_: EPContactsPicker, didSelectContact contact : EPContact)
func epContactPicker(_: EPContactsPicker, didSelectMultipleContacts contacts : [EPContact])

EPContact Object

EPContact object provides you the properties of a contact. This contains properties like displayname, initials, firstname, lastname, organisation, birthdayString etc


EPContactsPicker is available under the MIT license. See the LICENSE file for more info.


@ipraba @Sorix

You can’t perform that action at this time.