I'm porting our kext drivers to DriverKit. One of the big improvements is the easier debug roundtip.
I've downloaded the test application usbApp ( https://github.com/knightsc/USBApp), and changed the following issues:
- Manual sign the entitlements after build; see: https://forums.developer.apple.com/thread/131240
- Changed the transport.usb entitlements, see https://stackoverflow.com/questions/61634176/how-to-set-com-apple-developer-driverkit-transport-usb-entitlement
I can build and start usbApp, and when pressing 'Activate'. The dext will be loaded, and I'm able to consent the driver in the Security pane of settings. However, when I rebuild the driver, and decativate the old one, and activate the new one, the consent statement does not appear in Security pane, while the driver is waiting for it:
% systemextensionsctl list
1 extension(s)
--- com.apple.system_extension.driver_extension
enabled active teamID bundleID (version) name [state]
* XXXXXXX nl.example.MyUserUSBInterfaceDriver (2.0/2) nl.example.MyUserUSBInterfaceDriver [activated waiting for user]
The only option I have is to reboot the machine. Is there a way to trigger the consent from commandline?