Recibo un error como este:
[ADVERTENCIA] Advertencia: múltiples comandos de compilación para el archivo de salida /Developer/B/Be/build/Release-iphonesimulator/BB.app/no.png
[ADVERTENCIA] Advertencia: Múltiples comandos de compilación para el archivo de salida /Developer/B/Be/build/Release-iphonesimulator/BB.app/d.png
[ADVERTENCIA] 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 ningún duplicado de dichos archivos. Como dice esta publicación en las listas de correo de Apple, no hay duplicados.
Esto se produce fácilmente cuando agrega subproyectos basados en git. Xcode no es lo suficientemente inteligente como para ignorar la subcarpeta .git a pesar de que no se puede ver desde el buscador, por lo que se confundirá que haya varios archivos llamados "master" o "exclude" (archivos estándar de repositorio de git). Con Xcode4, vaya al proyecto (raíz del árbol de la izquierda), luego haga clic en el destino de su aplicación y expanda "Copiar recursos de paquete", luego elimine todas las referencias a .git, de todos modos no debería necesitarlas en su aplicación.
fuente
En realidad, la respuesta a esto es bastante simple.
En su proyecto Xcode, busque los archivos que generan la advertencia y simplemente elimine uno de ellos.
Xcode mostrará solo una referencia de ese archivo en los resultados de búsqueda, pero no se detenga allí, continúe y elimínelo. (es mejor hacer una copia de seguridad de su archivo de proyecto antes de eliminarlo)
Ahora construya el proyecto nuevamente. La advertencia debería desaparecer ahora. (esta respuesta es para una versión anterior de xcode)
fuente
Este 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.
fuente
find . | grep -v \.git | rev | cut -d/ -f1 | rev | sort | uniq -c | sort
, sin embargo, esto no resolvió mi problemaEsto sucede si tiene 2 archivos con el mismo nombre en el proyecto. Aunque 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 tiene /group1/image.jpg y /group2/image.jpg, el proyecto compilado solo tendrá uno de los dos archivos image.jpg.
fuente
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 en el paquete de la aplicación:
En esta situación, debe asegurarse de que Xcode reconozca la referencia del directorio (icono de carpeta azul), no solo los grupos.
Elimine los archivos ofensivos y elija "Eliminar referencia" (para que no los eliminemos por completo):
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":
Observe que los archivos ahora tienen un icono de carpeta azul en el navegador del proyecto:
Si ahora busca en la sección "Copiar recursos del paquete" de las fases de compilación del objetivo, 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 los múltiples comandos de compilación para esos archivos.
fuente
Esto no es un error. Las asistencias de Xcode pueden ayudarlo. Seleccione el objetivo, 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.
fuente
otra versión de esta situación puede ocurrir cuando hay duplicados en la fase de compilación de Encabezados .
para arreglar esto …
Build Phases
Headers
fase de construcción+|-
cajas en la esquina inferior izquierda-
botónfuente
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.
fuente
Encontré una solución bastante fácil para esto:
¡La advertencia se fue! Verifique esta imagen como referencia.
fuente
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.
Ocurre 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 el commit, pero agregué algunos nuevos archivos nib localizados. Pero mirando hacia atrás en la diferencia del archivo project.pbxproj, mostró un montón de nuevas referencias duplicadas agregadas para archivos que ya estaban en el proyecto anteriormente. 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 forma de solucionarlo es retroceder una confirmación y comenzar de nuevo, o editar manualmente 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 hay que hacerlo. en un montón de lugares diferentes
Xcode 4 es solo una gran decepción para mí.
fuente
Esto sucede porque su "no.png" "d.png" y "n.png" están duplicados en los recursos. Simplemente busque eliminar archivos duplicados y eliminar.
fuente
El error parece aparecer cuando tiene más de una referencia del mismo archivo. Tenía 2 archivos del mismo nombre y obtuve este error. Cuando borro uno de ellos, el error desaparece.
fuente
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 iniciar XCode nuevamente, agregué manualmente el archivo al proyecto y todo estuvo bien.
(Sospecho que este problema me sucedió debido a un manual, es decir: no XCode, fusión del archivo del proyecto).
fuente
Abra la carpeta Frameworks en su proyecto y asegúrese de que solo haya marcos dentro. ¡Agregué por error toda la carpeta Developer!
fuente
Tuve el mismo problema hace unos minutos. He mencionado que cambiar el 'objetivo de implementación' solucionó mi problema.
fuente
Para mí, el Destino> Configuración de compilación> Empaquetado> Nombre del producto se configuró de la misma manera que otro valor al que se hace referencia en un archivo .plist que fue personalizado para mi aplicación. Finalmente, debido a nuestro proceso de compilación, esto crea archivos duplicados.
fuente
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 saldrá bien.
También podría suceder cuando haya realizado un cambio de nombre
Assets.xcassets
y haya cambiado el nombre de los duplicados con nuevos nombres, así que después de un tiempo lo olvidó y lo eliminó para agregar las referencias de la carpeta, pero este volvió al problema de los archivos duplicados.fuente
Una de manera simple es,
fuente
La clave era hacer
pod deintegrate
yrm *.workspace
archivar! Que perdida de tiempo !fuente
Usuarios React-Native. Ir a archivo -> configuración del espacio de trabajo -> sistema de compilación -> cámbielo al sistema de compilación heredado. y debería construir bien ahora. React-Native aún no es compatible con el nuevo sistema de archivos.
fuente
Comentando use_frameworks! en PodFile funcionó para mí.
Nota: Hizo esto en XCode 10.1, versión de pod 1.8.4
fuente
Si bien estoy seguro de que hay una mejor manera, el ataque nuclear solo me llevó menos de 60 segundos, y fue lo único que pude encontrar que funcionó.
git remote add <url.git>
ogit remote set-url <url.git>
fuente