Xcode: problema "falta el archivo xxx.png de la copia de trabajo" en la construcción del proyecto

265

Después de eliminar / agregar algunos archivos png al proyecto, recibí mensajes al crear el proyecto.

"falta el archivo ProjectPath \ aaa \ xxx.png en la copia de trabajo".

Todos estos archivos están en el proyecto y la aplicación se está ejecutando. Sin embargo, estos mensajes son molestos. Busqué el archivo .plist, pero no se menciona estos archivos. ¿Qué debo hacer para eliminar estos mensajes?

Iban
fuente

Respuestas:

495

La advertencia desaparecerá tan pronto como confirme sus cambios (Xcode 8).

Alexander Vasenin
fuente
2
Descubrí que solo tenía que confirmar mis cambios en git después de mover algunos archivos a un directorio diferente.
Chris Livdahl
@LearnSwift Clean Cmd + Shift + K, eliminar ~ / Library / Developer / Xcode / DerivedData / *?
Alexander Vasenin
2
@AlexanderVasenin tampoco
Aprende Swift el
77
Para mí, simplemente organizar los cambios fue suficiente. Bueno saber.
charmingToad
13
Como mencionó, me aseguré de confirmar y enviar mis últimos cambios. Pero hacer eso no eliminó los errores. Entonces hice Xcode> Control de fuente> Descartar TODOS los cambios, y eliminó todos los errores por mí.
EdwardM
97

Parece que este problema puede tener diferentes causas, pero a menudo está relacionado con el software de control de código fuente.

En mi caso, lo resolví yendo a Git y agregando los archivos nuevamente. Me refiero a ejecutar el siguiente comando:

git add .
nbloqs
fuente
Después de instalar Xcode 8 y actualizar el código a Swift 3, terminé con más de 300 problemas que necesitaban correcciones de sintaxis (proyecto masivo). En cambio, restauré desde una copia de seguridad y actualicé a Swift 2.3 ... todo salió bien, excepto por un montón de estos mensajes 'perdidos'. Este comando funcionó a las mil maravillas: ¡he vuelto al negocio!
Dan Ross
Esto es lo que funcionó para mí. El problema comenzó cuando eliminé lo que solía tener en Pods a favor de Cartago
Sebastian Sastre
1
Esto también funciona para mí. Parece que el archivo está bajo control de origen y git necesita ser actualizado también.
Shardon
después de que git cometió la advertencia desapareció
carmen_munich
3
Para otros: debe ubicarse en la carpeta raíz de su proyecto Xcode con la ejecución de 'git add'. comando: / MyXcodeProjects / AwesomeApp /
Philip Borges
59

También puede deshabilitar el control de origen desmarcando

Xcode -> Preferencias -> Control de fuente -> Habilitar control de fuente

si lo administra a través de la línea de comandos o cualquier otra aplicación.

emrekyv
fuente
esto lo hizo por mí, un poco molesto ver esto en el IDE, deberían apoyar bien el control de la fuente o ninguno
samiq
1
He realizado dos acciones: 1) "desmarcar", 2) "verificar" para Activar control de origen. Las advertencias desaparecieron.
Viktor
58

En XCode -> SoureControl:

UpdateLo Refresh Statushice por mí.

coyer
fuente
Creo que esto puede deberse a imágenes que tienen "@" en el nombre del archivo, como la convención "@ 2x" y "@ 3x". SVN usa ese símbolo para la sintaxis de revisión (para escapar cuando se trabaja con SVN en la línea de comando, simplemente agrega una "@" al final ya que la última aparición es la que usa para tratar de determinar la información de revisión). Simplemente ejecutar Update funcionó para mí. Cuando agregué algunas imágenes nuevas, tuve que seleccionar manualmente "agregar" en las variantes 2x / 3x en el panel Inspector de archivos también. Extraño.
Android3000
1
¡Esta! muy importante. El problema también surge si cambia el nombre de una carpeta que contiene archivos. En otras palabras, xcode nos da advertencias porque aún no hemos confirmado nuestro código. clap clap clap
Warpzit
44
Esto funcionó para mí. Tuve que cerrar Xcode y abrir el proyecto nuevamente y ejecutarlo.
jaytrixz
44

En mi caso, faltaba el archivo del control de origen.
Para solucionarlo, tuve que descartar este archivo (tenga cuidado de descartar solo el archivo que falta, no todo su proyecto):

  1. Xcode-> Source Control-> commit
  2. Haga clic derecho en el archivo que falta
  3. Elija Descartar cambios
Ronen
fuente
Funciona para mí, eliminé la carpeta DerivedData y las advertencias fueron para archivos como "db.xcindexdb"
tontonCD
1
Primero, me aseguré de comprometer y empujar mis últimos cambios. Luego hice Xcode> Control de código fuente> Descartar todos los cambios, y eliminó todos los errores.
EdwardM
19

Deshabilite el control de origen, limpie la carpeta de compilación ( Alt+Shift+Cmd+K), luego vuelva a habilitar el control de origen.

Xcode -> Preferencias -> Control de fuente -> Habilitar control de fuente

Jorge
fuente
1
respuesta correcta ... pero la respuesta exacta @emrekyv publicada 3 meses antes ... Obtiene el voto
eric
@eric sugirió solo para deshabilitar el control de fuente, le mostré cómo hacer que funcione correctamente.
George
18

En mi caso, Xcode había encontrado de alguna manera .svndirectorios antiguos que hacían referencia a los archivos faltantes. Tuve que subir un nivel por encima de mi carpeta de proyecto para encontrar esos archivos .svn. Una vez eliminado, reinicié Xcode y todo estuvo bien.

kubi
fuente
Sí, esto sucede cuando elimina algo de un proyecto bajo el control de versiones cuando todavía está referenciado por el control de versiones (en mi caso, svn). El uso de "svn update" para restaurar los archivos que faltan, y luego eliminarlos de la manera correcta usando "svn delete", hizo que el problema desapareciera para mí.
ChrisB
12

Tuve un problema similar con un puñado de archivos que se habían eliminado hace mucho tiempo de mi proyecto Xcode mientras todavía usaba Xcode 7.

Mi solución fue:

  1. Cree archivos con los nombres de los que Xcode se queja (no necesitan ningún contenido)
  2. Agregar los archivos a mi proyecto Xcode (en Xcode, haga clic derecho en el directorio principal de mi proyecto, haga clic en Agregar archivos a my_project_name y seleccione los archivos que se acaban de crear
  3. Seleccione los archivos recién agregados y elimínelos; seleccione mover a la papelera.

Esto eliminó las advertencias para mí.

Gabrielle Earnshaw
fuente
Esto funcionó para mí también. Tuve el problema después de copiar un proyecto existente para hacer un derivado, pero con una funcionalidad reducida ⇒ menos archivos fuente.
Stefan
9

Para agregar a la respuesta de Alexander Vasenin ...

Primero cometí y empujé mis cambios

Menú principal de Xcode> Control de fuente> Confirmar

Luego descarté todos los cambios para deshacerme de los errores

Menú principal de Xcode> Control de fuente> Descartar todos los cambios

Después de eso, los errores que indicaban "falta el archivo xxx.png de la copia de trabajo" desaparecieron.

EdwardM
fuente
¿Qué sucede si el proyecto no utiliza el control de versiones o un sistema de control de versiones no admitido por XCode?
Martin
8

Esto ocurre cuando elimina el archivo en Xcode, pero no le dijo al servidor svn al respecto.

Vaya a la herramienta de línea de comandos y elimine el archivo directamente.

svn delete missingFile.m 

y comprometerlo

svn commit -m "Deleting file"

tenga en cuenta que si elimina la carpeta .svn, la advertencia desaparecerá pero perderá la comunicación con el servidor svn.

Kang Byul
fuente
5

Lo resolví.

simplemente abra su herramienta SVN de terceros, encuentre los archivos perdidos, Revertir; eso es todo.

traximus
fuente
5

Tuve el mismo problema y lo resolví agregando git. Herramienta de línea de comando abierta

cd "project folder path"
git add .

Más tarde, reinicie el proyecto Xcode y abra su proyecto nuevamente.

Ugur Atci
fuente
¿Qué pasa si no usas git?
Martin
4

Mostrar en destino-> fases de construcción -> copiar recursos del paquete. y limpiar comando de carpeta de compilación + shift + alt + k

Bhaskar
fuente
3
Gracias, pero no están en las Fases de compilación, y la limpieza de la carpeta de compilación tampoco ayuda.
Iban
4

Tuve que ir manualmente a Terminal y eliminar los archivos con git rm ProjectPath\aaa\xxx.pngy luego confirmar. Después de eso todo funcionó bien.

yesthisisjoe
fuente
3

Obtuve esto para cada proyecto después de pasar a XCode 8. Esto lo resolvió:

Con la tecla Opción presionada, Producto (en el menú de título) -> Limpiar carpeta de compilación.

TomV
fuente
2

En mi caso, tenía datos incorrectos de mis antiguos proyectos en el simulador. Resuelto mediante restablecer contenido y configuraciones en el simulador:

Simulador -> Restablecer contenido y configuración ...

Canal
fuente
1

Para mí lo siguiente funcionó:

Como no uso y nunca usé Git, creé un nuevo proyecto (XCode 8, no pude ver el "uso de Git" habitual o, sin embargo, la marca de verificación estaba etiquetada). Luego borré sin rodeos todos los archivos en este nuevo proyecto; Fui al viejo proyecto en mal estado, copié todo en la carpeta del proyecto, volví al proyecto recién creado, pegué las cosas viejas, abrí eso: todas las advertencias sobre archivos que no han existido durante meses han desaparecido. Dedos cruzados.

TommyTheCat
fuente
1

Tuve el mismo problema y lo resolví simplemente arrastrando los archivos especificados del buscador al navegador del proyecto (asegurándome de que "copiar archivos" esté seleccionado en el diálogo) y confirmando los archivos.

usuario2698617
fuente
1

Estas advertencias no son advertencias de compilación, sino que se refieren a su repositorio SVN.

Es correcto que los directorios mostrados ya no existan, CocoaPods almacena los encabezados Pods/Headers/{Private,Public}ahora. Debe actualizar su copia de trabajo para reflejar esos cambios.

Mutawe
fuente
No uso el control de versiones dentro de XCode y todavía tengo el problema.
Martin
1

En mi caso, arrastro y suelto varios archivos en la ventana de mi proyecto Xcode para agregarlos. Hizo copias en mi directorio fuente pero no las colocó donde quería que fueran (las colocó en la raíz de mi directorio, las quería en un subdirectorio). Sin pensar, simplemente los agarré en el Finder y los moví al directorio en el que los quería. Después de volver a la ventana del proyecto, por supuesto, no pude encontrarlos, así que los eliminé en la ventana y los volví a agregar. Después de compilar comencé a recibir estos errores.

Pensé, como algunos mencionan anteriormente, que era un problema de git pero cuando ejecuté "git ls-tree --full-tree -r HEAD" ¿No vi los archivos en absoluto?

De todos modos, para solucionarlo, lo único que hice fue usar el comando de menú "Agregar archivo ..." para agregar cada uno de los archivos a la ubicación predeterminada, hacer una compilación limpia y luego eliminarlos de la ventana del proyecto (usando mover a la papelera) y Se deshizo de todos los errores.

KevinR
fuente
1

Tuve las advertencias y tampoco pude cometer cambios en XCode (usando svn). Todo lo que tenía que hacer era reiniciar XCode y el problema desapareció.

Hugh Jeffner
fuente
1

Esto funciona para mí: Xcode -> ("opción + clic") Producto -> Limpiar carpeta de compilación ...
que reiniciar xCode

Mykyta Savchuk
fuente
0

En mi caso, era un problema con git y un sistema de archivos que no distingue entre mayúsculas y minúsculas.

Inadvertidamente había enviado el mismo archivo dos veces, usando rutas de archivo que diferían solo en caso de que:

MyProject/Resources/foo.png
MyProject/resources/foo.png

Xcode se quejaba de uno de los archivos faltantes.

Se solucionó eliminando los archivos ofensivos y volviendo a agregarlos.

cd MyProject
mv Resources/foo.png /tmp
git rm Resources/foo.png
git rm resources/foo.png
git commit
mv /tmp/foo.png Resources
git add Resources/foo.png
git commit
Darren
fuente
0

Esto definitivamente está relacionado con el control de fuente. Cambié el nombre y moví un par de archivos plist no comprometidos y obtuve este error. Estoy usando svn. Pude arreglar esto mediante la Source Control - Commiteliminación de viejos archivos referenciados.

Hahnemann
fuente
Tengo el problema y no uso el control de versiones que XCode conoce. Todo el control de versiones se realiza fuera de XCode.
Martin