Search code examples
objective-cmacosmac-app-storegrowlcode-signing-entitlements

What are the code sign entitlement keys needed for using Growl on Lion?


Submission to the Mac App Store since Lion requires all apps to specify code sign entitlements. As with Growl it was never clear what entitlements I should specify and some google-fu gives no answer to my question.

I keep seeing this in the console:

GrowlApplicationBridge: Could not send open-document event to register this application with Growl because AESend returned -600/no eligible process with specified descriptor

Edit: After updating entitlements with:

<key>com.apple.security.temporary-exception.apple-events</key>
<array>
    <string>com.Growl.GrowlHelperApp</string>
</array>

Now I see this in the console instead:

*** attempt to post distributed notification 'GrowlNotification' thwarted by sandboxing.

Edit x2: To be more specific, the problem is with NSDistributedNotificationCenter which allows the app to post notifications to other processes.


Solution

  • I asked Apple about this with one Technical Support Incident. They suggested posting distributed notifications is possible without any entitlements with nil valued userInfo dictionaries. But there is no entitlement at the moment for posting distributed notifications with userInfo dictionaries.

    Because Growl must post distributed notifications with userInfo dictionaries, currently it is not possible to use Growl framework within the application sandbox.