2012-05-09 14 views

Respuesta

50

Seleccione su proyecto, luego Build Settings. Busque Cuenta de referencia automática Objective-C en el compilador de LLVM de Apple - Idioma sección. Asegúrate de seleccionar el objetivo; Si bien puede establecer esto en el proyecto, el objetivo puede anularlo.

(También puede utilizar la barra de búsqueda en la configuración de generación de OBJC_ARC.)

tener en cuenta, también, que puede activar o desactivar ARC en función de cada archivo en las fases de construcción.

O, simplemente, intentar algo como esto en código:

[[[NSObject alloc] init] autorelease] 

Si se produce un error:

ARC forbids explicit message send of 'autorelease' 

Entonces estás usando ARC.

También puede requerir arco desde un archivo de código fuente mediante la comprobación de que:

#if !__has_feature(objc_arc) 
#error This file must be built with ARC. 
// You can turn on ARC for only this file by adding -fobjc-arc to the build phase. 
#endif 
+0

Mi proyecto está utilizando ARC pero aún así, no aparece un error cuando aparece el lanzamiento en el código. No tengo bandera omitiendo ARC tampoco. ¿Alguna idea de por qué? –

+0

Supongo que ARC realmente no está en uso por alguna razón. Intenta usar el # si se describe aquí, pero pon un #error dentro: http://stackoverflow.com/questions/7708267/check-for-arc-in-precompile –

+0

Genial, gracias por los comentarios. No pude entender de dónde venía exactamente el problema, pero parece que estaba relacionado con algún error de los cocoapods. La actualización de los cocoapods y la puesta en relación de los pods (y por lo tanto el archivo .xcworkspace) resolvió mi problema. –

20

sólo la búsqueda de automática en configuración de generación de su objetivo:

enter image description here

Cuestiones relacionadas