objective-c xcode automatic-ref-counting manual-retain-release

objective c - ¿Cómo puedo deshabilitar ARC para un solo archivo en un proyecto?



objective-c xcode (18)

  1. Seleccione el proyecto Xcode
  2. Ir a objetivos
  3. Seleccione la sección Fases de construcción.
  4. Dentro de la sección de fases de compilación, seleccione las fuentes de compilación.
  5. Seleccione el archivo que no desea desactivar ARC y agregue -fno-objc-arc

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?


  1. seleccione proyecto -> objetivos -> fases de compilación -> orígenes del compilador
  2. Seleccionar archivo -> banderas del compilador
  3. añadir -fno-objc-arc

Añadir bandera "-fno-objc-arc".

Simplemente siga los pasos: Aplicación> Objetivos> Crear fases> Compilar orígenes> Agregar indicador después de la clase "-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:

  1. Seleccione los archivos deseados en Target / Build Phases / Compile Sources en Xcode
  2. Presiona enter
  3. Escriba -fobjc-arc
  4. 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:


Es una forma muy simple de hacer que los archivos individuales no sean de arco.

Siga los siguientes pasos:

Deshabilitar ARC en archivo individual:

  1. Seleccione los archivos deseados en Target / Build Phases / Compile Sources en Xcode

  2. Seleccione el archivo .m que desea que sea NON-ARC PRESS ENTER Escriba -fno-objc-arc

Bandera de proyecto no ARC a ARC: -fno-objc-arc

Archivo ARC al indicador de proyecto que no es ARC: -fobjc-arc


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:

  1. abrir "fases de compilación" -> "compilar fuentes"
  2. seleccione archivos con "left_mouse" + "cmd" (para archivos separados) o + "shift" (para archivos agrupados - seleccione primero y último)
  3. presiona "enter"
  4. pegar -fno-objc-arc
  5. presiona "enter" otra vez
  6. ¡lucro!

Para Xcode 4.3, la forma más fácil podría ser: Editar / Refactorizar / Convertir a objetivo-C ARC, luego marcar los archivos que no desea convertir. De esta manera encuentro lo mismo que usar la bandera del compilador arriba.


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 siga la captura de pantalla e ingrese -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.


Vaya a la aplicación -> luego Objetivos -> Construir fases -> Compilar fuente

Ahora, seleccione el archivo en el que desea deshabilitar ARC

pegue este fragmento "-fno-objc-arc" Después de pegar presione ENTER

en cada archivo donde desee deshabilitar ARC.


use -fno-objc-arc para cada archivo en las fases de compilación


Deshabilita ARC en archivos MÚLTIPLES:

  1. Seleccione los archivos deseados en Target / Build Phases / Compile Sources en Xcode
  2. Presiona enter
  3. Escriba -fno-objc-arc
  4. Presione Entrar o Hecho

;)


Es posible deshabilitar ARC para archivos individuales agregando el -fno-objc-arc compilador -fno-objc-arc para esos archivos.

Usted agrega indicadores de compilador en Objetivos -> Construir fases -> Compilar orígenes. Debe hacer doble clic en la columna derecha de la fila debajo de Banderas del compilador . También puede agregarlo a varios archivos manteniendo presionado el botón cmd para seleccionar los archivos y luego presionar Intro para que aparezca el cuadro de edición de la bandera. (Tenga en cuenta que la edición de varios archivos sobrescribirá cualquier marca que ya tenga).

Creé un proyecto de ejemplo que tiene un ejemplo: https://github.com/jaminguy/NoArc

Ver esta respuesta para obtener más información: Deshabilitar el recuento automático de referencias para algunos archivos