Latest 5.1.0
Homepage https://github.com/NathanE73/Blackboard
License MIT
Platforms osx , ios , tvos , watchos
Authors

Blackboard: Another iOS Storyboard Manager

[Version]()
License
Platform
Swift
Sponsor

Requirements

  • iOS 10.0+
  • Xcode 10.0+

Installation

Using CocoaPods:

Simply add the following line to your Podfile:

pod 'Blackboard'

This will download the Blackboard binaries and dependencies in Pods/ during your next
pod install execution and will allow you to invoke it via ${PODS_ROOT}/Blackboard/blackboard
in your Script Build Phases.

This is the recommended way to install a specific version of Blackboard since it supports
installing a pinned version rather than simply the latest.

Note that this will add the Blackboard binaries, its dependencies’ binaries and the Swift binary
library distribution to the Pods/ directory, so checking in this directory to SCM such as
git is discouraged.

Xcode

Integrate Blackboard into an Xcode scheme to get warnings and errors displayed
in the IDE. Just add a new "Run Script Phase" with:

if which "${PODS_ROOT}/Blackboard/blackboard" >/dev/null; then
  "${PODS_ROOT}/Blackboard/blackboard" "ExampleApp/Resources/" "ExampleApp/Source/Generated/"
else
  echo "warning: blackboard not installed, download from https://github.com/NathanE73/Blackboard"
fi

Usage – Generated Source

UIViewController

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    window = UIWindow(frame: UIScreen.main.bounds)

    window?.rootViewController = WelcomeViewController.instantiateViewControllerFromStoryboard()

    window?.makeKeyAndVisible()

    return true
}

UINavigationController

let namesNavigationController = NamesViewController.instantiateNavigationControllerFromStoryboard { (namesViewController) in
    namesViewController.names = ["Steve Dave", "John Doe"]
}
present(namesNavigationController, animated: true, completion: nil)

UIStoryboardSegue

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    performShowNameSegue { (nameViewController) in
        nameViewController.name = self.names[indexPath.row]
    }
}

UITableViewCell

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    return dequeueNameCell(from: tableView, for: indexPath) { (nameCell) in
        nameCell.name = self.names[indexPath.row]
    }
}

UICollectionViewCell

let cell = dequeueAccountNameCell(from: collectionView) { (accountNameCell) in
    accountNameCell.name = "Steve Dave"
}

Authors

License

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

Latest podspec

{
    "name": "Blackboard",
    "version": "5.1.0",
    "summary": "An iOS Storyboard and Asset Manager",
    "homepage": "https://github.com/NathanE73/Blackboard",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "Nathan Walczak": "[email protected]"
    },
    "source": {
        "http": "https://github.com/NathanE73/Blackboard/releases/download/5.1.0/portable-blackboard.zip"
    },
    "preserve_paths": "*",
    "exclude_files": "**/file.zip",
    "platforms": {
        "osx": null,
        "ios": null,
        "tvos": null,
        "watchos": null
    }
}

Pin It on Pinterest

Share This