# Importing the SDK

The IMS SDK for iOS is a collection of Connected Car frameworks written in Swift.

## Component Libraries

The IMS SDK consists of frameworks as listed below:

* **Common:** Core framework required by all other frameworks.
* **Portal:** Perform interactions with web services, such as fetching resources and presenting them as native objects.
* **Gateway:** Uploads data, like trips and logs to the mobile gateway.
* **Trip Detection:** Detects and records trips from the mobile device.
* **Trip Detection Umbrella:** Manages the flow of data between Trip Detection and the Gateway, and automates uploading of debug log files.
* **Distracted Driving:** Add-on for providing distracted driving-related events while trip recording.
* **IMSPermissions:** Responsible for addressing the permissions of the device sensors (i.e. Location, Motion, Bluetooth, and Push notifications).
* **Primitives:** Used for storing general files that are used throughout the SDK project.
* **IMSInterfaces:** Used for storing general protocols that are used throughout the SDK project.
* **Devices:** Contains device-related capabilities that offer a few functionalities like connecting, start/stop detecting, associating/disassociating, scanning, etc.
* **IMSBluetooth:** This only contains the Bluetooth permission provider, used for grabbing the Bluetooth authorization status.
* **IMSAppMisuse:** AppMisuse sender for automated app status tracking. *Please contact **IMS** if you would like to use this feature.*

***NOTE:*** Each component has a specific task to perform. Splitting the SDK into these components ensures each task is encapsulated and can be used independently from each other. Consumers could, in theory, implement a combination of **TripDetection** and **Gateway** without the integration of **TripDetectionUmbrella** should that component not fit their specific needs. That said, **TripDetectionUmbrella** is designed to *just work* for the host application, with minimal setup required to integrate into a host app.

You will find the archived framework artifacts in the [Frameworks directory](https://github.com/ims-developers/ios-sdk/blob/master/Frameworks). Unarchive the frameworks by extracting them and dragging them into your Xcode project.


---

# 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://sdk.ims.tech/readme/ios/importing-the-sdk.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.
