The Sygic iOS Maps SDK offers APIs to enable developers to access Sygic location-based assets and bring a location experience to their applications. Beautiful hybrid maps, a global database of Places and a world-class routing capability will make your apps world class. The powerful Sygic map engine provides options for rendering map data and route calculation. You can use either our wonderful online maps or download offline maps to navigate also without internet connection.

System Requirements

  • iOS 11.0 or above.
  • XCode 11.0 or above.

Install the SDK

Sygic Maps SDK is available via CocoaPods
Follow these steps to include Maps SDK framework into your project

If you don't already have created your project, create new iOS project

Create your Podfile in your project root directory or run pod init command
Your pod file should look something like this

platform :ios, '11.0'

target 'SdkMinimal' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks

  # SDK
  pod 'SygicMaps'

Then run pod install command to install dependencies.
Please see repository for latest SDK vesrion

Initialize the SDK

In majority of the examples we assume you're using online maps. To learn how to use offline maps please follow offline maps tutorial

First you have to make some changes in your info.plist file. You have to add Privacy - Location When In Use Usage Description to request user permission to access location.

Changes that have to be done in info.plist

Now initialize SDK in AppDelegate.swift as follows.

Important: Please be aware that the Sygic Maps SDK initialization is asynchronous and any attempt to use any part of the SDK before initialization is finished may result in an exception and app crash.

First import Sygic Maps SDK

import SygicMaps

Add the following to your application(_:didFinishLaunchingWithOptions:) method, replacing "your-app-key" in the config with the one that was provided to you.
Note that since version 15, the SECRET_CODE is no longer necessary and you can just leave the field blank (as an empty string).

NSDictionary* config = @{@"Authentication":
                          @{@"app_key" : @"your-app-key",
                            @"app_secret" : @""} 
{ (initResult, description) in
    if (initResult == .success) {
            // SDK successfully loaded. You can now start using whole SDK, including the SYMapView
            SYOnlineSession.shared().onlineMapsEnabled = true
        (self?.window?.rootViewController as? ViewController)?.initMap();
    } else {

Important note:

This is the minimal required configuration to initialize our Sygic Maps SDK.
Our mobile SDK offers powerful configuration that allows you to configure many visual and behavioural aspects.
To learn more please read our Json Configuration documentation.