Get started

Prerequisite

Before starting DriveKit Vehicle UI integration, make sure that you have initialized Vehicle and Common UI components, especially if you have disabled the SDK auto-initialization.

Integration

To add the Vehicle UI module to your app:

  • Swift Package Manager: Add DriveKitVehicleUI from repository: https://github.com/DriveQuantPublic/drivekit-ui-ios.git as dependency.

  • Cocoapods: add the following pod to your Podfile:

target 'my-target' do
  pod 'DriveKitVehicleUI'
end

Then, run pod install.

On this Github repository, you can find a demo app and the source code of Vehicle UI that you can use as an example.

Project configuration

Initialization

If you have disabled the SDK auto-initialization, the Vehicle UI module must also be manually initialized. In the application's AppDelegate file, import DriveKitVehicleUI:

import DriveKitVehicleUI

Then, to initialize Vehicle UI module in your app, you must call the initialization method in didFinishLaunchingWithOptions method of your AppDelegate:

import DriveKitCore
import DriveKitCommonUI
import DriveKitVehicleUI

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    DriveKit.shared.initialize()
    DriveKitUI.shared.initialize()
    DriveKitVehicleUI.shared.initialize()
    ...    
}

Display vehicle list

To display the vehicle list to the driver, just call the following method:

self.navigationController?.pushViewController(DriveKitVehicleUI.shared.getVehicleListViewController(), animated: true)

Display vehicle detail

To display the vehicle detail, just call the following method:

DriveKitVehicleUI.shared.getVehicleDetailViewController(vehicleId: viewModel.trip.vehicleId, completion: { [weak self] viewController in
    DispatchQueue.main.async {
        if let vehicleDetailViewController = viewController {
            self?.navigationController?.pushViewController(vehicleDetailViewController, animated: true)
        }
    }
})

Display vehicle picker

To display vehicle selection screens, just call the following method:

DKVehiclePickerNavigationController(parentView: <UIViewController>, detectionMode: <DKDetectionMode>, vehicle: nil, completion: {
    // End of vehicle selection
})

Last updated

Was this helpful?