objective c - ¿Cómo puedo deshabilitar ARC para un solo archivo en un proyecto?
objective-c xcode (12)
Estoy usando ARC con éxito en mi proyecto. Sin embargo, me he encontrado con algunos archivos (por ejemplo, en pruebas unitarias y objetos simulados) donde las reglas de ARC son un poco más frágiles en este momento. Recuerdo haber escuchado que había una manera de deshabilitar ARC por archivo, aunque no he podido encontrar esta opción.
es posible? ¿Cómo deshabilito ARC por archivo?
- Seleccione el proyecto Xcode
- Ir a objetivos
- Seleccione la sección Fases de construcción.
- Dentro de la sección de fases de compilación, seleccione las fuentes de compilación.
- Seleccione el archivo que no desea desactivar ARC y agregue -fno-objc-arc
- seleccione proyecto -> objetivos -> fases de compilación -> orígenes del compilador
- Seleccionar archivo -> banderas del compilador
- añadir -fno-objc-arc
Creo que todas las otras respuestas explican cómo deshabilitar MRC (Recuento de referencias manual) y habilitar ARC (Recuento de referencias automáticas). Para usar MRC (recuento de referencia manual), es decir, deshabilitar ARC (recuento de referencia automático) en archivos MÚLTIPLES:
- Seleccione los archivos deseados en Target / Build Phases / Compile Sources en Xcode
- Presiona enter
- Escriba -fobjc-arc
- Presione Entrar o Hecho
Es posible deshabilitar ARC (conteo automático de referencia) para un archivo en particular en Xcode.
Seleccione Destino -> Crear fases -> Compilar orígenes -> Seleccionar archivo (doble clic) -> Agregar "-fno-objc-arc" a la ventana emergente.
Me había encontrado esta situación en el uso de archivos de "alcance".
Esto se muestra en la siguiente figura:
Los cuatro pasos obligatorios como se explica en este video
//1. Select desired files
//2. Target/Build Phases/Compile Sources
//3. Type -fno-objc-arc
//4. Done
Nota: si desea deshabilitar ARC para muchos archivos , debe:
- abrir "fases de compilación" -> "compilar fuentes"
- seleccione archivos con "left_mouse" + "cmd" (para archivos separados) o + "shift" (para archivos agrupados - seleccione primero y último)
- presiona "enter"
- pegar
-fno-objc-arc
- presiona "enter" otra vez
- ¡lucro!
Si está utilizando Unity, no necesita cambiar esto en Xcode, puede aplicar un indicador de compilación en los metadatos para los archivos específicos, justo dentro de Unity. Simplemente selecciónelos en el panel Proyecto y aplique desde el panel Inspector. Esto es esencial si planeas usar Cloud Build.
Siguiente paso para habilitar deshabilitar ARC
Seleccione el proyecto Xcode Ir a objetivos Seleccione la sección Fases de compilación Dentro de la sección de fases de compilación, seleccione los orígenes de compilación. Seleccione el archivo que no desea desactivar ARC y agregue -fno-objc-arc
Simplemente use el -fno-objc-arc
en Build Phases
Compile Sources
> Compile Sources
Simplemente use el indicador -fno-objc-arc en Fases de compilación> Compilar fuentes en frente de los archivos a los que no desea que se aplique ARC.
use -fno-objc-arc para cada archivo en las fases de compilación
Deshabilita ARC en archivos MÚLTIPLES:
- Seleccione los archivos deseados en Target / Build Phases / Compile Sources en Xcode
- Presiona enter
- Escriba -fno-objc-arc
- Presione Entrar o Hecho
;)