# Importing the SDK

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

## Component Libraries

The IMS SDK consists 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.*
* **ImsKmpSdk:** New core framework required by all other frameworks.

***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.
