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]

Reply via email to