Permissions

Localization Keys

There are localization keys (Cocoa keys) that are necessary for trip detection. In order to implement these keys, click on your project's root directory in the Project Navigator:

Select your app's target and click on the Info tab, which will then show you a list of currently active keys (under Custom iOS Target Properties).

To add a new key, hover over any existing key and click on the + icon (or right-click a key and click on "Add Row"). When you start typing in the name of the key, it will pop up in the dropdown menu. Enter the following four keys:

  • Privacy - Location Always Usage Description

  • Privacy - Location Always And When In Use Usage Description

  • Privacy - Location When In Use Usage Description

  • Privacy - Motion Usage Description

For each of these keys, add a meaningful description (under Value) to explain the purpose of the permission. It may be a good idea to localize these descriptions if your app supports multiple languages.

Background Modes

To integrate TripDetection or TripDetectionUmbrella into your own app, you must enable the following Background Modes in the Signing & Capabilities tab in your app's target:

TIP: Learn more about Apple's iOS background modes here.

Permissions

App side

The client app is responsible for requesting the proper permissions, and adding any required permissions to the manifest file of their app. The SDK uses APIs that require runtime permissions (Locations, Bluetooth). The SDK ensures that these permissions have been granted, and may trigger the permission dialog to present itself to the user when required.

Bluetooth devices

The SDK checks for Bluetooth authorizations before starting the feature. A failure when starting the Bluetooth Trip Detection feature is not reported as a failure to start trip detection.

It is possible for the client app to restrict download to only devices supporting Bluetooth LE by adding the UIRequiredDeviceCapabilities in the application plist. In this case, the Bluetooth Trip Detection feature is always available.

Last updated