With C++, there is a macro*__cplusplus*. Is there anything analogous
for the Objective-C 2.0?
The Xcode 3.0 support converting to Obj-C 2.0 code from pre-2.0
code. However, there are people who still use Obj-C pre 2.0, or even
though they use the 2.0, they may want to maintain code
compatibility with an old compiler.
So, if there is a macro __OBJC_2_0__, it would be very helpful to
write appropriate code for both pre-2.0 and 2.0 compiler.
So, the code will be like :
statements in Objective-C 2.0 syntax
statement in Obj-C pre 2.0 syntax
There are no macros that match the available syntax. The available
This is set based on the low-level runtime API available.
OBJC_API_VERSION==0 is the legacy API. OBJC_API_VERSION==2 means the
function-based API added in Leopard is available. This is closer to
what you want; it helps because it will disallow the new syntax when
the deployment target is pre-Leopard, but if you're compiling for
10.5+ then it doesn't tell you whether your compiler knows about the
This is set based on the ABI version (i.e. the metadata format on
disk). This distinguishes between the legacy (i386+ppc) version and
the modern (x86_64+ppc64) version. This isn't what you want.
You could use OBJC_API_VERSION if your supported combinations are:
* Old compiler with deployment target older than Leopard
* New compiler with any deployment target
Greg Parker email@hidden Runtime Wrangler
Do not post admin requests to the list. They will be ignored.
Objc-language mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden