R – Force a Mac OS X 32/64-bit universal binary to run 32-bit on an old OS version only

cocoamacososx-snow-leopardxcode

I want to ship a single 32/64-bit universal binary of my desktop Mac OS X Cocoa app. I don't want to ship two versions.

I want it to run as a 64-bit process on Snow Leopard.

However, if the app is launched on Leopard, I want to always force it to run as a 32-bit process.

NOTE: I know that in the Finder 'Get Info' window you can click the 'Open in 32-bit mode' checkbox to achieve this. That's nice, but what I really want is a way to automatically, always force this behavior on Leopard only. On Snow Leopard the app should run 64-bit unless the user wants to change the setting mentioned above.

Can this be done? If so, how? thx.

Best Answer

Set the minimum system version per architecture key in your Info.plist file :)