9

He intentado desactivar the solution found in this post ARC en AFNetworking archivos, pero fue en vano:-fno-objc-arco no trabaja para desactivar ARC

enter image description here

Alguna idea donde estoy fallando? Obviamente, cuanto más simple sea la respuesta, mejor. También he leído que crear bibliotecas estáticas puede ayudar, pero esto parece complicado.

ediciones

He intentado suprimir los datos derivados y limpieza y construcción y Xcode reiniciar. No hay ofertas :(.

Además, no hay otros proyectos en mi espacio de trabajo.

+1

desconcertante. Debería funcionar como es. Eliminaría los datos derivados y reiniciar Xcode (es tonto, pero Xcode es más tonto). – Jano

+0

¿Quizás estableces las banderas para un objetivo y construyes el otro? – lawicko

+0

Esto no responde a su problema de Xcode, pero nuestro equipo recientemente comenzó a usar [CocoaPods] (http://cocoapods.org/) para administrar las dependencias, y nos ahorra mucho tiempo. Existe una especificación para construir AFNetworking en sus proyectos, aunque no he usado AFNetworking. –

Respuesta

16

cosa extraña. He intentado añadir la bandera -fno-objc-arc a algunos archivos de Facebook y el proyecto finalmente construida. Creo que la lección aquí es que cuando Xcode genera este tipo de errores, el origen del problema puede estar en otro archivo. esto puede ser especialmente cierto si Xcode se queja de un archivo que ya ha marcado!

enter image description here

Ojalá este sea de ayuda a alguien :).

+3

Estoy teniendo el mismo problema. ¿Cómo supiste que fueron los archivos FB los que causaron el problema? – Jason

2

En realidad, el problema es simple. Asegúrese de que no haya retorno de carro después del indicador -fno-objc-arc que ha introducido en el cuadro de diálogo de indicadores del compilador.

+0

Perfecto. Mi problema exactamente – malaki1974

+0

Cool chap! Ese trabajó y +1 –

0

Tuve el mismo problema pero no pude encontrar el archivo ofensivo (como en la solución de Brotto). Así que simplemente envuelto los fragmentos de código queja no de arco en el siguiente bloque de instrucciones #if:

#if !(__has_feature(objc_arc)) 

//...non-arc code 

#endif 
0

yo era capaz de solucionar mis problemas desactivando los archivos que no son de ARC en el Refactor -> Convertir en Objective-C ARC modal. Aunque los archivos ya no estaban incluidos debido a la bandera 'fno-objc-arc'. Una vez que desmarqué los archivos, Xcode comenzó a escupir mejores errores que me permitieron encontrar archivos que necesitaban alguna solución. Después de hacer esos cambios, estaba listo para irme.

1

me las arreglé para entrar en este estado por un archivo .m que #imported un archivo .m que no fue compatible con ARC. El compilador se queja sobre el archivo incluido, que bien puede etiquetarse -fno-objc-arc. Tuve que marcar el .m que estaba haciendo el incluido.

Descubrí esto expandiendo el resultado de compilación en el error y mirando el registro sin procesar que mostraba el archivo que no se pudo compilar (diferente del que aparece en la advertencia).

También tuve que eliminar el archivo de datos derivados.

3

"Convertir a Objective-C ARC" es una herramienta de reescritura de código, -fno-objc-arc por el contrario es un indicador de tiempo de compilación. Simplemente es irrelevante para el propósito de la refactorización.

Antes de hacer clic en "Verificar", gastar el objetivo y anular la selección de los archivos que desea mantener libre de ARC.

4

Sólo una pequeña pista adicional:

Si tiene varios objetivos en su proyecto Verifica si se ha añadido la bandera compilador -fno-objc-arc a todos ellos.