DriveKit 3.0 migration guide
Migration guide for DriveKit 3.0 on iOS platform
What's changed in v3.0?
Introduction
Version 3.0 of the DriveKit SDK contains breaking changes: all methods that were marked as deprecated during the past year have been permanently removed.
This guide lists every removed element alongside its recommended replacement, organized by module.
Following these steps will keep your integration stable and future-proof.
How to use this guide
Each section maps to an SDK module. For every removed element, you'll find:
The exact method, class, or property that was removed
The recommended drop-in replacement to use instead
Module-level reset() methods
The reset() method has been removed from every individual module. Use DriveKit.reset() as your single reset point across all modules.
DriveKitDriverData.reset()
Call DriveKit.shared.reset()
DriveKitChallenge.reset()
Call DriveKit.shared.reset()
DriveKitCoaching.reset()
Call DriveKit.shared.reset()
DriveKitDriverAchievement.reset()
Call DriveKit.shared.reset()
DriveKitGroup.reset()
Call DriveKit.shared.reset()
DriveKitTripAnalysis.reset()
Call DriveKit.shared.reset()
DriveKitVehicle.reset()
Call DriveKit.shared.reset()
DriveKitTripAnalysis
Several one-off methods have been merged into a single, structured call: getCurrentTripInfo(). This reduces the number of calls you need to make and gives you all the context about the current trip in one place.
getCurrentStartMode() -> StartMode?
getCurrentTripInfo() → access .startMode
getCurrentTripStartDate() -> Date?
getCurrentTripInfo() → access .startDate
getLastTripPoint() -> TripPoint?
getLastTripPointOfCurrentTrip()
getTripResponseStatus(_:)
tripFinished(responseStatus:) — see TripResponseStatus
TripListener protocol — Updated Methods & Types
The TripListener protocol has been redesigned for clarity. The new methods provide richer state objects, so you get more context with less code.
Method Replacements
tripStarted(startMode: StartMode)
tripRecordingConfirmed(state: DKTripRecordingConfirmedState)
tripCancelled(cancelTrip: CancelTrip)
tripRecordingCanceled(state: DKTripRecordingCanceledState)
func tripFinished(post: PostGeneric, response: PostGenericResponse)
tripFinished(responseStatus: TripResponseStatus)
Removed Classes & Enums
These types were tightly coupled to the old listener design. They are no longer needed.
CancelTrip (enum)
State is now carried by DKTripRecordingCanceledState
PostGeneric (class)
No longer needed - the new API handles this internally
PostGenericResponse (class)
Replaced by the cleaner TripResponseStatus
DriveKitVehicle
A property has been converted to a method to support electric vehicle context.
DKVehicleCategory.liteConfigDqIndex: String?
getLiteConfigDqIndex(isElectricCar:)
DKVehicleCategory
Data Access Layer (DB)
DriveKitDBAchievementAccess
.legacy
No longer used - remove any reference to it
DKRankingPeriod
DriveKitDBTripAccess
The trip data classes have been renamed to follow the DK naming convention used across the SDK. This brings consistency and avoids naming collisions in your project.
Trip (+ nested classes)
Use DKTrip - see reference documentation
Route
Use DKRoute - see reference documentation
UI Modules
DriveKitCommonUI
CircularProgressView.getScoreColor(value:steps:)
ConfigurationCircularProgressView.getScoreColor(value:steps:)
ScoreType (enum)
DKScoreType - same enum, new consistent name
DKScoreType.image() -> UIImage?
DKScoreType.gaugeImage() - clearer intent
DriveKitPermissionsUtilsUI
Logging control is now centralized in the DriveKit Core module — no longer split across the UI module.
showDiagnosisLogs
DriveKit.shared.isLoggingEnabled()
configureDiagnosisLogs(show:)
DriveKit.shared.enableLogging() / disableLogging()
configureBluetooth(needed:)
Removed - no replacement needed, safe to delete
DriveKitVehicleUI
configureVehiclePickerExtraStep(extraStep:)
Removed - no replacement, safe to delete the call
DKVehiclePickerExtraStep (protocol)
Removed - safe to delete any conformance
DriveKitDriverDataTimelineUI
DriveKitDriverDataTimelineUI.scores: [DKScoreType]
Use DriveKitUI.shared.scores
Last updated
Was this helpful?

