# 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](/dev-hub/location-sdk/integrating-the-sdk/ios/installation.md)

### 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 %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://create.cloud4wi.ai/dev-hub/location-sdk/integrating-the-sdk/ios/quickstart.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
