Latest 1.0
License MIT
Platforms ios 9.3, requires ARC
Frameworks UIKit

Build Status Carthage compatible Cocoapods compatible License: MIT

A framework for providing an app "on-boarding" UI


Conductor provides a user interface for on-boarding users to a new app, or to an updated version
of an app.



To use Conductor with CocoaPods, add the following line to your Podfile:

pod 'Conductor'


To use Conductor with Carthage, add the following line to your Cartfile:

github "exsortis/Conductor"

Setup the data source

The first thing you need to do to get Conductor working is to setup a data source that will
feed the presentation.

let pages = [
    ConductorPageData(bodyText: "Page 1", image: page1Image),
    ConductorPageData(bodyText: "Page 2", image: page2Image),
    ConductorPageData(bodyText: "Page 3"),
let dataSource = ConductorDataSource(pageData: pages)

Create the view controller

Once the data source is setup, create the view controller and present it:

// TODO: make this view controller conform to ConductorDelegate

let vc = Conductor.viewControllerWithDataSource(dataSource, delegate: self)
// populate the appearance properties
Conductor.titleFont = appTitleFont
Conductor.textFont = appTextFont
// more...

self.present(vc, animated: true, completion: nil)

In the delegate, implement the following methods:

func conductorControllerFinished(_ controller : ConductorViewController) {
    // the user made it to the end, dismiss the controller
    controller.dismiss(animated: true, completion: nil)

func conductorController(_ controller : ConductorViewController, userWantsToSkipAtPage pageNumber : Int) {
    // the user decided they've seen enough, dismiss the controller
    // maybe save the page for later
    controller.dismiss(animated: true, completion: nil)


Copyright © 2016-7 Pilgrimage Software


See LICENSE for details.

Latest podspec

    "name": "Conductor",
    "version": "1.0",
    "summary": "A framework for displaying an 'on-boarding' UI",
    "homepage": "",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    "authors": {
        "Paul Schifferer": "[email protected]"
    "source": {
        "git": "",
        "tag": "1.0"
    "source_files": "Conductor/*.swift",
    "resources": [
    "frameworks": "UIKit",
    "platforms": {
        "ios": "9.3"
    "requires_arc": true,
    "pushed_with_swift_version": "3.2"

Pin It on Pinterest

Share This