Latest 3.0.1
License MIT
Platforms ios 9.0, osx 10.10, tvos 9.0, watchos 3.0, requires ARC

Language Swift 4.0

A common place for our Networking code. On iOS this can be tricky. Since Swift 4.0 this can be very straight forward with the Codable protocol. More info on WWWDC 2017 session video: New in Founcation

Our goal with Faro is:

  • Decode objects from JSON data returned from any service.
  • Easy to debug errors and logs in the console
  • Simplify security setup

Go play in the FaroPlayground.

Get started

Open the ./Example/Faro.xcworkspace and open the FaroPlayground. You will be guided into the concepts as you try out the code.

As always feedback more then welcome. (🍻 also!)

Asynchronous Throwing

Faro makes heavy use of Asynchronous Throwing. Why this is can be found a a super post from 2015 from @terhechte


  • iOS 10 and Swift 4.0 or higher
  • Because we use generics you can only use this pod in Swift only files. You can mix and Match with Objective-C but not with generic classes. Types More info


Faro is available through CocoaPods and the Swift Package Manager.

To install it with CocoaPods, add the following line to your Podfile:

pod "Faro", "~>3.0"


More info on the contribution guidelines wiki page.

Coding Guidelines

We follow the iCapps Coding guidelines.

We use Swiftlint to keep everything neat.


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

Latest podspec

    "name": "Faro",
    "version": "3.0.1",
    "summary": "Faro defines the contract to fetch data from an asynchronous source that can be mapped to any model object.",
    "description": "_Our goal with Faro is:nn* Decode objects from JSON data returned from any service.n* Easy to debug errors and logs in the consolen* Simplify security setup",
    "license": "MIT",
    "homepage": "",
    "authors": {
        "Leroy Jenkins": "[email protected]"
    "source": {
        "git": "",
        "tag": "3.0.1"
    "social_media_url": "",
    "platforms": {
        "ios": "9.0",
        "osx": "10.10",
        "tvos": "9.0",
        "watchos": "3.0"
    "requires_arc": true,
    "source_files": "Sources/**/*",
    "pushed_with_swift_version": "3.0"

Pin It on Pinterest

Share This