On Tiger, this code compiles without error.
On Leopard, the same project (still targeting 10.4) generates
QTMovieApertureModeClean is unavailable (declared at
/Developer/SDKs/MacOSX10.4u.sdk/S/L/F/QTKit.framework/Headers/QTMovie.h:120)
and similarly for the other symbols.
Looking in the header, QTMovieApertureModeClean is declared as
QTKIT_EXTERN NSString
*QTMovieApertureModeClean AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER;
so this is presumably as intended.
The symbols are all in iPhone movie export code, which is closely
modelled on the pre-Leopard Apple sample code, so I'm guessing these
were Leopard symbols, that bled back into Tiger to support the iPhone
movie export.
What I'm puzzled by is ...
How come Xcode 2.4.1 on Tiger wasn't warning me about this? I should
have all warnings on. Is this a new warning in Xcode 3.0?
Because for Leopard we re-mastered the 10.4u SDK with all the changes that shipped in 10.4.3 through 10.4.10, including the QuickTime updates applied therein. The QuickTime team had common headers between Tiger and Leopard which use this #ifdef to distinguish, which is not exactly common in the Mac OS X API but not unacceptable.