Contents

USBDriverKit

Develop drivers for USB-based devices.

Overview

Use the USBDriverKit framework to develop drivers for custom or non-class-compliant USB devices for use with macOS. The objects in this framework serve as providers for your driver. Use them as is to access the device configurations, interfaces, and endpoints of the USB device. Each object provides methods for fetching any needed descriptors from the USB device, and for initiating requests to perform your driver’s custom behaviors.

Develop your driver by subclassing IOService in the DriverKit framework. On macOS, use the System Extensions framework to install and upgrade your driver. On iPadOS, the system automatically discovers and upgrades drivers along with their host apps.

Topics

Essentials

Samples

Providers

Endpoint Communication

USB Specifications

References

Macros

Enumeration Cases

Enumerations