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?


  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


  1. seleccione proyecto -> objetivos -> fases de compilación -> orígenes del compilador
  2. Seleccionar archivo -> banderas del compilador
  3. 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:

  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:


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!

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:

  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

;)





manual-retain-release