Re: How to force a 32-bit/64-bit universal app to start in 32-bit mode on Leopard? [SOLVED]
Re: How to force a 32-bit/64-bit universal app to start in 32-bit mode on Leopard? [SOLVED]
- Subject: Re: How to force a 32-bit/64-bit universal app to start in 32-bit mode on Leopard? [SOLVED]
- From: Oleg Krupnov <email@hidden>
- Date: Thu, 8 Apr 2010 09:58:28 -0700
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@hidden> 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@hidden> 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@hidden> 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@hidden)
>>>>>>
>>>>>> 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:
>>>>>>
>>>>>> This email sent to email@hidden
>>>>>
>>>>>
>>>
>>>
>
>
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden