2012-08-27 18 views
6

Creo que convirtió con éxito por aplicación de arco usando el 'Refactor -> Convertir en Objective-C ARC' herramienta pero sólo uno de mis objetivos del proyecto tiene la configuración:convertí mi aplicación a ARC pero solo 1 objetivo muestra la configuración de ARC como SÍ?

enter image description here

Y si creo nada usando IB todavía está generando el código de retención/liberación/dealloc?

También ahora tengo fallas que no tenía antes debido al uso de la memoria, por lo que me pregunto si mi proyecto está en un estado medio convertido que me está causando problemas de memoria al azar.

¿Cómo consigo estos otros objetivos para usar ARC, o me aseguro de que estén usando ARC?

+0

Establezca los indicadores para estos destinos en 'SÍ' y vea si causa muchos gritos en el compilador. Si no es así, has terminado :) – dasblinkenlight

+0

No hay lugar para que configure las banderas en SÍ, esa opción no aparece en la configuración de compilación para esos objetivos – Slee

+0

cuando miras la opción de compilación para "Compilador para C/C++/Objective-C", debería decir "Compilador predeterminado (Compilador LLVM de Apple ...)" Si está configurado en "LLVM GCC 4.2", entonces "Recuento de referencia automático" no será una opción. – nont

Respuesta

4

Cambie manualmente las banderas para decir SÍ. También quiero verificar y asegurarse de que ninguno de los archivos tenga el indicador del compilador "-fno-objc-arc". (Me he encontrado con proyectos que se han convertido a medias de esta manera.)

Si aún tiene problemas de memoria, ejecute el Instrumento de Fugas. Incluso con ARC, aún puede tener pérdidas de memoria como retain cycles donde las relaciones entre padres e hijos se mantienen mutuamente. En tal caso, debe usar punteros débiles.

+0

movimiento de novato: por alguna razón, alterné 'Todos' y no solo los ajustes 'Básicos' para los otros Objetivos – Slee