On 2008 Sep, 30, at 12:50, Michael Ash wrote:

Of course if [your helper] isn't registered to open documents
then this doesn't work so great.

Yes, that's the problem. It's a background kind of a guy. It doesn't open documents of any kind.

As for multiple installations, I don't see any evidence that [LSCopyApplicationURLsForURL()]
*wouldn't* return multiple installations, and it's a fair assumption
that it would based on the probability that the Finder uses this API
for things like the Open With... menu.

Well, based on the fact that Finder only launches one app, I was expecting the opposite. But since I started this thread, I did a test, and to my surprise, Michael is correct!

I copied OmniOutliner.app to my desktop, gave LSCopyApplicationURLsForURL the url of an OmniOutliner document, and it found both copies of the app...

NSURL* url = [NSURL fileURLWithPath:@"/Users/jk/Desktop/ Firefox3Database.oo3"] ;
  CFArrayRef finds = LSCopyApplicationURLsForURL (
                                                  (CFURLRef) url,
                                                  kLSRolesAll
                                                  ) ;
  NSLog([(NSArray*)finds description]) ;

*** Output:

(
    file://localhost/Applications/OmniOutliner.app/,
    file://localhost/Users/jk/Desktop/OmniOutliner.app/
)

So, this is very easy solution, for finding document-based apps.

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to