Error de Xcode impar: no se admite la recolección de basura Objective-C

2

Tengo que administrar una máquina macos remota. Hoy inicié sesión desde un tiempo libre y recibí este error:

   $ make

  dyld: Library not loaded: @rpath/DVTFoundation.framework/Versions/A/DVTFoundation
      Referenced from: /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild
      Reason: no suitable image found.  Did find:
        /Applications/Xcode.app/Contents/Developer/usr/bin/../../../SharedFrameworks/DVTFoundation.framework/Versions/A/DVTFoundation: cannot load '/Applications/Xcode.app/Contents/Developer/usr/bin/../../../SharedFrameworks/DVTFoundation.framework/Versions/A/DVTFoundation' because Objective-C garbage collection is not supported
    Please review and agree to the software license agreements!

Amy idea de qué se trata?

Ya he instalado Xcode (macOS Sierra versión 10.12).

¿Puede ser causado por la actualización de Sierra? Desde que instalé Xcode en la versión anterior (Lion), ¿y ahora está roto?

Parece extraño desde que instalé la versión Xcode Sierra.

Actualizar:

Aparentemente, el error se desencadena cada vez que uso alguna herramienta Xcode, por ejemplo, aceptar la licencia a través de cli genera exactamente el mismo error.

No he tenido acceso a la máquina directamente, pero intentaré reinstalar todas las herramientas de construcción de Xcode.

    
pregunta LotoLo 06.03.2018 - 23:00

2 respuestas

2

Es un error extraño, ya que la solicitud de marco en cuestión proviene de una aplicación de Apple.

Parece que su Xcode se ha actualizado a una versión más reciente y el acuerdo de licencia debe ser aceptado. Puedes hacerlo de dos maneras:

  1. Abre Xcode.app y sigue las indicaciones
  2. En la terminal: sudo xcodebuild -license
    (y con las versiones más recientes sudo xcodebuild -license accept para hacerlo en un solo paso)

Luego, confirme que xcode-select --print-path devuelve un resultado válido.

Entonces deberías estar listo, suponiendo que tu combinación de versión macOS y versión Xcode sea compatible.

    
respondido por el Matt Sephton 30.03.2018 - 21:30
0

Creo que la recolección de basura ya no es compatible. Deberá realizar la transición de su código para usar ARC o la retención / liberación manual.

    
respondido por el user128998 30.03.2018 - 23:15

Lea otras preguntas en las etiquetas