2011-10-10 10 views
31

Tengo una biblioteca de refactorización iOS con la que quiero trabajar y sin la opción de compilación ARC. ¿Hay alguna manera de detectar durante la compilación, como con un #ifdef, si ARC está disponible?Verificar ARC en la precompilación

Respuesta

49

sí, se puede utilizar el siguiente:

#if __has_feature(objc_arc) 
    ... 
#endif 

Incluso si usted está utilizando la versión más reciente de LLVM, esto sólo se evaluará como true si se está compilando con la opción -fobjc-arc.

+1

¡Parece que está funcionando! Voy a envolver mis cosas de retención/liberación en eso. –

+3

+1, también gracias a su respuesta encontré '__has_feature (objc_arc_weak)' – orip