Advertencia de Xcode: “Varios comandos de comstackción para el archivo de salida”

Me aparece un error como este:

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

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

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

Pero he revisado Xcode y no veo ningún duplicado de dichos archivos. Como dice esta publicación en las listas de correo de Apple, no hay duplicados.

En Project Navigator, seleccione su archivo de proyecto de Xcode. Esto le mostrará la configuración del proyecto y los objectives del proyecto. Mire en la fase de comstackción “Copiar recursos”. Debería encontrar los archivos ofensivos en esa lista dos veces. Eliminar la referencia duplicada.

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

Esto se produce fácilmente cuando agrega subproyectos basados ​​en git. Xcode no es lo suficientemente inteligente como para ignorar la subcarpeta .git aunque no se puede ver desde el buscador, por lo que se confundirá al ver que hay varios archivos llamados “master” o “exclude”, (archivos estándar de git repo). Con Xcode4, dirígete al proyecto (raíz del árbol de la izquierda), luego haz clic en el objective de tu aplicación y expande “Copiar recursos de paquete”, luego elimina todas las referencias a .git, de todos modos no necesitarás que entren en tu aplicación.

En realidad, la respuesta a esto es muy simple.

En su búsqueda xcode para los archivos que generan la advertencia, y simplemente elimínelo.

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

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

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

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

Esto sucede si tiene 2 archivos con el mismo nombre en el proyecto. Aunque los archivos están en grupos en XCode cuando se comstack el proyecto, todos los archivos terminan en el mismo directorio. En otras palabras, si tiene /group1/image.jpg y /group2/image.jpg, el proyecto comstackdo solo tendrá uno de los dos archivos image.jpg.

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 varios subdirectorios, cada uno con un “preview.jpg” que quería copiar al paquete de la aplicación:

referencias grupales

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

Elimine los archivos ofensivos y elija “Eliminar referencia” (para que no los borremos por completo):

eliminar referencias de grupo

Vuelva a agregarlos al proyecto arrastrándolos nuevamente al navegador del proyecto. En el cuadro de diálogo que aparece, elija “Crear referencias de carpeta para cualquier carpeta agregada”:

agregar como referencias de carpeta

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

referencias de carpeta


Si ahora busca en la sección “Copiar recursos del paquete” de las fases de comstackción del objective, observará que hay una sola entrada para toda la carpeta, en lugar de entradas para cada elemento contenido en el directorio. El comstackdor no se quejará de los múltiples comandos de comstackción para esos archivos.

Esto no es un error. Las ayudas de Xcode pueden ayudarte. Seleccione el objective, a la izquierda en el navegador del proyecto. Haga clic en “Validar configuración” en la parte inferior de la configuración. Xcode verificará la configuración y eliminará los duplicados si es posible.

otra versión de esta situación puede ocurrir cuando hay duplicados en la fase de comstackción de encabezados .

para arreglar esto …

  1. ir a su objective del proyecto
  2. elige Build Phases
  3. elija la fase de comstackción de Headers
  4. ingrese el nombre que se muestra en la advertencia
  5. observe los dos (o más) elementos
  6. encuentra los recuadros +|- en la esquina inferior izquierda
  7. seleccione uno de los elementos y haga clic en el botón -

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

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

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

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

Reproduje este mismo comportamiento exacto 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 solucionarlo es volver atrás una confirmación y comenzar de nuevo, o editar manualmente el archivo del proyecto, que es una muy buena forma de arruinarlo aún más, ya que es difícil decir qué duplicados eliminar y tienes que hacerlo en una tonelada de lugares diferentes.

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

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 objective del inspector de archivos
  3. Construye el proyecto
  4. Vuelva a verificar la membresía de destino para el archivo nuevamente

¡La advertencia se ha ido! Verifique esta imagen para referencia.

enter image description here

Esto sucede porque tu “no.png” “d.png” y “n.png” están duplicados en recursos. Solo busque eliminar archivos duplicados y eliminar.

El error parece aparecer cuando tienes 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.

Otra variación más sobre este tema. Recibí 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 archivo project.pbxproj en un editor de texto (después de salir de XCode y hacer una copia de seguridad del archivo, por supuesto) y eliminar todas las referencias al archivo ofensivo. Luego, después de volver a iniciar XCode, manualmente agregué el archivo nuevamente al proyecto y todo estaba bien.

(Mi sospecha es que este problema me ha pasado debido a un manual, es decir: no-XCode, combinación del archivo del proyecto).

Abra la carpeta de Frameworks en su proyecto y asegúrese de que solo haya marcos dentro. ¡Agregué por error toda la carpeta del desarrollador!

Tuve el mismo problema hace unos minutos. He mencionado que cambiar el ‘destino de despliegue’ solucionó mi problema.

Para mí, el objective> Configuración de comstackción> Embalaje> Nombre del producto se configuró de la misma manera que otro valor al que se hace referencia en un archivo .plist que se personalizó para mi aplicación. Finalmente, debido a nuestro proceso de comstackción, esto crea archivos duplicados.

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 hayas creado un Assets.xcassets y hayas cambiado el nombre de los duplicados por nuevos nombres, así que después de un tiempo lo olvidaste y lo eliminaste para agregar las referencias a la carpeta, pero este vuelve al problema de los archivos duplicados.