Develop device drivers that run in user space.
- macOS 10.15+
- DriverKit 19.0+
The DriverKit framework defines the fundamental behaviors for device drivers on macOS. The C++ classes of this framework define your driver's basic structure, and provide support for handling events and allocating memory. This framework also supports appropriate types for examining the numbers, strings, and other types of data found in your driver's I/O registry entry. Other frameworks such as USBDriverKit, HIDDriverKit, NetworkingDriverKit, PCIDriverKit, SerialDriverKit, and USBSerialDriverKit provide the specific behaviors you need to support different types of devices.
The drivers you build with DriverKit run in user space, rather than as kernel extensions, which improves system stability and security. You create your driver as an app extension and deliver it inside your existing app. Use the SystemExtensions framework to install and upgrade your driver.