Re: Tips to deploy applications to multiple Mac OS X versions
Re: Tips to deploy applications to multiple Mac OS X versions
- Subject: Re: Tips to deploy applications to multiple Mac OS X versions
- From: Steve Christensen <email@hidden>
- Date: Fri, 11 Apr 2008 07:25:28 -0700
On Apr 10, 2008, at 9:37 PM, Michael Ash wrote:
On Apr 10, 2008, at 9:26 PM, Jerry Krinock wrote:
On Apr 9, 2008, at 11:08 PM, Ben Lachman wrote:
On Apr 9, 2008, at 3:27 PM, David Duncan wrote:
Typically you would only use 1 target. Use the SDK to the OS
whose API your are targeting (such as the 10.5 SDK). Then set the
deployment target to the minimum version you wish to run on
(example, 10.3). Finally, you would do runtime checks for API
availability.
That's fine if the classes exist in all the OS versions, but more
commonly you'll want to use complete classes that are not
available in earlier SDK, of which there are many, especially in
Leopard. Code instantiating such classes must be put in separate
bundles that are loaded when the user activates a Tiger/Leopard-
only feature that requires instantiating a Tiger/Leopard-only class.
This is only true if you are subclassing these classes. If you're
only
messaging/instantiating them, then you can use NSClassFromString
instead of the raw class name to safely reference them without
blowing
up on the OSes that don't have them.
Right, and you could wrap the Leopard-only code in its own function
( BOOL UseSomeLeopardOnlyFeature(...) ) so you only have to deal with
the implementation details in one place, and possibly deal gracefully
with failure by its callers.
This is totally true. Multiple binaries make unhappy users. Of
course buggy cross-version binaries make unhappy users too.
And unhappy programmers. My estimate is that supporting 10.3-10.5
increases my development + testing + bug-fixing time increases by a
factor of 1.5 over what it would be if it was 10.5 only, plus the
penalty that I simply forego some features which are not practical
to implement or disable in 10.3, and not worth the time to split
off into my "Tiger" bundle.
I recommend that you explain to your requirments guru(s) the high
cost of 10.3-10.5 support and ask them to reconsider if you really
need to do this, Lorenzo.
The "unhappy programmers" part is really irrelevant. If your user base
is distributed among a reasonable set of OS versions, why should they
be foreced to upgrade to the latest OS just so your workload is
smaller? For example, I would think you'd expect to be supporting
Tiger for some time yet, just because of the percentage of users who
have it installed...
steve
_______________________________________________
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