Hi All,
I'm writing an audio server plugin for Mac OS 10.9 to get the audio data and covert them to some USB reports and send it to a USB HID device. I'm successful in 2 of the 3 objectives( getting data and converting to reports). When I try to send the data to the device, I get these errors
Sandbox: coreaudiod(8495) deny mach-lookup com.apple.coreservices.launchservicesd
Sandbox: coreaudiod(8495) deny mach-lookup com.apple.coreservices.launchservicesd
Sandbox: coreaudiod(8495) deny mach-lookup com.apple.coreservices.launchservicesd
Sandbox: coreaudiod(8495) deny mach-lookup com.apple.coreservices.launchservicesd
Sandbox: coreaudiod(8495) deny mach-lookup com.apple.coreservices.launchservicesd
Sandbox: coreaudiod(8495) deny mach-lookup com.apple.coreservices.launchservicesd
Sandbox: coreaudiod(8495) deny mach-lookup com.apple.coreservices.launchservicesd
Sandbox: coreaudiod(8495) deny mach-lookup com.apple.coreservices.launchservicesd
Sandbox: coreaudiod(8495) deny mach-lookup com.apple.coreservices.launchservicesd
Sandbox: coreaudiod(8495) deny mach-lookup com.apple.coreservices.launchservicesd
Sandbox: coreaudiod(8495) deny mach-lookup com.apple.coreservices.launchservicesd
Sandbox: coreaudiod(8495) deny mach-lookup com.apple.coreservices.launchservicesd
Sandbox: coreaudiod(8495) deny mach-lookup com.apple.coreservices.launchservicesd
Sandbox: coreaudiod(8495) deny mach-lookup com.apple.coreservices.launchservicesd
Sandbox: coreaudiod(8495) deny mach-lookup com.apple.coreservices.launchservicesd
Sandbox: coreaudiod(8495) deny iokit-open IOHIDLibUserClient
Sandbox: coreaudiod(8495) deny iokit-open IOHIDLibUserClient
Sandbox: coreaudiod(8495) deny iokit-open IOHIDLibUserClient
Sandbox: coreaudiod(8495) deny iokit-open IOHIDLibUserClient
Sandbox: coreaudiod(8495) deny iokit-open IOHIDLibUserClient
Initial research suggests that plugins are sandboxed and do not get access to communicate with hardware or other processes unless they are specifically set but doesn't tell you how to set them.
I made some progress and hit more roadblocks
Things I did:
-->Added an entry AudioServerPlugIn_MachServices in info.plist file and configured it as an array and added com.apple.coreservices.launchservicesd as the element of the array
-->Added an entry AudioServerPlugIn_IOKitUserClients in info.plist and configured as an array and added IOHIDLibUserClient as the element.
After doing the above two changes, I do not get any errors in the logs but I get kIOReturnNotPrivileged return values while calling
IOHIDManagerOpen
To correct the above issue I tried to do the following
-->Create a Device.entitlements and added com.apple.security.device.usb
and set it as boolean with value true
-->Enabled Codesigning and pointed it to the Device.entitlements file
-->Ran the build again but I get the same error value.
My Questions:
-->Am I doing the steps correctly?
-->Is there a way to get the list of IOKitUserClients
-->What IOKitUserClients list needs to be included to communicate with a USBHID device?
Any help will be highly highly appreciated
Best Regards
Srivatsav