tags:

views:

206

answers:

2

My app needs to run on 10.4 or later. If I launch it on 10.3 it just fails to launch or crashes.

How do you tactfully enforce minimum system requirements? Can you customize the message it shows?

+8  A: 

Add a key to your applications Info.plist, specifying LSMinimumSystemVersion as 10.4.X for whatever X you need as a minor version. For more, see Apple's documentation.

Adam Wright
You can also set this by architecture using a separate key. For x86_64, you'd want to require either 10.5 or 10.6.
Peter Hosey
I set LSMinimumSystemVersion to 10.4.11 and my app still launches on 10.3 and crashes... I thought I read somewhere that it ignores LSMinimumSystemVersion?
zekel
+2  A: 

I have not used either of these techniques/advice, just passing along the information I have gathered.

You might try something like the SystemVersionCheck “shim” executable to provide a working OS version check for versions that do not honor LSMinimumSystemVersion (e.g. 10.3).

The pre-compiled executable is PPC-only. You might need to rebuild it to support PPC and Intel machines so that it works with 10.3, but also so that 10.6 users are not prompted to needlessly install Rosetta. I found a blog entry that has a hint on how to setup the PPC build to target 10.3 and the Intel build to target 10.4u (it was written about 10.5 and Xcode 3.0 though—do the latest versions of Xcode even include the 10.3 SDK?).

Chris Johnsen
Nope. You get 10.4u, 10.5, and 10.6. Likewise, there was once a 10.2.something SDK, which they killed off a few versions of Xcode ago (either 3 or the one before that).
Peter Hosey
I logged into ADC and looked through the “About” PDFs for Xcode 3.2.1, 3.2 (10.6), 3.1.4 (10.5). The 10.3 SDK is mentioned as an optional install in Xcode 3.1.4, but not mentioned at all in 3.2+. Looks like 10.3 development is limited to at most 10.5 with Xcode 3.1.x (maybe the 10.3 SDK from 3.1.x could be installed with 3.2.x, but that seems dicey).
Chris Johnsen
I was able to build for 10.3 from 10.6, see my question here: http://stackoverflow.com/questions/2074444/is-there-a-way-to-get-use-the-os-x-10-3-cocoa-sdk-on-a-10-6-machine
zekel