# QuickStart

### Before you start

Create [projects](#projects-and-client-apps) and apps in your console and get your *mobile key*<br>

### Step 1: SDK integration

#### CocoaPods

Add `pod 'c4w-location-sdk'` to your Podfile and run `pod install`. More details [CocoaPods here](https://cocoapods.org/).

For other integration methods see [here](https://create.cloud4wi.ai/dev-hub/location-sdk/integrating-the-sdk/ios/installation)

### Step 2: Project initialization

#### Mobile key

Add the following key to Info.plist file (String value) with the corresponding value (that you obtained when added your app to your project)

```xml
<key>GUMobileKey</key>
<string>'your-mobile-key'</string>
```

#### Location usage keys

1. Add the following keys to Info.plist file (String value), the corresponding values will be shown to the user by iOS

```xml
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>We would like to access your locations</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>We would like to access your locations</string>
```

### Step 3: SDK enable

#### Inizialize

To initialize the framework and allow it to collect data in the background it is necessary to add this call in the `didFinishLaunchingWithOptions` method (this method don't start the tracking engine)

{% tabs %}
{% tab title="Swift" %}

```swift
//Swift
/* ------ AppDelegate.swift ------ */

//importing the framework
import GeoUniq

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    let _ = GeoUniq.sharedInstance()

    return true
}
```

{% endtab %}

{% tab title="Object-C" %}

```objectivec
//Objective C
/* ------ AppDelegate.m ------ */

//importing the framework
#import "GeoUniq/GeoUniq-Swift.h"

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    [GeoUniq sharedInstance];

    return YES;
}
```

{% endtab %}
{% endtabs %}

#### Start

To start the tracking engine call enable method.

&#x20;Example:

{% tabs %}
{% tab title="Swift" %}

```swift
//Swift
/* ------ AppDelegate.swift ------ */

//importing the framework
import GeoUniq

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    GeoUniq.sharedInstance().enable()

    return true
}
```

{% endtab %}

{% tab title="Object-C" %}

```objectivec
//Objective C
/* ------ AppDelegate.m ------ */

//importing the framework
#import "GeoUniq/GeoUniq-Swift.h"

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    [[GeoUniq sharedInstance] enable];

    return YES;
}
```

{% endtab %}
{% endtabs %}
