- Developers
- Sygic Maps SDK
- iOS
- Getting Started
Getting Started
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
use_frameworks!
# SDK
pod 'SygicMaps'
end
Then run pod install
command to install dependencies.
Please see repository for latest SDK vesrion
Get an API key
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.

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" : @""}
};
SYContext.initWithConfiguration(config)
{ (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 {
self.showSDKInitializationErrorAlert(description)
}
}
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.
- Next article: Maps