---
title: CarKeyRemoteControl
framework: CarKey
role: symbol
role_heading: Class
platforms: [iOS 16.0+, iPadOS 16.0+, Mac Catalyst 16.0+, macOS 13.3+, watchOS 9.0+]
path: carkey/carkeyremotecontrol
---

# CarKeyRemoteControl

The object you use to start a new vehicle-related session.

## Declaration

```swift
class CarKeyRemoteControl
```

## Overview

Overview Use a CarKeyRemoteControl object to create the session your app uses to communicate with the vehicles your company manufactures. You don’t create an instance of this object. Instead, call the start(delegate:subscriptionRange:with:) class method to request a new session object. The system retrieves the relevant vehicle information from person’s Apple Wallet and adds vehicles that match your company’s make to the session. Start a new session only when your app is running in the foreground. If your app enters the background, end the current session and start a new one when your app returns to the foreground.

## Topics

### Creating the Session Object

- [start(delegate:subscriptionRange:with:)](carkey/carkeyremotecontrol/start(delegate:subscriptionrange:with:).md)

### Type Methods

- [registerForLaunchOnCarKeyEvent()](carkey/carkeyremotecontrol/registerforlaunchoncarkeyevent().md)
- [unregisterForLaunchOnCarKeyEvent()](carkey/carkeyremotecontrol/unregisterforlaunchoncarkeyevent().md)

## See Also

### Setup

- [CarKeyRemoteControlSession](carkey/carkeyremotecontrolsession.md)
- [CarKeyRemoteControlSessionDelegate](carkey/carkeyremotecontrolsessiondelegate.md)
- [VehicleReport](carkey/vehiclereport.md)
