2011-11-23 7 views
12

Sé que se supone que agregar la opción de compilador -fno-objc-arc a las fuentes de compilación en Xcode 4 para lograr esto. Pero no está funcionando. Incluso con la bandera añadido todavía estoy recibiendo errores en mi archivo KeychainItemWrapper.m alegando que necesito utilizar __bridge para C punteros.¿Cómo se puede convertir ARC fuera de archivo específico

I have added the required flag to the compiled sources... what am I missing?

Mi proyecto es ARC seguros, pero Apple siempre referencia para interactuar con el llavero no lo es. Me gustaría simplemente desactivar ARC para ese único archivo. ¿Qué más me echo de menos aquí?

+0

son archivos separados KeychainItemWrapper.m y KeychainItem.m dos? ¿Inhabilitó ARC para KeychainItem.m también si es así? –

+0

Eso fue un error tipográfico, lo siento. – Justin

+0

¿Ha mirado el resultado de compilación para ver si está/no está realmente incluyendo esos indicadores del compilador al compilar ese archivo en particular? – mharper

Respuesta

6

que he tenido que esto ocurra más de una vez para mí en 4,2 en diferentes proyectos, pero entonces yo no he sido capaz de reproducir lo suficientemente fiable para un informe de error. Pero puedo decir que en mis casos, una construcción limpia lo aclaró.

+0

Después de mucho golpear la cabeza, esta fue la solución a la que finalmente llegué. Gracias :) – Justin

1

Haga clic en el menú Edición, vaya a Refactor> Convertir en Objective-C ARC ... Haga clic en el triángulo situado junto al nombre del proyecto y verificar todos los archivos de los que desea utilizar ARC.

1

Es posible desactivar ARC para archivos individuales mediante la adición de la bandera compilador -fno-objc de arco para esos archivos.

Agregue indicadores de compilación en Destinos -> Fases de compilación -> Fuentes de compilación. Debe hacer doble clic en la columna de la derecha de la fila debajo de Indicadores del compilador. También puede agregarlo a varios archivos manteniendo presionado el botón cmd para seleccionar los archivos y luego presionando enter para que aparezca el cuadro de edición de la bandera.

he creado un proyecto de ejemplo que tiene un ejemplo: https://github.com/jaminguy/NoArc

Ver esta respuesta para más información: La neutralización automática Referencia Contando con algunos archivos

Cuestiones relacionadas