Problemas después de actualizar a Xcode 10: no se puede encontrar el archivo de entrada de compilación


106

Actualicé mi Xcode SDK a la versión 10 anoche y luego descubrí que no puedo compilar.

Recibo este error:

No se puede encontrar el archivo de entrada de compilación: '/Users/call01/Library/Developer/Xcode/DerivedData/Comp-Lite-Apps-gytvmossqptokeafrddvvmnlzadk/Build/Products/Debug-iphoneos/SG11.app/SG11

que no existía antes de mi actualización y estoy tentado a volver atrás, pero me gustaría seguir con la versión 10 si puedo resolver este problema.

Respuestas:


131

Intenta volver a Legacy Build System( File > Project Settings > Workspace Settings > Legacy Build System)


2
Agradable. Pero todavía me pregunto qué va a pasar después. Necesitamos arreglar nuestro proyecto, pero ¿cómo?
Teddy

1
@Teddy No encontré una solución todavía, sigo usando esta solución alternativa
schmidt9

2
@ schmidt9 me quito el sombrero, muchas gracias, eres un salvavidas. en segundo lugar, NO PUEDO creer que este nuevo sistema de construcción fuera el problema. He estado luchando con esto durante días. después de actualizar a iOS 12 y XCode 10, la firma automática se rompió. Probé todo e incluso revoqué y recreé todos los certificados. y perfiles. la firma se solucionó, pero el perfil de aprovisionamiento siempre fue NINGUNO. PODRÍA firmar manualmente la aplicación y funcionó, pero luego faltaban el contenedor de iCloud y otros derechos en la aplicación publicada. de todos modos, solucionó mi problema. Dios mío, cómo Apple me frustra con cada actualización. ¡salud!
Nexus

Esto solucionó mi problema con la creación de perfiles y la firma automática. pero sigo teniendo problemas con los contenedores de iCloud. cuando instalo la aplicación directamente en mi teléfono, funciona bien. Tengo un contenedor de iCloud y uso documentos de iCloud para adjuntar archivos desde el almacenamiento de iCloud. pero cuando lanzo la aplicación a TestFlight, no funciona. falla silenciosamente, como si el contenedor de iCloud ni siquiera estuviera presente en el perfil de la aplicación distribuida. increíblemente frustrante.
Nexus

1
@Nexus, este problema con el nuevo sistema de compilación persiste desde que Apple lo lanzó (xcode 8 o 9). Lo siento, no se ocupó de los contenedores de iCloud, no puedo decir cuál puede ser el problema allí
schmidt9

91

Para archivos Swift o archivos que pertenecen al proyecto, como:

Build input file cannot be found: PATH/TO/FILE/FILE.swift

Este problema puede ocurrir cuando se han eliminado o movido archivos o carpetas en el proyecto.

Arreglarlo:

  1. Vaya al navegador de proyectos, seleccione su proyecto

  2. Seleccionar Build Phasespestaña

  3. En la Compile Sourcessección, verifique los archivos de los que se queja Xcode

  4. Observe que los archivos tienen la ruta incorrecta y elimínelos haciendo clic en el icono menos

  5. Vuelva a agregar los archivos haciendo clic en el icono más y busque en el proyecto.

  6. Producto> Carpeta de construcción limpia

  7. Construir

Por lo general, encuentra estos archivos faltantes en la Recovered Referencescarpeta de Xcode en el árbol del proyecto (busque la barra de búsqueda en la parte inferior izquierda de Xcode y busque su archivo de queja):

Eliminarlos de esta carpeta también puede solucionar el error.


1
¡Gracias! Teníamos referencias a archivos eliminados. Eliminar solo estas referencias resolvió el problema
Jason

A veces, cuando cambio el nombre desde XCode, el archivo en 'Finder' todavía tiene el nombre anterior. Busque el archivo en 'Finder' y cámbiele el nombre por el nuevo.
Tony

58

Para mí, en Xcode 10, estas soluciones funcionaron de maravilla. Simplemente vaya a la carpeta Referencias recuperadas y elimine todos los archivos en color rojo y agréguelo nuevamente con la referencia adecuada.

ingrese la descripción de la imagen aquí


10
No puedo encontrar "Referencias recuperadas" en mi proyecto
David m lee

4
¿Qué quiere decir con "agregarlo de nuevo con la referencia adecuada" después de que hayamos eliminado los archivos rojos?
PrimeTimeTran

@PrimeTimeTran Quise decir que puede agregar esas referencias de archivo nuevamente en su proyecto, con arrastrar y soltar o copiar y pegar. Al igual que agregar un nuevo archivo en el proyecto.
Krishna Thakur

3
@davidmlee Creo que lo que este tipo quiere decir en otras palabras es: "abre todas tus carpetas en el proyecto, elimina las cosas rojas y agrégalas de nuevo". No es necesario que haya una carpeta de referencias recuperada.
bearacuda13

17

Esto funcionó para mí en Xcode 10:

  • Haga clic en el icono / nombre del proyecto en su proyecto de Xcode
  • Ir a la pestaña General
  • Haga clic en [Elegir archivo info.plist] en la sección Identidad
  • Seleccione el archivo info.Plist
  • Verifique la pestaña de Información para ver si info.plist se cargó correctamente
  • Construir y ejecutar

15

Curiosamente, cerrar Xcode y volver a abrirlo también podría ser suficiente.


También eliminé datos derivados, pero simplemente cerrar / volver a abrir podría haber sido suficiente.
Adam Johns

Pensé que esta era una forma de Visual Studio de arreglar las cosas ... pero funcionó para mí.
SEG.Veenstra

14

La solución anterior finalmente funciona para mí; sin embargo, necesito hacer algunos pasos adicionales para finalmente compilar correctamente. (Estos pasos adicionales fueron necesarios incluso en Xcode 9.)

  1. Xcode: Archivo -> Configuración del espacio de trabajo -> Sistema de compilación: Sistema de compilación heredado
  2. Xcode: Producto -> Limpiar
  3. Gire para compilar a través de diferentes tipos de emuladores, como "iPhone 8", "iPhone 8 Plus", etc. (pueden fallar o no).
  4. Compilar eventualmente en "Dispositivo iOS genérico"

Necesitaba seguir algunos de estos pasos para que también funcionara.
Liwen Zhao

13

Simplemente verifique la ruta al archivo .plist en la configuración de compilación de su objetivo

ingrese la descripción de la imagen aquí


Sí, moví el plist a una carpeta separada. Creo que las carpetas solían ser virtuales y ahora son reales (la vieja carpeta azul / amarilla). De cualquier manera, tu respuesta fue acertada :-)
Peter

10

Solucioné este problema de esta manera: vaya a las Fases de compilación de su proyecto (haga clic en el icono del proyecto en la parte superior y luego haga clic en Fases de compilación). Busque su archivo allí. Si está allí (aparecerá atenuado), elimínelo. Luego limpia (shift + alt + command + k), ¡y corre! Espero eso ayude.


9

Si el error dice que no puede encontrar Info.plist y está buscando en la ruta incorrecta , haga lo siguiente:

  1. Seleccione su proyecto en el navegador, luego seleccione su objetivo
  2. Seleccione "Configuración de compilación" y busque "plist"
  3. Debería haber una opción llamada Archivo Info.plist. Cambie la ubicación a la correcta.

Esta respuesta también es aplicable si cambia el nombre de la carpeta / estructura de su aplicación. Gracias @keverly
Lorem

5

Nada de lo anterior funcionó para mí, pero esto sí:

  1. Abra el proyecto en Finder, haga clic derecho en su archivo .xcodeproj y muestre el contenido del paquete
  2. Abra project.pbxproj en un editor de texto
  3. Encuentra la referencia a tu archivo perdido
  4. Edite path = "path/to/file.swift"a la ubicación real en el disco y guarde el archivo.
  5. Reconstruir el proyecto

ESTE es el que lo arregla ... increíble
David Seek

Igual que aquí. ¿Cómo diablos resolviste esto?
Peter Schorn

2

abra el panel de navegación derecho donde existen los archivos de su proyecto O haga clic en JSUT en cmd + 1 Luego busque la carpeta "Referencias recuperadas" ábralo todos los archivos rojos (elimínelos) y todo funcionará tan bien.


2

Hice que esto sucediera para construir mis pruebas unitarias. Esto puede haber sucedido porque eliminé las pruebas de ejemplo.

Quité el paquete de prueba de la unidad y luego lo volví a agregar como se muestra en las imágenes a continuación y todo volvió a estar bien.

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí


2

Me encontré con este error después de cambiar el nombre de un archivo. De alguna manera, Xcode no cambió correctamente el nombre del archivo real en el disco.

Entonces no pudo encontrar el archivo. A veces, los archivos se resaltan con un color de texto rojo. En otras ocasiones, el icono de Swift frente al archivo se superponía en gris.

La solución fue simple.

  • Mire el error y vea exactamente qué archivo no puede encontrar.
  • Seleccione el archivo que no se puede encontrar.
  • Vaya al 'Inspector de archivos'. Está en el panel de navegación derecho de Xcode.
  • Haga clic en el icono de la carpeta.
  • Seleccione el archivo correcto.
  • Limpiar la compilación y ejecutarla de nuevo.

1

Tuve un problema similar después de actualizar a una nueva versión rápida recientemente. Mover archivos hizo que mi proyecto xcode hiciera referencia a elementos que ya no estaban en el directorio del proyecto, lo que me dio el archivo de entrada de compilación del código de error no encontrado.

En mi situación, de alguna manera tenía varios archivos / imágenes a los que se hacía referencia como se describe a continuación:ingrese la descripción de la imagen aquí

En la imagen de arriba.

  • Navega a tu página de Objetivos.
  • Luego haga clic en la pestaña Build Phases en la parte superior.
  • Desplácese hacia abajo para copiar los recursos del paquete
  • Busque los archivos afectados y elimínelos. (presione eliminar en ellos o selecciónelos y presione el botón menos)

Fue aquí donde de alguna manera tenía varios archivos e imágenes a los que se hacía referencia desde otras carpetas y la compilación fallaba porque ya no podían encontrarlos. ¡Y tampoco pude encontrarlos! o cómo Xcode todavía los hacía referencia

Espero que esto ayude a alguien más !


1

Tuve el mismo problema. El problema era que no tenía ningún archivo en Target> Build Phases> Compile Sources. El problema se resolvió después de agregar al menos un archivo a Compilar fuentes.


1

No es que haya hecho nada mal, pero encontré este problema por una razón completamente diferente y sé qué lo causó.

Anteriormente usé el buscador y arrastré un archivo al directorio / carpeta de mi proyecto. Yo no lo arrastre a Xcode . Para que Xcode incluyera ese archivo en el proyecto, tuve que arrastrarlo a Xcode yo mismo más tarde.

Pero cuando cambié a una nueva rama que no tenía ese archivo (ni necesitaba), Xcode me estaba dando este error:

No se puede encontrar el archivo de entrada de compilación: '/ Users / honey / Documents / xp / xpios / powerup / Models Extensions / CGSize + Extension.swift'


Limpié la carpeta de compilación y eliminé mis datos derivados, pero no funcionó hasta que reinicié mi Xcode.


1

Esto funcionó para mi

  1. intente eliminar los archivos de color rojo
  2. eliminar los archivos en los datos derivados
  3. limpiar la carpeta de compilación
  4. luego intente construir usando "nuevo sistema de construcción" desde archivo-> configuración del espacio de trabajo

1

En mi caso, el archivo (y el directorio) que mencionaba XCode era incorrecto y el problema comenzó a ocurrir después de una fusión de Git con una rama relativamente grande. Para arreglar lo mismo, hice los siguientes pasos:

  • Buscó el archivo en el sistema de directorio de XCode.
  • Encontró el archivo con errores resaltado en rojo (es decir, faltaba).
  • Haga clic derecho en el archivo y eliminó el archivo.
  • Intenté construir mi código nuevamente, y listo, fue exitoso.

Espero que estos pasos ayuden a alguien.


0
  1. Vaya a Xcode-> Archivo -> Configuración del proyecto
  2. Cambiar el sistema de compilación: - "Sistema de compilación heredado".
  3. Limpia, construye y presiona Ejecutar.

0

De lo que se quejaba Xcode era de un archivo XIB. Lo hice funcionar yendo a Proyecto -> Fases de compilación -> Copiar recursos de paquete, eliminando el XIB "problemático", limpiando (CMD + Shift + K), compilándolo y agregándolo nuevamente.


0

También existe la posibilidad de que, a veces, cuando mueva sus archivos a una carpeta diferente y especialmente cuando los mueva info.plista otra carpeta, necesite definir la ubicación de ese archivo. Para resolver este problema, simplemente haga clic en el ícono azul de su proyecto en la parte superior y verá un botón en lugar del nombre del proyecto y la identificación del paquete, haga clic en él y ubique el info.plistarchivo allí, limpie y compile felizmente.


0

Me encontré con este problema poco después de actualizar a Xcode 10, pero ese no era el problema.

Intenté cambiar el sistema de compilación, pero eso me dio un error separado que significaba lo mismo. Generalmente dice "No se puede encontrar el archivo X".

Hay varias cosas que comprobar cuando no se puede encontrar un archivo.

  1. Carpeta de referencias recuperadas Apple hace algo agradable en el que si detecta una referencia a un archivo que no existe, agregará esta referencia a un grupo llamado "Referencias recuperadas".

Eso es bueno por parte de Apple, pero no siempre funciona.

  1. Build Phases Compile Sources En esta lista, podría haber metadatos para un archivo que se supone que el proyecto debe compilar, pero el archivo no existe realmente y está intentando encontrar el archivo en la ruta dada. En esta lista, se atenuará, elimínelos y vuelva a agregarlos alternando las dependencias de destino del archivo o eliminándolo manualmente y arrastrándolo.

  2. Ruta del archivo Verifique dos veces la ruta del archivo que se está imprimiendo el error y la ruta del archivo en el buscador. Puede ver esto fácilmente haciendo clic en el archivo en Xcode y marcando la pestaña "Mostrar el inspector de archivos" (la pestaña más a la izquierda). Si estos caminos son correctos, ¡estás bien!

  3. Archivos atenuados en su proyecto que no están en referencias recuperadas o en rojo.Este me cabreó porque no es obvio lo que sucedió, pero básicamente si ingresa al buscador y mueve un archivo a una ubicación diferente sin actualizar la referencia en el proyecto arrojará el error ya que el archivo ya no existe allí. La única indicación que he encontrado es que el archivo en la pestaña "Navegador de proyectos" (pestaña más a la izquierda) está ligeramente atenuado, pero cuando va a eliminar este archivo, Xcode no le pide que elimine la referencia o envíe a basura. Puede solucionar este problema eliminando el archivo y volviéndolo a agregar al proyecto o yendo a la pestaña "Inspector de archivos" y haciendo clic en el icono de la carpeta junto a la ruta y cámbielo a la ubicación adecuada.

De cualquier manera, el error indica que no puede encontrar un archivo, cambiar al antiguo sistema de compilación es un remedio para un problema más concreto. Nosotros, como desarrolladores, entendemos que un compilador solo quiere que un artefacto aparezca al final de la ruta de un archivo. ¡En algún lugar el camino no es correcto! ¡Tenemos que encontrar dónde está eso!

Mi problema se resolvió con el artículo 4 mencionado anteriormente. Espero que esto ayude a alguien.


0

Archivo> Configuración del proyecto> Cambiar sistemas de compilación a sistemas de compilación heredados


3
Sería útil una pequeña explicación
vik_78

0

En mi caso, eliminé accidentalmente una carpeta de xcodeproj de terceros que usé en mi aplicación.


0

Si intentó crear perfiles, y luego no funcionó, y ahora no puede compilar, vaya al panel de destino (a través del icono del proyecto), cambie a la pestaña Configuración de compilación, busque PERFIL y configure CLANG_USE_OPTIMIZATION_PROFILE en "No".


0

En mi caso, había creado un nuevo objetivo de prueba y eliminé el archivo Swift predeterminado, por lo que solo quedó el info.plist. Agregar un nuevo archivo solucionó esto.


0

En mi caso, tenía un script de compilación que generaba el binario .app (Buck). El script de compilación de Buck se ejecutó en paralelo con el paso de compilación Swift Embed. Debido a que el binario .app aún no se generó, el paso de Swift fallaría.

En mi script de compilación agregué "$BUILD_PRODUCTS_DIR/$EXECUTABLE_PATH"debajo "Output Files".

Esto le dice al nuevo sistema de compilación de Xcode que este script generará el binario de la aplicación y, a su vez, Xcode se asegurará de sincronizar cualquier paso de compilación que dependa de este artefacto.

ingrese la descripción de la imagen aquí

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.