IMS SDK Product Document
  • Getting Started
    • iOS
      • Requirements
      • Importing the SDK
      • Permissions
      • Initializing the SDK
      • Using the SDK
        • Using Push Notifications
          • Push notification certificate and profile creation guide
    • Android
      • Requirements
      • Import the SDK
      • Permissions
      • Obfuscation
      • Initialize the SDK
      • Using the SDK
        • Trip Detection and Recording
          • Trip Manager Configuration
            • Using TripDetector.AWARENESS
            • Trip Manager Device Support
          • Trip Manager Control
          • Trip Manager Status
        • Bluetooth and Other Devices
    • React Native
      • Requirements
      • Import the SDK
      • Permissions
      • Initialize the SDK
        • Android
        • iOS
      • Using the SDK
        • Trip Manager
        • Device service
    • Flutter
      • Requirements
      • Import the SDK
      • Permissions
      • Initialize the SDK
      • Using the SDK
  • Security
  • App misuse
  • Time Driven Without Phone
  • DriveSync Portal
    • Requirement
    • User
    • Device
    • Driving Alert
    • Push Notification
    • Invitations
    • Subscription
    • Trip
    • Location
    • Driving Summary
    • Discount
    • Scoring
    • Vehicle
    • Leaderboard
    • Rewards
    • Submit consent to EULA
    • Legal documents and FAQ
    • Named Driver
    • Wedge
  • Known Issues
    • iOS
    • Android
      • 1.17.0
      • 1.18.0
      • 1.22.0
  • Releases
    • 1.13.0
      • iOS
      • Android
    • 1.14.0
      • Android
    • 1.15.0
      • iOS
      • Android
    • 1.15.1
    • 1.16.0
      • iOS
      • Android
    • 1.17.0
      • iOS
      • Android
    • 1.18
      • iOS
      • Android
    • 1.18.1
    • 1.19.0
      • iOS
      • Android
    • 1.20.0
      • Android
      • iOS
    • 1.21.0
      • Android
      • iOS
    • 1.22.0
      • Android
      • iOS
    • 1.23.0
      • Android
      • iOS
    • 1.24.0
      • Android
      • iOS
    • 1.24.1
      • iOS
      • Android
  • Migration
    • iOS
      • 1.15.x -> 1.16.0
      • 1.16.0 -> 1.17.0
      • 1.17.0 -> 1.18.0
      • 1.18.0 -> 1.19.0
      • 1.19.0 -> 1.20.0
      • 1.20.0 -> 1.21.0
      • 1.21.0 -> 1.22.0
      • 1.22.0 -> 1.23.0
      • 1.23.0 -> 1.24.0
      • 1.24.0 -> 1.24.1
    • Android
      • 1.15.x -> 1.16
      • 1.16 -> 1.17
      • 1.17 -> 1.18
      • 1.18 -> 1.19
      • 1.19 -> 1.20
      • 1.20 -> 1.21
      • 1.21 -> 1.22
      • 1.22 -> 1.23
      • 1.23 -> 1.24
  • Support
Powered by GitBook
On this page
  • Breaking changes
  • New ConfigRegion Parameter
  • Configuring Identity
  • Removal of Identity Parameter
  • Update on AppMisuseManager
  • Removing tdwpServerEnv from BluetoothDeviceProvider
  1. Migration
  2. iOS

1.23.0 -> 1.24.0

Breaking changes

New ConfigRegion Parameter

A new ConfigRegion parameter is now required during SDK initialization. This addition is essential for proper configuration. ConfigRegion contains three regions: .US, .CAN, and .EU

Configuring Identity

From SDK 1.24, it is now essential to set the Identity as part of SDK initialization.

Important: The Identity set in this step will be utilized in all Portal APIs, so it is crucial to configure it before making any Portal API calls.

Example:

class InitializeSDK {
    init(completion: @escaping () -> ()) {
        try! initialize(
            Directories(root: sdkRootDirectory),
            configRegion: .EU,
            logLevel: .debug,
            tokenSignerFactory: { self.appTokenSigner }
        )
        
        // New Implementation
        let identity = Identity(apiKey: apiKey, externalReferenceID: uid)
        identity.setIdentity {
            // Proceed to the next step
            completion()
        }
    }
}

Removal of Identity Parameter

The Identity parameter has been removed from the TripDetectionManager class.

Example:

TripDetectionManager

// New Implementation
let tripDetectionManager = TripDetectionManager(
    uploadRoute: UploadRoute.anyNetwork,
    telemetryEvents: telemetryEvents,
    externalRecordProviders: [externalRecordProvider],
    features: features
)

Portal Services

The Identity parameter has been removed from all Portal APIs because it is expected to be set during SDK initialization. For more information on all Portal APIs, check here.

// Updated initialization of ActivationService for example
let activationService = ActivationService()

Update on AppMisuseManager

AppMisuseManager no longer requires identity and server type. It will now be retrieved from the backend.

let appMisuseService = AppMisuseManager(permissionManageable: permissionManager)

Removing tdwpServerEnv from BluetoothDeviceProvider

The tdwpEnvUrl will now be retrieved from the backend. Therefore, it no longer needs to be included it in the BluetoothDeviceProvider.

// New Implementation
let bluetoothProvider = BluetoothDeviceProvider(
    wedgeRegex: try NSRegularExpression(pattern: pattern, options: [])
)
Previous1.22.0 -> 1.23.0Next1.24.0 -> 1.24.1

Last updated 3 months ago