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.
- Install the pods with
pod install
- Open Populate.xcworkspace (the workspace, not the project), build it and run it
- Choose a group name (useful for later deletion), number of contacts, type of name and type of photo
- Tap populate to add the contacts
- 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 **
Install with CocoaPods
Add a pod entry to your Podfile:
pod 'PopulateKit', '~> 0.0.4'
Install the pod(s) by running:
pod install
- clone this repository
- add the files in the PopulateKit directory to your project
- link your app with the AddressBook framework
- set `OTHER_LINKER_FLAGS="-ObjC" for your target
If you want the (optional) identicons, you should also add IGIdenticon to your project.
Import the header
#import "PopulateKit.h"
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"
lastName:@"A"
email:@"alice@example.com"
phone:@"555-111-1111"
image:nil];
ACPerson *personB = [[ACPerson alloc] initWithFirstname:@"Bob"
lastName:@"B"
email:@"bob@example.com"
phone:@"555-222-2222"
image:nil];
ACPerson *personC = [[ACPerson alloc] initWithFirstname:@"Charlie"
lastName:@"C"
email:@"charles@example.com"
phone:@"555-333-3333"
image:nil];
[ACPopulate populateGroupWithName:@"Test"
withPersons:@[personA, personB, personC]
completion:nil];
To add randomly-generated contacts instead, use a ACPersonSet:
[ACPopulate populateGroupWithName:@"Test"
withCountOfPersons:10
fromSet:[ACPersonSet personSetWithRandomNameAndImage]
completion:nil];
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"
withCountOfPersons:10
fromSet:[ACPersonSet setWithFirstNameSet:[ACNameSet randomNameSet]
lastNameSet:[ACNameSet commonSurnameSet]
imageSet:[ACImageSet identiconImageSet]
completion:nil];
Or you can supply multiple ACPersonSet, like a male and a female set:
[ACPopulate populateGroupWithName:@"Test"
withCountOfPersons:10
fromSets:@[
[ACPersonSet setWithFirstNameSet:[ACNameSet commonMaleNameSet]
lastNameSet:[ACNameSet commonSurnameSet]
imageSet:[ACImageSet maleFaceImageSet]],
[ACPersonSet setWithFirstNameSet:[ACNameSet commonFemaleNameSet]
lastNameSet:[ACNameSet commonSurnameSet]
imageSet:[ACImageSet femaleFaceImageSet]]
]
completion:nil];
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.
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.