---
title: CarKey
framework: CarKey
role: collection
role_heading: Framework
platforms: [iOS 16.0+, iPadOS 16.0+, Mac Catalyst 16.0+]
path: carkey
---

# CarKey

Access the remote keyless features of configured vehicles in the Wallet app.

## Overview

Overview The CarKey framework offers a way to communicate with vehicles already provisioned to someone’s Apple Wallet. Car manufacturers adopt this framework in the apps they use to support and control their vehicles. For example, your app might use it to lock or unlock the vehicle, or open a power sunroof. To control a vehicle remotely, you need the following information for that vehicle: The function identifiers for each of your vehicle’s features. The action identifiers for each action you can perform on a feature. The execution status the vehicle can return in response to an action. The Wallet app maintains a list of vehicles that match your company’s make, and that the user previously configured for remote access. Create a session object to get information about those vehicles and to establish a connection to ones that are in range. Use the session to retrieve the list of commands available to the current person, and to initiate actions from your app. note: Your app must have the com.apple.developer.carkey.session entitlement to use this framework. To request the entitlement, you must be an automaker enrolled in the MFi Program. For details, see https://developer.apple.com/mfi/.

## Topics

### Setup

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

### Vehicle Actions

- [RemoteKeylessEntryAction](carkey/remotekeylessentryaction.md)
- [RemoteKeylessEntryEnduringAction](carkey/remotekeylessentryenduringaction.md)
- [FunctionIdentifier](carkey/functionidentifier.md)
- [ActionIdentifier](carkey/actionidentifier.md)

### Error Codes

- [CarKeyErrorCode](carkey/carkeyerrorcode.md)

### Structures

- [ExecutionStatus](carkey/executionstatus.md)
- [RemoteKeylessEntryConfigurableEnduringAction](carkey/remotekeylessentryconfigurableenduringaction.md)
