Serial ports, Sandbox and App Wrapper

I have an app, which has been in the MAS since 2013, but now it’s time to update it. Its whole purpose is to interface to a piece of hardware, and this is via a serial port. So support for serial is mandatory. My 2013 version was prepared for the MAS with Package Maker, but now the modern replacement for that is App Wrapper.

Unfortunately I can’t seem to be able to figure out how to tell App Wrapper to request the necessary entitlement. According to Apple, entitlements for USB, Camera, Microphone and Printing are covered by checkboxes in the Xcode target editor, as they are for App Wrapper. Other hardware entitlements: Bluetooth, audio-video bridging, firewire and serial, have to be manually entered in the entitlement property list.

App Wrapper handles the first of these, Bluetooth, by a checkbox, but there seems to be no way to enter the others, as far as I can see, since the entitlements property list is not accessible.

Does anybody know of a solution?

cheers,
Richard

First thing I would do would be to contact Ohanaware support. With some luck Sam Rowlands will see this post, but mail is way faster.

I did 2 days ago. That’s why I wrote the post :wink:

Do you get an error when connecting?
I mean does it return error like permissions denied?
And a log message in console?

Maybe you need to ask Apple for a special entitlement for accessing your USB device.

Console should definitely tell.

I’ve searched Console but strangely can’t find any error. Yet it doesn’t connect when sandboxed.

But I don’t need to ask Apple for a special entitlement: it’s a regular one - com.apple.security.device.serial

It’s just that App Wrapper can’t set it, unlike com.apple.security.device.bluetooth which is in the same category but I suppose more common than serial devices. After all, serial devices are rather old-fashioned, it’s just that they are very common in some technical fields like astronomy hardware.

cheers,
Richard

Hi Richard,
Sorry I haven’t replied, which e-mail address did you send it to?

Hi Sam,

it was to support@ohanaware.com, on 5 Dec at 00:43 CET. Although this mail contains more diagnostic information, I think the description of the issue is better described in this thread.

cheers,
Richard

Right, so here goes and sorry for not answering your questions sooner.
While App Wrapper has options for most of the common entitlements and some of the more popular obscure ones, there’s an option on the edit menu called “Edit Entitlements in Xcode”. This will open your entitlements file in Xcode and allow you to add the entitlements that App Wrapper doesn’t natively have a GUI for. I did contemplate writing my own plist editor (App Wrapper can display plists) but editing them or creating them is another complexity that quite frankly Apple have done a pretty good job for already.

Now to figure out why I didn’t receive your e-mail. Every once in a while Apple Mail or my mail host starts filtering my mail for me and even though I have all of that switched off, it sometimes gets re-activated :frowning:

Hi Sam,

yes, that did the trick!

Thanks,
Richard