2012-06-03 10 views
6

Si quiero apuntar a todas las versiones de los dispositivos IOS 4.3 o posterior, puedo usar:¿Cómo apuntar a una versión específica de Mac OS X?

#if __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_4_3 

Además, si quiero apuntar a los dispositivos IOS en general, puedo usar:

#if TARGET_OS_IPHONE 

Es Hay algo similar para Mac OS X?

Respuesta

3

NSAppKitVersionNumber es tu amigo en OS X. Apuntar, por ejemplo. 10.5 y hacia arriba, se puede hacer esto:

#if NSAppKitVersionNumber >= NSAppKitVersionNumber10_5 

// ... 

#endif 

Editar: visto que también hay __MAC_OS_X_VERSION_MAX_ALLOWED y __MAC_OS_X_VERSION_MIN_REQUIRED en OS X, que podría funcionar mejor y los que están disponibles en el Availability.h que no depende de cacao.

+1

Bueno, y si no estoy en Mac OS X (por ejemplo, si estoy en iOS), entonces 'NSAppKitVersionNumber' no se definirá, ¿verdad? De esta forma, ¿podría decir que estoy en Mac OS X en general, al verificar si esto está definido? – rid

+0

@Radu Yup. 'NSAppKitVersionNumber' se define solo en OS X (o mejor dicho, está definido en Cocoa. Si no usa Cocoa, puede volver a' Gestalt' y weak-linking (que funciona (¡afair!) En 10.6.8 y hacia arriba) – JustSid

+0

@Radu Mire en '/ usr/include/AvailabilityInternal.h', comienzan con dos guiones bajos. Y sí, los posibles valores a lo largo son similares a iOS:' __MAC_10_0', '__MAC_10_7' etc. (busque en'/usr/include/Availability.h' – JustSid