I am unsure about how to set the com.apple.developer.driverkit.transport.usb
key in my dext entitlements file. The Info.plist file already contains the IOKitPersonalities
dictionary, and reading about the com.apple.developer.driverkit.transport.usb
dictionary it looks like it should contains entries with the same information as the entries of IOKitPersonalities
.
The entitlements file for a project that is very similar to what is being shown in the WWDC video about driver kit sets this to:
<key>com.apple.developer.driverkit.transport.usb</key>
<true/>
When I set it to <true/>
, the system extension starts. I do see some lines like this before I see log lines from the app:
...
2020-05-06 12:23:19.229709+0200 0x51ac2 Default 0x0 0 0 kernel: DK: IOUserServer(sc.example.MyUserUSBInterfaceDriver-0x100002aad)::exit(CDHash check failed)
Should this entitlement just reflect what is in the IOKitPersonalities
dictionary?
With the key completely removed I get:
...
2020-05-06 12:23:19.229709+0200 0x51ac2 Default 0x0 0 0 kernel: DK: IOUserServer(sc.example.MyUserUSBInterfaceDriver-0x100002aad)::exit(CDHash check failed)
2020-05-06 12:23:19.253517+0200 0x51ac2 Default 0x0 0 0 kernel: DK: IOUserServer(sc.example.MyUserUSBInterfaceDriver-0x100002aae)::exit(Entitlements check failed)
.. so I guess the key must be there.
I am viewing log lines related to the app with log stream --source | grep MyUserUSBInterfaceDriver
044079.960013 IOUSBHostInterface@0: IOUSBHostInterface::matchPropertyTable: The com.apple.developer.driverkit.transport.usb entitlements property is malformed
but after adding theidProductArray
variant that log line is no longer printed. – Lumbar