Using Obj-C 2.0 can give a little speed boost over previous versions
of Mac OS X. For building for other system versions sometimes you
need to link to the SDK of that version if you find some symbols are
missing (depreciated or removed). If you want to use certain features
on one platform and not another you can use the #if statements.
#if MACOSX_DEPLOYMENT_TARGET == MAC_OS_X_VERSION_10_4
/* 10.4 code here */
#else
/* code for all others */
#endif
On Apr 9, 2008, at 8:43 AM, Lorenzo Bevilacqua wrote:
I'm trying to build a Cocoa application so that it can run on Mac OS
X from version 10.3.9 to 10.5.
I have 10.5 installed so the application runs fine on my system and
on other Leopard systems.
I haven't build a project for multiple platforms yet, so I tried to
duplicate the main Xcode target and set different deployment target
settings like
myApp for Leopard MACOSX_DEPLOYMENT_TARGET set to 10.5
myApp for Tiger MACOSX_DEPLOYMENT_TARGET set to 10.4
myApp for Panther MACOSX_DEPLOYMENT_TARGET set to 10.3
The SDK I use is the Leopard one.
Till now all Ok, but when I try to compile for example the Tiger
target I get some errors (mainly about fast enumeration). Thus I
have some questions:
- It is correct to proceed like I described above?
- Does the Objective-C 2.0 fast enumeration make sense to be used? I
mean, if I don't use it, will my application perform worse on Leopard?
- Is there a way to differentiate part of code by platform? I
remember I saw in some files lines like this
#if MACOSX_DEPLOYMENT_TARGET == MAC_OS_X_VERSION_10_4
#endif
is this correct?
_______________________________________________
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]