react produce multiple error commands info.plist xcode10

info.plist - error - multiple commands produce react native navigation



Xcode 10 Error: MĂșltiples comandos producen (30)

error: Multiple commands produce ''/Users/uesr/Library/Developer/Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist'': 1) Target ''OptimalLive'' has copy command from ''/Users/uesr/Desktop/workSpace/SEALIVE/SeaLive1.1/OptimalLive/Info.plist'' to ''/Users/uesr/Library/Developer/Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist'' 2) Target ''OptimalLive'' has copy command from ''/Users/uesr/Desktop/workSpace/SEALIVE/SeaLive1.1/OptimalLive/Server/Masonry/Info.plist'' to ''/Users/uesr/Library/Developer/Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist'' 3) Target ''OptimalLive'' has process command with input ''/Users/uesr/Desktop/workSpace/SEALIVE/SeaLive1.1/OptimalLive/Info.plist''

ejecutar el código en Xcode9 funciona, pero produce un error en Xcode10.


Lea esta respuesta si el mensaje de error hace referencia a los archivos de datos básicos.

Sinopsis: Es posible que tenga archivos de clase de objeto administrados Core Data generados automáticamente y generados 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 Swift Source Files de Build Transcript. 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 de origen en el directorio de su proyecto, que alguien generó al seleccionar su modelo de datos en el Project Navigator y al hacer clic en el menú Editor > Crear subclase de objetos gestionados . Esta característica fue agregada en Xcode 7 o así.

El segundo archivo es un archivo del mismo nombre pero que está enterrado en DerivedData de Xcode. Xcode genera este archivo automáticamente durante cada compilación si el archivo del modelo de datos ( .xcdatamodeld ) se incluye en la fase de compilación de los orígenes de compilación del objetivo. Esta característica fue agregada en Xcode 9 o así. Cero, se generan uno o dos archivos para cada entidad / clase, según la configuración de la ventana emergente de Codegen . Esa ventana emergente está en el inspector de modelo de datos cuando selecciona una entidad mientras edita su modelo de datos ...

Los ajustes son:

  • Manual / Ninguno No se generan archivos
  • Categoría / Extensión Se genera un archivo, Foo + CoreDataProperties.m o .swift , que contiene una categoría de Objective-C o una extensión de Swift.
  • Definición de clase Se genera el mismo archivo de Categoría / Extensión y, además, se genera un Foo + CoreDataClass.m o .swift , que contiene la declaración de clase y la definición.

Entonces ves que el problema ocurre cuando un desarrollador (como yo) que está acostumbrado al Xcode anterior comienza un proyecto en un Xcode más nuevo. Creemos que debemos usar el elemento de menú Crear subcategoría de objetos administrados , que hacemos, para crear los archivos que podemos ver en el Project Navigator sin darnos cuenta de que nuestra configuración en la ventana emergente de Codegen hace que Xcode cree archivos duplicados, lo que Apple "inteligentemente" no se muestra en el Project Navigator, porque no confían en que los desarrolladores lean y presten atención al comentario en el encabezado // Este archivo se generó automáticamente y no debe editarse.

Solución 1 - Use la manera más antigua

Puede deshabilitar todos los Codegen automáticos para un modelo de datos con solo una configuración:

  • Abra las fases de compilación del objetivo del problema (en Project Navigator , seleccione el proyecto, luego en la lista de OBJETIVOS que aparece, seleccione el objetivo del problema, luego presione la pestaña Fases de la construcción ).
  • Expanda la entrada Compilar orígenes y encuentre el modelo de datos del problema (archivo .xcdatamodeld ).
  • Eliminar de la lista de compilación
  • Asegúrese de que el modelo de datos esté incluido en la lista Copiar recursos del paquete .

Solución 2 - Core Data Magic para principiantes

Aquí, vas todo en el camino más nuevo.

  • Deje su modelo de datos tal como está en esa fuente de compilación .
  • En cada inspector de entidades de su modelo de datos, configure Codegen en Definición de clase .
  • En el Project Navigator, elimine y elimine todos los archivos Foo + CoreDataClass , y cambie el nombre de los archivos Foo + CoreDataProperties.m o .swift a algo como Foo + MyProperties .
  • En cada archivo Foo + MyProperties.m o .swift , si hay propiedades generadas por Xcode, elimínelas porque estarán en los archivos ocultos creados por Codegen .

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 ...

  • Deja tu modelo de datos en la lista de compilar fuentes.
  • En cada inspector de entidades de su modelo de datos, configure Codegen en Categoría / Extensión .
  • En el Project Navigator, elimine y elimine todos los archivos Foo + CoreDataClass.m o .swift y, para reducir la confusión futura, cambie el nombre de los archivos Foo + CoreDataProperties.m o .swift a quizás Foo.m o .swift .
  • Asegúrese de que cada archivo Foo.m o .swift contenga la definición de clase, a la que puede agregar sus propias propiedades no administradas.

(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).


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.

En primer lugar, noté que el error de construcción señalaba un marco en particular. A continuación, filtré App Target> Build Phases para ese marco. Noté que ese marco estaba presente tanto en "Vincular binarios con bibliotecas" como en "Incrustar marcos". Observando que ninguno de los marcos enumerados en "Incrustar marcos" fueron administrados por Carthage, eliminé el marco en cuestión de "Incrustar marcos". Luego reconstruí mi proyecto y todo funciona bien, incluida la funcionalidad habilitada por el marco en cuestión.


Aquí hay otra solución de trabajo: (Si está utilizando Pods)

  • Seleccione "Pods" en la barra lateral como puntos destacados en la captura de pantalla.
  • Haga clic en Build Phase. Expanda la sección "Encabezados". Hay 3 opciones Público, Privado, Proyecto.
  • Expanda Público y compruebe que hay archivos duplicados. Quitarlo ¡¡HECHO!!


Así que el problema que estaba teniendo era que accidentalmente había incluido Info.plist en la configuración del proyecto -> Crear fases -> Copiar los recursos del paquete para mi objetivo.


Básicamente, esto significa que tienes varios archivos llamados Info.plist ; Por lo general, está bien, pero accidentalmente sus archivos se configuran en la misma Membresía de destino. Así que la solución es: haga clic en cada archivo y verifique su Membresía de destino a la derecha, asegúrese de que no se superpongan.


El problema puede estar ocurriendo debido a varios archivos Plist u otros dentro de la aplicación

Solución -> Abrir destino -> Construir fases> Copiar recursos de paquete y eliminar info.plist desde allí.

Nota: Si también ha desarrollado una aplicación de reloj, tendrá que eliminar el plist del reloj y la extensión de reloj también.


En mi caso, PDFGenerator estaba produciendo un archivo info.plist, acabo de borrarlo.


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:

  1. En Xcode, vaya a Archivo-> Configuración del proyecto / área de trabajo.
  2. Cambia el sistema de compilación al sistema de construcción heredada.

Se 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 solución de problemas en esta página de ayuda de Apple Xcode .

¡Espero que esto ayude!


Estaba experimentando con Core Data. Construí un modelo de datos para un programa de lista de verificación simple y generé NSManagedObjects. Cuando compilé el proyecto obtuve el siguiente error:

error: Multiple commands produce ''/Users/myUSerName/Library/Developer/Xcode/DerivedData/myCoreDateExperiment-gzbslaqdwglkzxemijpdqmizgyzc/Build/Intermediates.noindex/ myCoreDateExperiment /Debug-iphonesimulator/ myCoreDateExperiment.build/Objects-normal/x86_64/CheckListItem+CoreDataProperties.o'': 1) Target '' myCoreDateExperiment '' (project '' myCoreDateExperiment '') has compile command for Swift source files 2) Target '' myCoreDateExperiment '' (project '' myCoreDateExperiment '') has compile command for Swift source files

El problema era que el modelo de datos (CheckList.xcdatamodeld en mi caso) estaba en la lista de "Fuentes de compilación". El proyecto se compiló limpiamente cuando lo quité de la lista.

  1. Abra el navegador de proyectos y seleccione el proyecto (primera entrada en la parte superior)
  2. Seleccione su destino de compilación en Objetivos en el panel "Proyectos y objetivos"
  3. Seleccione la opción Construir fases cerca de la parte superior
  4. Expanda la entrada "Compilar orígenes" y busque el nombre de su modelo de datos. Busque "xcdatamodeld" si tiene problemas para encontrarlo.
  5. Eliminar el modelo de la lista de compilación.
  6. Asegúrese de que el modelo de datos esté incluido en la lista "Copiar recursos del paquete". Añádelo si falta.

Intenta esto también. Xcode-> Archivo-> Configuración del proyecto-> Sistema de compilación -> Sistema de compilación heredado.


Mientras revisaba el registro de compilación, noté una advertencia:

note: Using new build system note: Planning build note: Constructing build description Build system information warning: The Copy Bundle Resources build phase contains this target''s Info.plist file ''/Users/<redacted>/Repositories/Whitesmith/optimize-ios/Carthage/Checkouts/WSStatusBarNotification/Miscellaneous/Info.plist''. (in target ''JDStatusBarNotification'')

Entonces, si ese es tu caso, entonces ve a tu objetivo:

  1. Construir fases
  2. Copiar paquete de recursos
  3. Eliminar info.plist .

Ninguna de las soluciones propuestas aquí funcionó para mí. Esto se debió particularmente a los cacaopods. Yo estaba usando Cocoapods 1.3.1 anteriormente. Simplemente actualizar a 1.5.3 no resolvió el problema de inmediato.

Los pasos que seguí fueron:

  1. Eliminar Podfile.lock
  2. Eliminar el directorio de Pods
  3. Eliminar datos derivados y limpiar
  4. Salir de Xcode
  5. Actualizar CocoaPods a 1.5.3
  6. Ejecutar pod install
  7. Abrir espacio de trabajo y construir

Pasando a Xcode 10, errores como

error: Multiple commands produce ''/Users/uesr/Library/Developer/Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist'':

Se puede resolver de la siguiente manera:

Vaya a Xcode->File->Workspace/Project Settings-> Build System -> Legacy Build System .


Pasos:

  1. Ir a Xcode File
  2. Haga clic en Configuración de WorkSpace
  3. Sistema de compilación seleccionado como sistema de compilación heredado

Prueba esto Su funcionamiento:

En Xcode, vaya a Archivo-> Configuración del proyecto / área de trabajo.

Cambia el sistema de compilación al sistema de construcción heredada.


Prueba toda esta opción, cualquiera de esta opción 3 te funcionará, seguro

Option 1: Remove all files from

Objetivo >> Construir Fases >> Compilar Fuentes

Target >> Build Phases >> Copy Bundle Resources

Option 2: Change the build system

Xcode-> Archivo-> Configuración del proyecto-> Sistema de compilación -> Sistema de compilación heredado

Option 3: remove and update existing pod

pod caché limpia PromisesObjC
vaina caché limpia PromisesSwift
cd [your_project_dir]
rm -rf Pods /
rm Podfile.lock
actualización de pod

I hope this will help you, Happy coding :-)


Seleccione su esquema (esquina superior izquierda) -> Editar esquema ... -> Crear (pestaña izquierda) -> desmarque "Encontrar dependencias implícitas"

Y después de eso, es posible que deba corregir las dependencias que sus destinos no importaron explícitamente.


Si obtiene esto del comando Ditto crea varias instancias del mismo nombre (NO en la ''copy files'' build phase ), es posible que deba cambiar el Product Module Name del Product Module Name .

  1. Haga clic en su objetivo (s) Xcode se queja de
  2. Haga clic en Build Settings
  3. Buscar el Product Module Name
  4. Cambia el nombre a algo único.

Tenemos un objetivo de vigilancia y algunos objetivos de notificación en nuestra aplicación, así que solo pongo cosas como Extension al final del nombre del módulo.

Encontré esta solución originalmente aquí: https://forums.developer.apple.com/thread/103913


Si usa CocoaPods, puede intentar desintegrar los pods e instalarlos nuevamente. Esto funciona para mi.

pod deintegrate

pod install


Tenía un problema similar pero con archivos .swiftdoc.

Tengo extensiones y objetivos de prueba unitaria en proyecto. Y tenían el mismo "Nombre del módulo del producto" (PRODUCT_MODULE_NAME en Configuración de compilación) como aplicación. Después de hacer nombres únicos, el tema desapareció.


Tuve el mismo problema, tuve una aplicación de ayuda más en la aplicación principal y copié esto en el recurso. En mi caso resuelto como:

1) Destino -> 2) Fases de compilación 2) Copiar archivo (n elementos) 3) Eliminar copiar archivo.

La aplicación Helper copió automáticamente en Xcode 10.0.


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.

Es lógico que un objetivo solo pueda tener un nombre de archivo por destino, por lo tanto, al desmarcar la casilla del miembro objetivo para el archivo que no estaba relacionado con el objetivo principal, se solucionó el problema.


Tuve un montón de Multiple commands produce advertencias, no limitadas a la duplicación info.plist en un objetivo. Incluyendo recursos localizados y archivos de cadenas, encabezados, etc.

Solución: eliminar todas las duplicaciones en la membresía de destino.


Una opción que resolvió mi problema es cambiar el sistema de compilación al sistema de compilación heredado. Por favor, siga los siguientes pasos en Xcode 10+


Uno de mis CocoaPods fue lanzado y causó el problema. Hice una actualización de pods y funcionó bien.

Creo que puede haber sido el SDK de LivePerson


Vaya a la fase de compilación del proyecto y elimine info.plist de los orígenes de compilación. Se eliminará ese problema y el proyecto estará activo de nuevo.


Yo usando Cartago y Xcode 10.

Mi solución es -> Proyecto -> Objetivo -> 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. Así que copia los marcos al lugar correcto y no tiene que agregarlos a la pestaña General.

Nota: si no está configurado -> en Configuraciones de compilación -> Rutas de búsqueda -> Rutas de búsqueda de Framework -> establezca la ruta al Framework u agregado con Carthage ... por ejemplo. "$ (PROJECT_DIR) / Cartago / Construir / iOS"


Mi problema era que Xcode 10 se ejecutaba en Mojave, y mientras intentaba ejecutar pruebas unitarias que escribí antes de actualizar a XCode 10.

En mi caso, tuve este problema mientras ejecutaba mi objetivo TestTarget . Para resolverlo, tuve que:

  • Elimine una de las dependencias de destino (en TestTarget > build phases > Target Dependencies )

ya que tenía otros dos objetivos además de mi TestTarget y ambos estaban ejecutando el mismo script y creando / copiando archivos en un punto determinado.

Y eso entró en conflicto con lo que se mencionó en las Notas de lanzamiento del sistema de compilación para Xcode 10 here :

Es un error que cualquier archivo individual en la compilación sea producido por más de un comando de compilación. Por ejemplo, si dos destinos declaran el mismo archivo de salida de una fase de script de shell, factorice la declaración del archivo de salida en un solo destino.

Nueva ACTUALIZACIÓN después de actualizar de Xcode 10.1 a 10.2

Un problema similar apareció de nuevo después de actualizar a Xcode 10.2. Tengo varios objetivos en por proyecto: Target1 y Target2 , y resolví este problema por:

  • navegando a Edit Scheme > Build y
  • eliminar uno de los Target1 Test que no se Target2 : desmarque la casilla de verificación de Target1 en Test desde que supe que Target2 importó Target1

También para tener en cuenta aquí, la casilla de verificación de Target2 debe permanecer marcada en Test


Buscar y eliminar archivos duplicados que se producen a partir de múltiples comandos.

Aquí, se debe eliminar un archivo Info.plist adicional (en mi caso fue Contents.json )

error: Multiple commands produce ''/Users/uesr/Library/Developer/Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist''


Vaya a Xcode -> Archivo -> Configuración del área de trabajo. Encontrarás una ventana emergente como.

Seleccione " Legacy Build System " de la etiqueta Build System. Presione en " Hecho "

Nota: - Asegúrese de borrar su proyecto con " cmd + shift + alt + k " y " Datos derivados "

Construye tu proyecto funcionará encanto :)