Advertencia de Xcode: "Múltiples comandos de compilación para el archivo de salida"


Estoy recibiendo un error como este:

[WARN] Advertencia: Múltiples comandos de compilación para el archivo de salida /Developer/B/Be/build/Release-iphonesimulator/BB.app / no.png

[WARN] Advertencia: Múltiples comandos de compilación para el archivo de salida /Developer/B/Be/build/Release-iphonesimulator/BB.app / d. png

[WARN] Advertencia: Múltiples comandos de compilación para el archivo de salida /Developer/B/Be/build/Release-iphonesimulator/BB.app / n. png

Pero he comprobado Xcode y no veo ninguna duplicados de tales archivos. Como dice este post en las Listas de correo de Apple, no hay duplicados.

Author: john.k.doe, 2010-04-27

18 answers

En el Navegador de proyectos, seleccione su archivo de proyecto Xcode. Esto le mostrará la configuración del proyecto, así como los destinos en el proyecto. Busque en la fase de compilación" Copiar recursos del paquete". Usted debe encontrar los archivos ofensivos en esa lista dos veces. Elimine la referencia duplicada.

Xcode se queja de que está tratando de agrupar el mismo archivo con su aplicación dos veces.

 786
Author: Mark Suman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-08 14:12:04

Esto se produce fácilmente cuando agregas subproyectos basados en git. Xcode no es lo suficientemente inteligente como para ignorar el .subcarpeta git a pesar de que no se puede ver desde finder, por lo que se confundirá mucho que hay varios archivos llamados "master" o "exclude", (archivos estándar de repositorio git). Con Xcode4, vaya al proyecto (raíz del árbol izquierdo), haga clic en el destino de su aplicación y expanda "Copiar recursos del paquete", luego elimine todas las referencias a .git, no deberías necesitarlos horneados en tu aplicación de todos modos.

 124
Author: slf,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-03-12 20:05:47

En realidad la respuesta a esto es muy simple.

En su xcode busque los archivos que generan la advertencia, y simplemente elimínelos.

El Xcode mostrará solo una referencia de ese archivo en los resultados de búsqueda, pero no se detenga allí, adelante y elimínelo. (mejor hacer una copia de seguridad a su archivo de proyecto antes de la operación de eliminación)

Ahora haga una compilación, verá la advertencia eliminada. (esta respuesta es para una versión anterior de xcode)

 102
Author: Futur,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-12-14 19:04:03

Esto no es un error de Xcode, aunque el mensaje de advertencia no es lo suficientemente útil para describir la causa real.

Este mensaje de error se produce cuando tiene varios archivos en su proyecto que tienen el mismo nombre. Solo tienes que eliminar o cambiar el nombre de los archivos con nombres duplicados y el problema está resuelto.

 51
Author: aimacworx,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-25 05:48:25

Esto sucede si tiene 2 archivos con el mismo nombre en el proyecto. A pesar de que los archivos están en grupos en XCode cuando se compila el proyecto, todos los archivos terminan en el mismo directorio. En otras palabras, si tienes / group1 / image.jpg y / group2 / imagen.jpg el proyecto compilado solo tendrá una de las dos imágenes.archivos jpg.

 25
Author: respectTheCode,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-11-10 11:09:09

Como se mencionó anteriormente, este problema se puede ver si tiene varios archivos con el mismo nombre, pero en diferentes grupos (carpetas amarillas) en el navegador del proyecto. En mi caso, esto fue intencional, ya que tenía múltiples subdirectorios cada uno con una " vista previa.jpg " que quería copiar al paquete de aplicaciones:

referencias de grupo

En esta situación, debe asegurarse de que Xcode reconozca la referencia del directorio (icono de carpeta azul), no solo los grupos.

Eliminar el ofender archivos y elegir "Eliminar referencia" (por lo que no eliminarlos por completo):

eliminar referencias de grupo


Vuelva a añadirlos al proyecto arrastrándolos de nuevo al navegador del proyecto. En el cuadro de diálogo que aparece, elija "Crear referencias de carpeta para cualquier carpeta agregada":

añadir como referencias de carpeta


Observe que los archivos ahora tienen un icono de carpeta azul en el navegador del proyecto:

referencias de carpetas


Si ahora miras en la sección "Copiar recursos del paquete" de las fases de compilación del destino, notará que hay una sola entrada para toda la carpeta, en lugar de entradas para cada elemento contenido en el directorio. El compilador no se quejará de múltiples comandos de compilación para esos archivos.

 16
Author: Stuart,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-25 10:32:12

Esto no es un error. Xcode assists puede ayudarle. Seleccione el destino, a la izquierda en el navegador del proyecto. Haga clic en "Validar configuración" en la parte inferior de la configuración. Xcode comprobará la configuración y eliminará duplicados si es posible.

 15
Author: Gunther,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-06-28 21:18:00

Otra versión de esta situación puede ocurrir cuando hay duplicados en las cabeceras fase de compilación.

Para arreglar esto {

  1. vaya al objetivo de su proyecto
  2. elija Build Phases
  3. elija la fase de compilación Headers
  4. introduzca el nombre mostrado en la advertencia
  5. observe los dos (o más) elementos
  6. encuentra las casillas +|- en la esquina inferior izquierda
  7. seleccione uno de los elementos y haga clic en el botón -
 13
Author: john.k.doe,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-11 18:03:03

En mi caso, el problema fue causado por el mismo nombre de destino y carpeta dentro de un grupo.

Simplemente cambie el nombre del archivo o carpeta en conflicto para resolver el problema.

 7
Author: Dmitry,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-08-21 23:22:45

Estoy bastante seguro de que esto puede ser causado por un error de XCode 4, al menos en los casos en los que lo he encontrado.

Sucede si agrega varios archivos dependientes del idioma al proyecto al mismo tiempo. Descubrí esto mirando a través de las diferencias de Git. No hice nada en la confirmación, pero agregar algunos nuevos archivos nib localizados. Pero mirando hacia atrás en la diferencia del proyecto.archivo pbxproj mostró un montón de nuevas referencias duplicadas agregadas para archivos que ya estaban en el proyecto antes. Los archivos que hizo esto también me parecían aleatorios.

Reproduje este mismo comportamiento varias veces.

Eliminar estos archivos del proyecto no soluciona el problema porque solo elimina la referencia original y deja los duplicados. La única manera de arreglarlo es regresar a un commit y comenzar de nuevo, o editar a mano el archivo del proyecto, que es una muy buena manera de arruinarlo aún más, ya que es difícil saber qué duplicados eliminar y tienes que hacerlo en un montón de diferentes lugares.

Xcode 4 es solo una gran decepción para mí.

 5
Author: Steve,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-05-20 20:46:37

Encontré una solución bastante fácil para esto:

  1. Seleccione el archivo que causa el problema desde el navegador del proyecto
  2. Desmarque la membresía de destino del inspector de archivos
  3. Construir el proyecto
  4. Vuelva a comprobar la pertenencia de destino para el archivo

La advertencia se ha ido! Compruebe esta imagen para la referencia.

introduzca la descripción de la imagen aquí

 5
Author: Mahmoud Fayez,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-09-20 15:19:53

Esto sucede porque ur " no.png" "d.png" y "n.png" se duplican en los recursos . Solo tienes que buscar eliminar archivos dublicados y eliminar.

 4
Author: user944031,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-09-23 10:36:07

El error parece aparecer cuando u tiene más de una referencia del mismo archivo. Tenía 2 archivos del mismo nombre y obtuve este error. Cuando elimino uno de ellos el error desaparece..

 3
Author: hilla,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-02-20 14:27:29

Otra variación sobre este tema. Me llegó el mismo mensaje ninguna de las soluciones sugeridas anteriormente resolvió el problema (definitivamente solo tenía una copia del archivo ofensivo, por ejemplo).

Mi solución fue editar el proyecto.pbxproj archivo en un editor de texto (después de salir de XCode y copia de seguridad del archivo, por supuesto) y eliminar todas las referencias al archivo ofensivo. Luego, después de iniciar XCode de nuevo, agregué manualmente el archivo de nuevo en el proyecto y todo fue ok.

(Mi sospecha es que este problema me ocurrió debido a un manual, es decir: non-XCode, fusión del archivo de proyecto.)

 2
Author: orlanthi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-06-09 13:25:46

Abra la carpeta Frameworks en su proyecto y asegúrese de que solo haya frameworks dentro. He añadido por error toda la carpeta de desarrolladores!

 1
Author: rjobidon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-06-18 18:08:27

Tuve el mismo problema hace unos minutos. He mencionado cambiar el 'destino de implementación' solucionado mi problema.

 1
Author: Martijn Mellens,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-03-13 17:17:56

Para mí, el Destino > Configuración de compilación > Empaquetado > Nombre del producto se estableció en lo mismo que otro valor al que se hace referencia en a .archivo plist que era personalizado para mi aplicación. Eventualmente, debido a nuestro proceso de compilación, esto crea archivos duplicados.

 0
Author: The Red Pea,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-07-09 16:15:11

Swift 3: (pero también las versiones anteriores) sucede cuando tengo activos con duplicados. Simplemente cambie el nombre de los archivos con este problema y todo irá bien.

También podría suceder cuando haya hecho un Assets.xcassets y haya cambiado el nombre de los duplicados con nuevos nombres, por lo que después de un tiempo lo olvidó y lo eliminó para agregar las referencias de carpeta, pero este vuelve al problema de los archivos duplicados..

 0
Author: Alessandro Ornano,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-07 10:27:09