Re: How to force a 32-bit/64-bit universal app to start in 32-bit mode on Leopard? [SOLVED]

  • 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 <kainjow...> 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 <kainjow...> 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 <kainjow...> 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!
    >>>>>
    >>>>>
    >>>
    >>>
    >
    >
previous month april 2010 next month
MTWTFSS
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
Go to today