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 8.0 or above. iOS 10 is recommended for optimal operation.
  • XCode 7.3 or above, running on Mac OS X 10.10 or above.
  • Supported devices:
  • iPhone 4S or newer
  • iPad 3 or newer
  • iPad Mini 2 or newer

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, '10.0'

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

  # SDK
  pod 'SygicMaps'
end

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. Please be aware that Sygic Maps SDK initialization is asynchronous and any attempt to use any part of the SDK before initialization is finished may result in exception and app crash.

First import Sygic Maps SDK

import SygicMaps

Add the following to your application(_:didFinishLaunchingWithOptions:) method, replacing YOUR_APP_NAME with your app name, SECRET_CODE with your Secret code and ROUTING_KEY with key to acces online services:

SYContext.initWithAppKey("YOUR_APP_NAME", appSecret: "SECRET_CODE", onlineRoutingKey: "ROUTING_KEY")
{ (initResult) 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 {
        self.showSDKInitializationErrorAlert()
    }
}

Important note:

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