I have found the reason of my problem. It was due to one of the frameworks linked to my app. Namely, it's the Growl framework. When I remove this framework from the project, the app is launched with respect of the LSMinimumSystemVersionByArchitecture key.
There is obviously a problem in the last build of the Growl framework. I am using version 1.2.1. The previous versions did not support 64-bit altogether, but this latest one, although it supports 64-bit, has some bug that causes the app project fail to build on Leopard, and now I found this other bug that prevents the app from running in 32-bit mode on Leopard. There is no such problem on Snow Leopard though. I will file the problem to the Growl developers. Thanks for your help! On Thu, Apr 8, 2010 at 9:37 AM, Kevin Wojniak <[email protected]> wrote: > Not sure if it's needed, but you may need to run touch on the .app. > > > On Apr 8, 2010, at 8:59 AM, Oleg Krupnov wrote: > >> No, I'm just double-clicking it in Finder. >> >> On Thu, Apr 8, 2010 at 8:57 AM, Kevin Wojniak <[email protected]> wrote: >>> Are you launching with NSTask or some other variant? If so it won't work. >>> You need to use Launch Services instead. I think there are some low-level >>> APIs to use to launch with a specific architecture, but if you can use LS >>> it handles all the dirty work for you. >>> >>> >>> On Apr 8, 2010, at 8:53 AM, Oleg Krupnov wrote: >>> >>>> This would be a perfect solution, but I've found that on Leopard, this >>>> key seems to be ignored, the system still launches my app in 64-bit >>>> mode (via Finder). >>>> >>>> What may I be doing wrong? >>>> >>>> Thanks! >>>> >>>> On Thu, Apr 8, 2010 at 7:28 AM, Kevin Wojniak <[email protected]> wrote: >>>>> In your Info.plist add: >>>>> >>>>> <key>LSMinimumSystemVersionByArchitecture</key> >>>>> <dict> >>>>> <key>x86_64</key> >>>>> <string>10.6.0</string> >>>>> </dict> >>>>> >>>>> >>>>> Kevin >>>>> >>>>> >>>>> On Apr 8, 2010, at 7:21 AM, Oleg Krupnov wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> While it's good for my app to run in 64-bit mode on Snow Leopard, it >>>>>> turns out not desirable on Leopard, because of the delay of loading >>>>>> all 64-bit frameworks (in case if my app is the first 64-bit app >>>>>> launched after system boot). It literally makes me wait for about ten >>>>>> seconds, and the performance gain of my app in 64-bit mode is >>>>>> definitely not worth it on Leopard. >>>>>> >>>>>> My app is assembled as a universal binary that supports 3 >>>>>> architectures: 32-bit intel, 32-bit ppc and 64-bit intel. Obviously, >>>>>> the system chooses the best architecture it can run, which is 64-bit >>>>>> intel in case of Leopard. >>>>>> >>>>>> Is there a way to change that and force my app to run in 32 bit mode on >>>>>> Leopard? >>>>>> >>>>>> I would hate to have to supply two versions, one for Leopard and >>>>>> another one for Snow Leopard. >>>>>> >>>>>> Thanks! >>>>>> _______________________________________________ >>>>>> >>>>>> Cocoa-dev mailing list ([email protected]) >>>>>> >>>>>> 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/kainjow%40kainjow.com >>>>>> >>>>>> This email sent to [email protected] >>>>> >>>>> >>> >>> > > _______________________________________________ Cocoa-dev mailing list ([email protected]) 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]
