TransportApiSdk 1.2.3

TransportApiSdk 1.2.3

LangLanguage SwiftSwift
License MIT
ReleasedLast Release May 2018
SPMSupports SPM

Maintained by Chris King.

TransportApiSdk - WhereIsMyTransport API Client Library for iOS

Version License Platform

The official iOS SDK for the WhereIsMyTransport API.

Access to the platform is completely free, so for more information and to get credentials, just visit the developer portal.


In your application delegate, import TransportApiSdk and inside applicationDidFinishLaunching: add:

import TransportApiSdk

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

    TransportApiClient.loadCredentials(clientId: "YOUR_CLIENT_ID", clientSecret: "YOUR_CLIENT_SECRET")

    return true

Now you can make calls anywhere in your application:

import TransportApiSdk

(result: TransportApiResult<[Agency]>) in

    // Do fancy things with the results.


NEW on-device feature available:

WhenToGetOff (Beta)

Notifies the user with vibrations and a banner when they are approaching a stop they need to disembark at.

  • The function stops monitoring when: the user has no more stops to disembark at or the itinerary time has elapsed.
  • Calling the function again will over-write any existing function.
  • The function samples the user location for crowd-sourcing with minimal data usage.

Before using this feature, please do the following:

  • Add the NSLocationAlwaysUsageDescription description in your app's Info.plist
  • Turn on Background Fetch and Location Updates checkbox in Project Settings > Capabilities > Background Modes
  • Request authorization for notifications


import TransportApiSdk

// Grant access to notifications.
UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound]){(granted, error) in}

// Call WhenToGetOff with the itinerary.
TransportApiClient.startMonitoringWhenToGetOff(itinerary: USER_SELECTED_ITINERARY)

Wrapper Functions

The following API end-points are available:

  • POST api/journeys
  • GET api/journeys/{id}
  • GET api/journeys/{id}/itineraries/{id}
  • GET api/agencies
  • GET api/agencies/{id}
  • GET api/stops
  • GET api/stops/{id}
  • GET api/stops/{id}/timetables
  • GET api/lines
  • GET api/lines/{id}
  • GET api/lines/{id}/timetables
  • GET api/fareproducts
  • GET api/fareproducts/{id}



Install CocoaPods with the following command:

gem install cocoapods

Integrate TransportApiSdk into your Xcode project by creating a Podfile:

platform :ios, '10.0'

target '<Your Target Name>' do
pod 'TransportApiSdk'

Run pod install to build your dependencies.




Chris King -


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