¿Cómo habilita ARC en todo el proyecto en Xcode 4.2?

Tengo una aplicación de iOS que quiero convertir a usar ARC . Solo usaría la herramienta de migración, pero me falla de manera consistente durante la fase de vista previa.

Sé que puedo usar la -fobjc-arc comstackdor -fobjc-arc archivo por archivo, pero quiero habilitar ARC en todo el proyecto y luego desactivar las clases individuales con -fno-objc-arc .

Los nuevos proyectos en 4.2 pueden usar ARC por defecto, por lo que debe haber un interruptor en alguna parte.

¿Alguien puede ayudarme a convertir el proyecto a ARC

“ARC está disponible en Xcode 4.2, actualmente en versión beta, y solo cuando se comstack con Clang (también conocido como” comstackdor LLVM de Apple “). La configuración se llama, obviamente,” Cuenta de referencia automática Objective-C “. Actívela y desactívela. anda tu.

Si está trabajando con un código existente, cambiar esta configuración generará una enorme cantidad de errores. ARC no solo administra la memoria para usted, sino que le prohíbe tratar de hacerlo usted mismo. Es ilegal enviar manualmente / retener / liberar / liberar automáticamente cuando se usa ARC. Dado que el código normal de Cocoa que no es de ARC está lleno de estas cosas, obtendrá muchos errores.

Afortunadamente, Xcode ofrece una herramienta para convertir el código existente. Seleccione Edición -> Refactorizar … -> Convertir a Objective-C ARC … y Xcode lo guiará a través de la conversión de su código. Aunque puede haber algunas situaciones en las que necesita ayuda para saber qué hacer, el proceso debería ser en gran medida automático “.

Lo tomé de este enlace, me ayudó mucho: http://www.mikeash.com/pyblog/friday-qa-2011-09-30-automatic-reference-counting.html

Seleccione su proyecto o destino y luego vaya a Configuración de comstackción y en la sección Comstackdor de LLVM de Apple 3.0 – Idioma , verá la opción Recuento de referencia automática de Objective-C .

Para towpse, en Xcode 4.6 deberá buscar “CLANG_ENABLE_OBJC_ARC” y luego cambiarlo a “Sí” para habilitarlo.