Latest 0.0.4
Homepage https://github.com/acoomans/Populate
License MIT
Platforms ios , requires ARC
Dependencies IGIdenticon
Frameworks UIKit, AddressBook
Authors

Populate

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

Screenshots

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 `OTHER_LINKER_FLAGS="-ObjC" for your target

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

Usage

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"
                                               lastName:@"A"
                                                  email:@"[email protected]"
                                                  phone:@"555-111-1111"
                                                  image:nil];
ACPerson *personB = [[ACPerson alloc] initWithFirstname:@"Bob"
                                               lastName:@"B"
                                                  email:@"[email protected]"
                                                  phone:@"555-222-2222"
                                                  image:nil];
ACPerson *personC = [[ACPerson alloc] initWithFirstname:@"Charlie"
                                               lastName:@"C"
                                                  email:@"[email protected]"
                                                  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.

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);

Documentation

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

Latest podspec

{
    "name": "PopulateKit",
    "version": "0.0.4",
    "platforms": {
        "ios": null
    },
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "summary": "Randomly-generated contacts for the iOS address book",
    "homepage": "https://github.com/acoomans/Populate",
    "authors": {
        "Arnaud Coomans": "[email protected]"
    },
    "source": {
        "git": "https://github.com/acoomans/Populate.git",
        "tag": "0.0.4"
    },
    "source_files": "PopulateKit/**/*.{h,m}",
    "resource_bundles": {
        "PopulateKit": "PopulateKit/PopulateKit.bundle/*"
    },
    "dependencies": {
        "IGIdenticon": [
            "~> 0.1"
        ]
    },
    "frameworks": [
        "UIKit",
        "AddressBook"
    ],
    "xcconfig": {
        "OTHER_LDFLAGS": "-lObjC"
    },
    "requires_arc": true
}

Pin It on Pinterest

Share This