On Jul 2, 2008, at 11:38 , Clark Cox wrote:
On 7/2/08, Jason Coco <[EMAIL PROTECTED]> wrote:Yeah, to me it is... although I still agree that it's not an ideal solution for a Cocoa application... By the way, assuming you change char *args[] = { "-a", "Safari", NULL }; to char *args[] = { "/usr/bin/open", "-a", "Safari", NULL }; the exec* example actually works while the LaunchServices example fails with kLSApplicationNotFoundError. After playing around with it a little, I discovered that you need to actually call it CFSTR("Safari.app") in this case to get it to work correctly... so like anything else in life, since I'm much morefamiliar with the POSIX/BSD API (and since pretty much every operatingsystem I've ever worked with treats exec* similar) it's a lot easier *for me* than using LaunchServices.Easy or not, it's still wrong. Launching safari via exec will not, for example, re-use an already/running instance. Just don't use exec to launch GUI applications--period.
I don't think anyone disagrees with that... that's why the suggestion was to use /usr/bin/open if you were gonna use an exec* call. If you use /usr/bin/open it makes a proper connection to the window server as well as sending the proper apple event to an already-started application.
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ 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]