On Nov 8, 12:46 pm, Rachel Blackman <[email protected]> wrote:
> The issue is as follows:
>
> * The older method of communicating between Growl and the hosted framework 
> cannot work within the sandbox that Apple introduced in Lion.
>
> * Apple is requiring everything in the app store to be sandboxed starting in 
> March of next year (originally they had targeted November 1st).
>
> As a result, everything in the app store would stop working with Growl 
> because the communication method would be cut off from within the sandbox.  
> This would've been... bad.  So, Growl needed a redesign so that it could work 
> with sandboxing.  Growl 1.3 supports GNTP properly (and uses an XPC to do so 
> from within a sandbox, if necessary), but also still supports the older 
> method if you're not in a sandbox; this allows Growl 1.3 to still receive 
> notifications from older apps.  Similarly, the 1.3 framework also works with 
> the older method, so an app built using the 1.3 framework can talk to 1.2 
> just fine.  (And the 1.3 framework also has a mini-Growl built in, allowing 
> notifications to display even if Growl itself isn't installed.)
>
> So, in theory, everything's copacetic; you use the old method for legacy 
> support, and the new method where it's required by the security model, and 
> everything goes nice and smooth.
>
> Where the problem arises is that the older frameworks implemented the 
> 'isGrowlInstalled' convenience check by literally looking for the old 
> prefpane on disk.  The old prefpane no longer exists -- in order to play with 
> all of the App Store rules and get Apple's blessing, Growl had to turn into a 
> standalone app.  This wouldn't be a problem -- the notifications will still 
> run just fine regardless of what isGrowlInstalled returns -- except that 
> instead of just generating notifications, a lot of third-party apps use an 
> older framework and used the isGrowlInstalled convenience method in wrapper 
> logic to determine whether or not they should fire notifications /at all/.  
> And because Growl just worked, a lot of things never bothered to update their 
> frameworks.

Just so I understand, was the isGrowlInstalled convenience method
supplied by the Growl API and if so, was it a public API meaning that
it was legit for apps to call?  If that is the case I don't understand
why that method isn't provided by the Growl 1.3 API which should
simply return true.
If isGrowlInstalled was a private method that apps should not have
called then it's the app developer's fault that their app isn't
upwardly compatible with Growl 1.3.  In fact, looking at
http://growl.info/documentation/developer/implementing-growl.php#isinstalledreturnsyes
I see:

"The 1.3 and 1.2.3 frameworks both will always return YES for the
isInstalled method. This method is deprecated going forward. Please
discontinue use of this method as soon as possible."

Does this relate to the isGrowlInstalled method and if so, why doesn't
the google+prowl plugin work with Growl 1.3?
--
Will

-- 
You received this message because you are subscribed to the Google Groups 
"Growl Discuss" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/growldiscuss?hl=en.

Reply via email to