Need help with Populate?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

123 Stars 18 Forks MIT License 38 Commits 1 Opened issues


Populate is both an iOS app and library to easily create random-generated contacts.

Services available


Need anything else?

Contributors list

No Data


Populate is both an iOS app and library to easily create random-generated contacts.

  • the Populate app let you configure and add contacts to the iOS address book.
  • the PopulateKit library let you create contacts for either adding to the address book or any other purpose.

Build Status Cocoapods Cocoapods


screenshot01    screenshot02

Populate app

Run the app

  1. Install the pods with
    pod install
  2. Open Populate.xcworkspace (the workspace, not the project), build it and run it
  3. Choose a group name (useful for later deletion), number of contacts, type of name and type of photo
  4. Tap populate to add the contacts
  5. Tap depopulate to remove the group and all its member contacts

You can tap contacts to open the address book without switching apps.

** Be careful not to erase your real contact if you use Populate on a real device **

PopulateKit library

Install with CocoaPods

Add a pod entry to your Podfile:

pod 'PopulateKit', '~> 0.0.4'

Install the pod(s) by running:

pod install

Install manually

  1. clone this repository
  2. add the files in the PopulateKit directory to your project
  3. link your app with the AddressBook framework
  4. set `OTHERLINKERFLAGS="-ObjC" for your target

If you want the (optional) identicons, you should also add IGIdenticon to your project.


Import the header

#import "PopulateKit.h"

Adding contacts to the address book

To add hand-made contacts to the address book, create the contacts with the ACPerson wrapper and add them to Test group in the address book:

ACPerson *personA = [[ACPerson alloc] initWithFirstname:@"Alice"
                                                  email:@"[email protected]"
ACPerson *personB = [[ACPerson alloc] initWithFirstname:@"Bob"
                                                  email:@"[email protected]"
ACPerson *personC = [[ACPerson alloc] initWithFirstname:@"Charlie"
                                                  email:@"[email protected]"

[ACPopulate populateGroupWithName:@"Test"
                      withPersons:@[personA, personB, personC]

To add randomly-generated contacts instead, use a ACPersonSet:

    [ACPopulate populateGroupWithName:@"Test"
                              fromSet:[ACPersonSet personSetWithRandomNameAndImage]

It is possible to populate with a custom ACPersonSet by using data sets (ACNameSet and ACImageSet). Here is an example of populating with random first names, common US surnames and identicon avatars:

[ACPopulate populateGroupWithName:@"Test"
                          fromSet:[ACPersonSet setWithFirstNameSet:[ACNameSet randomNameSet]
                                                       lastNameSet:[ACNameSet commonSurnameSet]
                                                          imageSet:[ACImageSet identiconImageSet]

Or you can supply multiple ACPersonSet, like a male and a female set:

[ACPopulate populateGroupWithName:@"Test"
                                    [ACPersonSet setWithFirstNameSet:[ACNameSet commonMaleNameSet]
                                                         lastNameSet:[ACNameSet commonSurnameSet]
                                                            imageSet:[ACImageSet maleFaceImageSet]],

                                [ACPersonSet setWithFirstNameSet:[ACNameSet commonFemaleNameSet]
                                                     lastNameSet:[ACNameSet commonSurnameSet]
                                                        imageSet:[ACImageSet femaleFaceImageSet]]

If you want to delete the Test group and all its members from the addess book:

[ACPopulate depopulateGroupWithName:@"Test" completion:nil];

You can also have a look at the Populate app for inspiration.

Generating contacts

If you want to use randomly-generated contacts directly:

ACPersonSet *personSet = [ACPersonSet setWithFirstNameSet:[ACNameSet randomNameSet]
                                              lastNameSet:[ACNameSet commonSurnameSet]
                                                 imageSet:[ACImageSet identiconImageSet]];
ACPerson *person = [personSet randomPerson];
NSLog(@"%@", person.firstName);


If you have appledoc installed, you can generate the documentation by running the corresponding target.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.