com.apple.developer.hid.virtual.device entitlement in a sandboxed app

Hello!

I'm curious about how com.apple.developer.hid.virtual.device entitlement works with apps. So the documentation hints that it should only be used within a driver. However, on macOS 13 I can successfully compile an app and create a virtual HID device. On earlier versions, such as macOS 12, the app crashes on launch and there's a message in the console:

ASI found [libsystem_secinit.dylib] (sensitive) 'failed to compile sandbox profile /System/Library/Sandbox/Profiles/application.sb:1010:15: unbound variable: iokit-user-client-class-name '

Everything seems to be working with the sandbox turned off. Is there a way to use the aforementioned entitlement in a sandboxed app or should I fall back to DriverKit?

Replies

So the documentation hints that it should only be used within a driver.

It does? Which doc specifically?

On earlier versions, such as macOS 12, the app crashes on launch and there's a message in the console

That’s caused by a bug that we fixed in macOS 13.1 (r. 101177967).

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

  • Thanks for clarifying! So the documentation for the entitlement says: A Boolean value that indicates whether the driver creates a virtual HID device. It doesn't mention anything about an app using it instead of a driver.

    So what are my options if I want to support macOS 12?

Add a Comment