error: Múltiples comandos producen '/Users/uesr/Library/Developer/Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist': 1) El comando 'OptimalLive' de destino tiene 'OptimalLive '/Users/uesr/Desktop/workSpace/SEALIVE/SeaLive1.1/OptimalLive/Info.plist' to '/ Users / uesr / Library / Developer / Xcode / DerivedData / OptimalLive-fxatvygbofczeyhjsawtebkimvwx / Build / Products / Debug-iphoneos / Optimal-iphoneos / Optimal-iphoneos / Optimal .app / Info.plist '2) El destino' OptimalLive 'tiene el comando copiar de' /Users/uesr/Desktop/workSpace/SEALIVE/SeaLive1.1/OptimalLive/Server/Masonry/Info.plist 'a' / Users / uesr / Biblioteca / Desarrollador / Xcode / DerivedData / OptimalLive-fxatvygbofczeyhjsawtebkimvwx / Build / Products / Debug-iphoneos / OptimalLive.app / Info.plist '3) Target' OptimalLive 'tiene comando de proceso con la entrada '/Users/uesr/Desktop/workSpace/SEALIVE/SeaLive1.1/OptimalLive/Info.plist'
Ejecutar el código en Xcode9 funciona, pero hay un error en Xcode10.
fuente
Respuestas:
El problema podría estar ocurriendo debido a múltiples Plist u otros archivos dentro de App-
Solución -> Abrir objetivo -> Fases de compilación> Copiar recursos de paquete y eliminar
info.plist
de allí.Nota: Si también ha desarrollado una aplicación de reloj, también tendrá que eliminar la lista del reloj y la extensión del reloj.
fuente
info.plist
archivo en una de mis dependencias privadas de CocoaPods que se estaba recogiendo porque coincidía con lasource_files
propiedad del podspec . No necesitaba elinfo.plist
archivo en mi módulo, así que lo eliminé.Encontré la solución para este error de compilación, para cualquier otra persona que tenga el mismo problema con el sistema de compilación Xcode 10, siga los siguientes pasos para solucionarlo:
Resolverá el problema de compilación con el nuevo Xcode 10.
Si desea trabajar con el nuevo sistema de compilación, puede encontrar la ayuda para la resolución de problemas en esta página de ayuda de Apple Xcode .
¡Espero que esto ayude!
fuente
Vaya a Xcode -> Archivo -> Configuración del espacio de trabajo. Encontrará una ventana emergente como.
Seleccione " Legacy Build System " de la etiqueta Build System. Presione " Listo "
Nota: - Asegúrese de borrar su proyecto con " cmd + shift + alt + k " y " Datos derivados "
Construye tu proyecto funcionará encanto :)
fuente
Prueba esto también. Xcode-> File-> Project Settings-> Build System -> Legacy Build System.
fuente
Si obtiene esto del
Ditto
comando que crea varias instancias del mismo nombre (NO el'copy files' build phase
), puede que tenga que cambiar elProduct Module Name
.Build Settings
Product Module Name
Tenemos un objetivo de observación y algunos objetivos de notificación en nuestra aplicación, así que pongo cosas como
Extension
al final del nombre del módulo.Encontré esta solución originalmente aquí: https://forums.developer.apple.com/thread/103913
fuente
All
a la derecha de dónde buscas paraProduct Module Name
que se muestre esa configuración de compilación.Estaba experimentando con Core Data. Construí un modelo de datos para un simple programa de lista de verificación y generé los NSManagedObjects. Cuando compilé el proyecto recibí el siguiente error:
El problema era que el modelo de datos (CheckList.xcdatamodeld en mi caso) estaba en la lista "Compilar orígenes". El proyecto se compiló limpiamente cuando lo eliminé de la lista.
EDITAR
Como @WilliamT. explica en los comentarios, necesita el xcdatamodeld en la lista de compilación. En su lugar, vaya a sus entidades dentro del archivo xcdatamodeld. Seleccione los modelos con errores, expanda el panel izquierdo y cambie el campo de "Codegen" a "Manual / Ninguno".
fuente
Mientras revisaba el registro de compilación, noté una advertencia:
Entonces, si ese es tu caso, entonces ve a tu objetivo:
info.plist
.fuente
Si usa CocoaPods, puede intentar desintegrar los pods e instalarlos nuevamente. Esto funciona para mi.
pod deintegrate
pod install
fuente
Prueba esto, está funcionando:
En Xcode, vaya a Archivo-> Proyecto / Configuración del espacio de trabajo.
Cambie el sistema de compilación al sistema Legacy Build.
fuente
Lea esta respuesta si el mensaje de error hace referencia a archivos de Core Data
Sinopsis: es posible que tenga archivos de clase de objeto administrado Core Data generados automáticamente y manualmente.
Esta respuesta se aplica si la primera línea del error se refiere a un archivo Foo + CoreDataProperties.o o Foo + CoreDataClass.o . Ejemplo:
error: Multiple commands produce '/Users/me/Library/Developer/Xcode/DerivedData/MyApp-uebslaqdwgldkjemijpdqmizgyzc/Build/Intermediates.noindex/ MyApp /Debug-iphonesimulator/ MyApp.build/Objects-normal/x86_64/Foo+CoreDataProperties.o':
1) Target ' MyApp ' (project ' MyApp ') has compile command for Swift source files
2) Target ' MyApp ' (project ' MyApp ') has compile command for Swift source files
La causa raíz se puede ver al expandir la sección Compilar archivos de origen Swift de la Transcripción de compilación. Por ejemplo:
<unknown>:0: error: filename "Address+CoreDataClass.swift" used twice: '/Users/myUserName/Projects/Jnky/Foo+CoreDataProperties' and '/Users/jk/myUserName/Developer/Xcode/DerivedData/MyApp-uebslaqdwgldkjemijpdqmizgyzc/Build/Intermediates.noindex/MyApp.build/Debug/MyApp.build/DerivedSources/CoreDataGenerated/Jnky/Foo+CoreDataProperties.swift'
El primer archivo mencionado es un archivo fuente en el directorio de su proyecto, que alguien generó seleccionando su modelo de datos en el Navegador de proyectos y haciendo clic en el menú Editor > Crear subclase de objeto administrado . Esta característica se agregó en Xcode 7 más o menos.
El segundo archivo es un archivo con el mismo nombre pero que está enterrado en Xcode
DerivedData
. Xcode genera este archivo automáticamente durante cada compilación si el.xcdatamodeld
archivo del modelo de datos ( ) se incluye en la fase de compilación de fuentes de compilación del objetivo . Esta característica se agregó en Xcode 9 más o menos. Cero, se generan uno o dos archivos para cada entidad / clase, dependiendo de la configuración de la ventana emergente Codegen . Esa ventana emergente está en el Inspector del modelo de datos cuando selecciona una entidad mientras edita su modelo de datos ...Las configuraciones son:
Como puede ver, el problema ocurre cuando un desarrollador (como yo) que está acostumbrado al Xcode más antiguo comienza un proyecto en un Xcode más nuevo. Creemos que necesitamos usar el elemento de menú Crear subclase de objeto administrado , lo que hacemos, para crear los archivos que podemos ver en el Navegador de proyectos sin darnos cuenta de que nuestra configuración en la ventana emergente Codegen está causando que Xcode cree archivos duplicados, lo que Apple "inteligentemente" no se muestra en el Navegador de proyectos, porque no confían en los desarrolladores para leer y prestar atención al comentario en el encabezado // Este archivo se generó automáticamente y no debe editarse.
Solución 1 - Use la forma más antigua
Puede deshabilitar todos los Codegen automáticos para un modelo de datos con solo una configuración:
.xcdatamodeld
archivo).Solución 2 - Core Data Magic para principiantes
Aquí, entras en el camino más nuevo.
Con esta solución, sus definiciones de clase se generan automáticamente a partir del modelo de datos en cada compilación. Ni siquiera puedes verlos. Es Core Data Magic , agradable y simple para principiantes.
Solución 3: para la mayoría de las aplicaciones del mundo real
Pero la Solución 2 no es buena si realmente desea agregar propiedades no administradas. (Objective-C no permite agregar propiedades en categorías, y Swift no permite agregar propiedades almacenadas en extensiones). Por lo tanto, en la mayoría de las aplicaciones del mundo real, es probable que desee ir a la mitad entre las soluciones 1 y 2 ...
(Agradecimientos a la respuesta de Positron. Mi respuesta aquí explica por qué funciona la respuesta de Positron (mi Solución 1), y agrega la Solución 2 y la Solución 3.)
fuente
Una opción que resolvió mi problema es cambiar el sistema de compilación al sistema de compilación heredado. Siga los siguientes pasos en Xcode 10+.
Aquí he escrito un artículo detallado sobre el problema y su solución. Error de Xcode: múltiples comandos producen
fuente
En mi caso, PDFGenerator estaba produciendo un archivo info.plist, simplemente lo eliminé.
fuente
Tuve el mismo problema, tenía una aplicación auxiliar más en la aplicación principal y la copié en el recurso. En mi caso resuelto como: -
1) Objetivo -> 2) Fases de construcción 2) Copiar archivo (n elementos) 3) Eliminar archivo de copia.
La aplicación Helper se copió automáticamente en Xcode 10.0.
fuente
Ninguna de las soluciones propuestas aquí funcionó para mí. Esto se debió particularmente a CocoaPods. Anteriormente estaba usando Cocoapods 1.3.1. Simplemente actualizar a 1.5.3 no resolvió el problema de inmediato.
Los pasos que seguí fueron:
pod install
fuente
install! 'cocoapods', :disable_input_output_paths => true
en la parte superior de mi archivo de pod. Además, si no desea actualizar sus pods, no elimine podfile.lock y todos los pods se instalarán en su versión actual.Antes de comenzar, tenga en cuenta que mi proyecto utiliza Carthage como administrador de dependencias.
Ninguna de las respuestas existentes aquí resolvió mi problema. Lo que resolvió el problema para mí fue lo siguiente.
Primero, noté que el error de compilación señalaba un marco en particular. Luego filtré App Target> Build Fases para ese marco. Me di cuenta de que ese marco estaba presente tanto en "Link Binary With Libraries" como en "Embed Frameworks". Teniendo en cuenta que ninguno de los marcos enumerados en "Embed Frameworks" eran gestionados por Carthage, eliminé el marco en cuestión de "Embed Frameworks". Luego reconstruí mi proyecto y todo funciona bien, incluida la funcionalidad habilitada por el marco en cuestión.
fuente
Pasos:
fuente
Pruebe toda esta opción, cualquiera de estas 3 opciones funcionará para usted, seguro
fuente
Entonces, el problema que tenía es que accidentalmente había incluido la lista de información en la configuración del proyecto -> Fases de construcción -> Copiar recursos de paquete para mi objetivo.
fuente
Este problema surgió para mí después de agregar una segunda parte del conjunto de SDK de Fabric a la aplicación.
Lo que realmente sucedió fue que GoogleUtilies Framework se agregó dos veces al proyecto Pods
Esto hubiera estado bien antes de Xcode 10, pero Xcode 10 se quejará si un archivo tiene dos acciones contra él (en este caso, una acción de copia).
Es seguro eliminar el segundo marco.
fuente
Aquí hay otra solución de trabajo: (Si está utilizando Pods personalizados)
fuente
Tenía
Multiple commands produce
muchas advertencias, no limitadas a la duplicación de info.plist en un objetivo. Incluyendo recursos localizados y archivos de cadena, encabezados, etc.Solución: elimine todas las duplicaciones en la membresía de destino.
fuente
Tuve este problema cuando tenía un archivo con el mismo nombre en dos objetivos diferentes. Por alguna razón, uno de esos archivos tenía parte de ambos objetivos. Así que básicamente tenía dos archivos. Y ambos archivos pertenecían a un objetivo.
Tiene sentido que un objetivo solo pueda tener un nombre de archivo por objetivo, por lo que simplemente desmarcando la casilla del miembro objetivo para el archivo que no estaba relacionado con el objetivo principal se solucionó el problema.
fuente
Yo uso Cartago y Xcode 10.
Mi solución es -> Proyecto -> Destino -> General ->
Elimine los marcos agregados con Cartago de "Binarios incrustados"
por lo general, debe agregar un script en Build Phases para eliminar la arquitectura de la tienda de aplicaciones.
En Xcode 10, el script parece llamado siempre. Por lo tanto, copia los marcos en el lugar correcto y no tiene que agregarlos a la pestaña General.
Nota: si no está configurado -> en Configuración de compilación -> Rutas de búsqueda -> Rutas de búsqueda del marco -> configure la ruta al Marco que agregó con Cartago .... por ejemplo. "$ (PROJECT_DIR) / Carthage / Build / iOS"
fuente
Vale la pena señalar que este error puede producirse después de la generación automática de modelos CoreData donde Codegen no está configurado en Manual / Ninguno.
Para corregir esto en Xcode 10, haga doble clic en su archivo xcdatamodeId y seleccione cada una de sus entidades y configure Codegen en Manual / Ninguno en Clase en su Inspector de modelo de datos.
fuente
Tuve un problema similar pero con archivos .swiftdoc.
Tengo extensiones y objetivos de prueba de unidad en el proyecto. Y tenían el mismo "Nombre del módulo del producto" (PRODUCT_MODULE_NAME en la Configuración de compilación) que la aplicación. Después de hacer que los nombres de tema único desaparecido.
fuente
Pasando a Xcode 10, errores como
se puede resolver de la siguiente manera:
Ir a
Xcode->File->Workspace/Project Settings-> Build System -> Legacy Build System
.fuente
Vaya a Project Build Phase y elimine info.plist de las fuentes de compilación. Eliminará ese problema y el proyecto volverá a estar activo.
fuente
Uno de mis CocoaPods estaba desactualizado y causó el problema. Hice una actualización de pods y funcionó bien.
Creo que pudo haber sido el SDK de LivePerson
fuente
Mi problema fue que Xcode 10 se ejecutaba en Mojave y al intentar ejecutar pruebas unitarias que escribí antes de actualizar a XCode 10.
En mi caso, tuve este problema mientras ejecutaba mi
TestTarget
objetivo. Para resolver, tuve que:TestTarget > build phases > Target Dependencies
)ya que tenía otros dos objetivos además de mi
TestTarget
y ambos ejecutaban el mismo script y creaban / copiaban archivos en cierto punto.Y eso entró en conflicto con lo que se mencionó en las Notas de versión de Build System para Xcode 10 aquí :
Nueva ACTUALIZACIÓN después de actualizar de Xcode 10.1 a 10.2
Un problema similar apareció nuevamente después de actualizar a Xcode 10.2. Tengo múltiples objetivos por proyecto:
Target1
yTarget2
resolví este problema de la siguiente manera:Edit Scheme > Build
yTarget1
underTest
desde que sabíaTarget2
importadoTarget1
También para tener en cuenta aquí,
Target2
la casilla de verificación debe permanecer marcada enTest
fuente
Puede haber 2 soluciones diferentes para deshacerse de este problema:
Solución 1
Como podemos ver, estaba obteniendo el mismo error ... en mi caso había una copia adicional de la carpeta Chat21Core en la carpeta TildeskWidget ... Esto estaba creando un problema ... Entonces, una de las posibles soluciones también puede ser leer el error por completo y intente encontrar si hay alguna copia adicional referenciada del proyecto o no.
Solución 2
Otra solución simple que encontré cuando enfrento el mismo tipo de problema para un proyecto diferente. Esta vez tuve que aplicar una solución diferente.
pod deintegrate
del proyectopod install
e intente construir el proyecto.Espero que esto funcione para ti ...
fuente