TallyGo iOS SDK
BETA

The TallyGo iOS SDK (TallyGoKit) enables you to embed state-of-the-art real-time navigation into your iOS app with virtually no development effort.


iOS SDK Features

The TallyGo SDK, built for the future with the following state-of-the-art features, redefines the possibilities of a navigation stack — and what's more, this navigation stack is now yours! Harness its power however you see fit!

  • Turn-by-Turn Navigation
    State-of-the-art navigation system integrates real-time traffic and accident data to provide optimal driving directions to users.
  • Time-Dependent Routing
    Patented routing algorithm calculates the fastest route based on near-future traffic prediction while delivering sub-second response times.
  • Voice Guidance
    A natural-sounding voice provide timely spoken instructions that guide you to your destination.
  • Robust Road Network
    Comprehensive road network data includes accurate exit sign data, time-based turn restrictions, one-way streets, and private roadways.
  • Real-time Traffic
    Intelligent routes use millions of minute-level traffic readings from loop sensors installed in the roads.
  • Real-time Accidents
    Accurate clear times and other meta data are displayed by directly accessing highway patrol data.
  • Contextual Search
    Intelligent search API incorporates multiple search sources (Yelp, Foursquare, OSM) to return location results based on geographic relevance.
  • Advanced Telemetry
    Track driver location granularly, which enables features like displaying driver location to consumers.

Getting Set Up

Approximate time: 2-10 mins

Note: Our SDK requires Xcode 8 or above. We provide different Cocoapods depending on your version of Xcode.

This guide assumes you have an existing app. If not, simply create one in Xcode using the "Single View App" template. And if you're new to iOS development, you might want to take a look at our Reference Implementation .

  1. Sign up for a free TallyGo account to get an SDK Access Token.
  2. Just add the correct pod to your CocoaPods Podfile:

    Xcode version Swift version CocoaPod installation
    Xcode 9.1 Swift 4.0.2 pod 'TallyGoKit-Xcode9.1'
    Xcode 9.0 Swift 4.0 pod 'TallyGoKit-Xcode9.0'
    Xcode 8.3 Swift 3.1 pod 'TallyGoKit-Xcode8.3'
  3. Then do a pod install --repo-update
  4. Import the module with import TallyGoKit
  5. Initialize the TallyGoKit with your TallyGo SDK Access Token (sent to you via email): TallyGoKit.initialize(withAccessToken: "YOUR_SDK_ACCESS_TOKEN")
  6. Set MGLMapboxMetricsEnabledSettingShownInApp to YES in your app's Info.plist file (for telemetry).
  7. Set the NSLocationAlwaysUsageDescription and/or NSLocationWhenInUseUsageDescription keys in your app's Info.plist file (for location services).
  8. Add Required background modes with the item App registers for location updates in your app's info.plist file.
  1. Sign up for a free TallyGo account to get an SDK Access Token.
  2. Download and unzip the correct version of the TallyGo iOS SDK based on your Xcode version, and add that to your Frameworks section in Xcode. (We recommend the TallyGoKit-With-Dependencies.zip package for easy installation.)
  3. Initialize the TallyGoKit with your TallyGo SDK Access Token (sent to you via email): TallyGoKit.initialize(withAccessToken: "YOUR_SDK_ACCESS_TOKEN")
  4. Set MGLMapboxMetricsEnabledSettingShownInApp to YES in your app's Info.plist file (for telemetry).
  5. Set the NSLocationAlwaysUsageDescription and/or NSLocationWhenInUseUsageDescription keys in your app's Info.plist file (for location services).
  6. Add Required background modes with the item App registers for location updates in your app's info.plist file.

You're ready to roll!


Get Navigation in your App

TallyGo

Approximate time: 5-10 mins

Now let's have some fun by adding turn-by-turn navigation to your app!

  1. Use the driving simulator so you can try this from the comfort of your desk:
    TallyGoKit.simulatedCoordinate = CLLocationCoordinate2DMake(34.050259, -118.249611)
  2. Now let's create the view controller and set a few attributes:
    // Get these coordinates from your app, these are just a sample
    let origin = CLLocationCoordinate2DMake(34.050259, -118.249611)
    let destination = CLLocationCoordinate2DMake(33.987760, -118.470784)
    
    // Create and configure the navigation guidance view controller
    let viewController = TGGuidanceViewController.makeFromStoryboard()
    viewController.showsOriginIcon = false
    viewController.origin = origin
    viewController.destination = destination
    viewController.mapview.tintColor = UIColor.blue
    viewController.mapview.attributionButton.isHidden = true
    viewController.commencementSpeech = "Let's go!"
    viewController.proceedToRouteSpeech = "Please proceed to the route."
    viewController.arrivalSpeech = "You have arrived."
    
    // Display it
    present(viewController, animated: true, completion: nil)
  3. Voila! You now have turn-by-turn navigation in your app!

API Documentation

Check out our API Documentation to learn more about the all the features that the TallyGo iOS SDK has to offer:

TallyGo iOS API Documentation