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. It's another hoop you have to jump through. Also, when you encounter obscure bugs in 10.3, no one can help you because no one remembers them and no one cares.

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.

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to