Ionic-framework: ios **FALLO DE CONSTRUCCIÓN ** símbolos duplicados para la arquitectura x86_64

Creado en 20 sept. 2017  ·  19Comentarios  ·  Fuente: ionic-team/ionic-framework

Versión iónica: (marque uno con "x")
[ ] 1.x (para problemas con Ionic 1.x, utilice https://github.com/ionic-team/ionic-v1)
[ ] 2.x
[x] 3.x

Estoy enviando un... (marque uno con "x")
[x] informe de errores
[ ] solicitud de función
[ ] solicitud de soporte => No envíe solicitudes de soporte aquí, utilice uno de estos canales: https://forum.ionicframework.com/ o http://ionicworldwide.herokuapp.com/

Comportamiento actual:
Después de un período de tiempo indefinido, mi aplicación ya no se puede compilar para dispositivos ios.

Comportamiento esperado:
Debería poder compilarse para dispositivos ios.

Pasos para reproducir:
No tengo idea de cómo sucede esto.

Código relacionado:
Esto es lo que obtengo al intentar compilar para ios

> cordova build ios
✖ Running command - failed!
[ERROR] An error occurred while running cordova build ios (exit code 1):


        (truncated) ... licate symbol _OBJC_IVAR_$_UNIHTTPStringResponse._body in:

        /Users/Alexandre/Library/Developer/Xcode/DerivedData/ShOroom-egyzqumtqhesmlcsgwngozvucwss/Build/Intermediates/ShOroom.build/Debug-iphonesimulator/ShOroom.build/Objects-normal/x86_64/UNIHTTPStringResponse-6AE7BF574F7FD89D.o

        /Users/Alexandre/Library/Developer/Xcode/DerivedData/ShOroom-egyzqumtqhesmlcsgwngozvucwss/Build/Intermediates/ShOroom.build/Debug-iphonesimulator/ShOroom.build/Objects-normal/x86_64/UNIHTTPStringResponse-ACD8B349DA1366AA.o
        duplicate symbol _OBJC_CLASS_$_UNIHTTPStringResponse in:

        /Users/Alexandre/Library/Developer/Xcode/DerivedData/ShOroom-egyzqumtqhesmlcsgwngozvucwss/Build/Intermediates/ShOroom.build/Debug-iphonesimulator/ShOroom.build/Objects-normal/x86_64/UNIHTTPStringResponse-6AE7BF574F7FD89D.o

        /Users/Alexandre/Library/Developer/Xcode/DerivedData/ShOroom-egyzqumtqhesmlcsgwngozvucwss/Build/Intermediates/ShOroom.build/Debug-iphonesimulator/ShOroom.build/Objects-normal/x86_64/UNIHTTPStringResponse-ACD8B349DA1366AA.o
        duplicate symbol _OBJC_METACLASS_$_UNIHTTPStringResponse in:

        /Users/Alexandre/Library/Developer/Xcode/DerivedData/ShOroom-egyzqumtqhesmlcsgwngozvucwss/Build/Intermediates/ShOroom.build/Debug-iphonesimulator/ShOroom.build/Objects-normal/x86_64/UNIHTTPStringResponse-6AE7BF574F7FD89D.o

        /Users/Alexandre/Library/Developer/Xcode/DerivedData/ShOroom-egyzqumtqhesmlcsgwngozvucwss/Build/Intermediates/ShOroom.build/Debug-iphonesimulator/ShOroom.build/Objects-normal/x86_64/UNIHTTPStringResponse-ACD8B349DA1366AA.o
        duplicate symbol _OBJC_IVAR_$_UNIJsonNode._array in:

        /Users/Alexandre/Library/Developer/Xcode/DerivedData/ShOroom-egyzqumtqhesmlcsgwngozvucwss/Build/Intermediates/ShOroom.build/Debug-iphonesimulator/ShOroom.build/Objects-normal/x86_64/UNIJsonNode-7600CC35AA339D64.o

        /Users/Alexandre/Library/Developer/Xcode/DerivedData/ShOroom-egyzqumtqhesmlcsgwngozvucwss/Build/Intermediates/ShOroom.build/Debug-iphonesimulator/ShOroom.build/Objects-normal/x86_64/UNIJsonNode-B9FEAECE639D8883.o
        duplicate symbol _OBJC_IVAR_$_UNIJsonNode._object in:

        /Users/Alexandre/Library/Developer/Xcode/DerivedData/ShOroom-egyzqumtqhesmlcsgwngozvucwss/Build/Intermediates/ShOroom.build/Debug-iphonesimulator/ShOroom.build/Objects-normal/x86_64/UNIJsonNode-7600CC35AA339D64.o

        /Users/Alexandre/Library/Developer/Xcode/DerivedData/ShOroom-egyzqumtqhesmlcsgwngozvucwss/Build/Intermediates/ShOroom.build/Debug-iphonesimulator/ShOroom.build/Objects-normal/x86_64/UNIJsonNode-B9FEAECE639D8883.o
        duplicate symbol _OBJC_CLASS_$_UNIJsonNode in:

        /Users/Alexandre/Library/Developer/Xcode/DerivedData/ShOroom-egyzqumtqhesmlcsgwngozvucwss/Build/Intermediates/ShOroom.build/Debug-iphonesimulator/ShOroom.build/Objects-normal/x86_64/UNIJsonNode-7600CC35AA339D64.o

        /Users/Alexandre/Library/Developer/Xcode/DerivedData/ShOroom-egyzqumtqhesmlcsgwngozvucwss/Build/Intermediates/ShOroom.build/Debug-iphonesimulator/ShOroom.build/Objects-normal/x86_64/UNIJsonNode-B9FEAECE639D8883.o
        duplicate symbol _OBJC_METACLASS_$_UNIJsonNode in:

        /Users/Alexandre/Library/Developer/Xcode/DerivedData/ShOroom-egyzqumtqhesmlcsgwngozvucwss/Build/Intermediates/ShOroom.build/Debug-iphonesimulator/ShOroom.build/Objects-normal/x86_64/UNIJsonNode-7600CC35AA339D64.o

        /Users/Alexandre/Library/Developer/Xcode/DerivedData/ShOroom-egyzqumtqhesmlcsgwngozvucwss/Build/Intermediates/ShOroom.build/Debug-iphonesimulator/ShOroom.build/Objects-normal/x86_64/UNIJsonNode-B9FEAECE639D8883.o
        duplicate symbol _OBJC_CLASS_$_CDVLogger in:

        /Users/Alexandre/Library/Developer/Xcode/DerivedData/ShOroom-egyzqumtqhesmlcsgwngozvucwss/Build/Intermediates/ShOroom.build/Debug-iphonesimulator/ShOroom.build/Objects-normal/x86_64/CDVLogger.o

        /Applications/XAMPP/xamppfiles/htdocs/LVDLV/clone_new/lvdlv/platforms/ios/build/emulator/libCordova.a(CDVLogger.o)
        duplicate symbol _OBJC_METACLASS_$_CDVLogger in:

        /Users/Alexandre/Library/Developer/Xcode/DerivedData/ShOroom-egyzqumtqhesmlcsgwngozvucwss/Build/Intermediates/ShOroom.build/Debug-iphonesimulator/ShOroom.build/Objects-normal/x86_64/CDVLogger.o

        /Applications/XAMPP/xamppfiles/htdocs/LVDLV/clone_new/lvdlv/platforms/ios/build/emulator/libCordova.a(CDVLogger.o)
        ld: 260 duplicate symbols for architecture x86_64
        clang: error: linker command failed with exit code 1 (use -v to see invocation)

        ** BUILD FAILED **


        The following build commands failed:
                Ld build/emulator/ShOroom.app/ShOroom normal x86_64
        (1 failure)
        Error: Error code 65 for command: xcodebuild with args: 
        -xcconfig,/Applications/XAMPP/xamppfiles/htdocs/LVDLV/clone_new/lvdlv/platforms/ios/cordova/build-debug.xcconfig,-workspace,ShOroom.xcworkspace,-scheme,ShOroom,-configuration,Debug,-sdk,iphonesimulator,-destination,platform=iOS 
        Simulator,name=iPhone 
        SE,build,CONFIGURATION_BUILD_DIR=/Applications/XAMPP/xamppfiles/htdocs/LVDLV/clone_new/lvdlv/platforms/ios/build/emulator,SHARED_PRECOMPS_DIR=/Applications/XAMPP/xamppfiles/htdocs/LVDLV/clone_new/lvdlv/platforms/ios/build/sharedpch

Otra información:
Es la segunda vez que me sucede esto, después de la primera vez que tuve que crear un proyecto iónico desde cero e integrar lentamente lo que había en el proyecto original y construir para ios después de cada iteración para detectar el problema. Unas horas más tarde y el código copiado en su totalidad, de alguna manera pude compilar para ios.
Intenté compilar para ios esta mañana y sigo teniendo el mismo problema [consulte la sección de código relacionado] .
También intenté eliminar mis directorios /plugins y /node_modules pero no sirvió de nada.
No pude encontrar nada en la web que me ayude tampoco ...

Información iónica: (ejecutar ionic info desde un indicador de terminal/cmd y pegar la salida a continuación):

cli packages:
    @ionic/cli-utils  : 1.10.2
    ionic (Ionic CLI) : 3.10.3

global packages:
    Cordova CLI : 7.0.1

local packages:
    @ionic/app-scripts : 2.1.4
    Cordova Platforms  : android 6.2.3 ios 4.4.0
    Ionic Framework    : ionic-angular 3.6.1

System:
    ios-deploy : 1.9.1
    ios-sim    : 6.0.0
    Node       : v6.11.0
    npm        : 3.10.10
    OS         : OS X El Capitan
    Xcode      : Xcode 8.2.1 Build version 8C1002
reply

Comentario más útil

Intente eliminar la consola del complemento e intente nuevamente, tuve los mismos problemas. Pero tengo cordova ios 4.5

El problema es CDVLogger que ya esta en cordova cli 7

CC @kensodemann

Todos 19 comentarios

¡Hola! ¡Gracias por abrir un problema con nosotros!

No puedo duplicar tu error, lo cual tiene mucho sentido porque, como dices, generalmente funciona y luego se detiene misteriosamente. Entonces... comencemos con algunas versiones de las cosas:

Estoy usando Xcode 9, ¿qué versión estás usando?
Estoy usando la versión $ cordova-ios 4.4.0 , que tiene el mismo aspecto que el que estás usando...

Hmmmm... voy a probar un par de cosas

Hola @kensodemann , actualmente estoy en Xcode versión 8.2.1

¡Gracias!

Intente eliminar la consola del complemento e intente nuevamente, tuve los mismos problemas. Pero tengo cordova ios 4.5

El problema es CDVLogger que ya esta en cordova cli 7

CC @kensodemann

Lo dupliqué y lo arreglé, aunque no estoy completamente seguro de que este sea tu problema, pero vale la pena intentarlo.

Primero, eliminé mis directorios node_modules y platform/ios e hice npm i y ionic build , que terminó instalando la versión $ cordova-ios 4.5.0 , que causó exactamente el mismo problema que usted tiene.

Mi suposición (y es solo una suposición) es que de alguna manera tienes cordova-ios 4.5.0 a pesar de que ionic info está reportando 4.4.0 (raro, pero no tengo una mejor explicación en este momento) .

Así que hice esto:

  1. En package.json , cambie "cordova-ios": "^4.4.0" a "cordova-ios": "4.4.0" (sin '^')
  2. En config.xml , cambie <engine name="ios" spec="^4.4.0" /> a <engine name="ios" spec="4.4.0" />
  3. rm -rf node_modules/ platforms/ios/
  4. npm i
  5. ionic cordova build ios
  6. * CONSTRUCCIÓN EXITOSA *

Entonces, al menos para mí, la clave de la solución fue fijar la versión cordova-ios a 4.4.0 en lugar de usar ^4.4.0 , que llevará las actualizaciones a la versión secundaria.

Por supuesto, esto significa que cuando sea el momento de actualizar cordova-ios , tendrá que hacerlo manualmente, pero probablemente quiera ese control de todos modos.

De todos modos, pruébalo y avísame si te funciona.

@kensodemann ¡ Exactamente el problema!

@kensodemann ¡ Hurra, ahora puedo construir, gracias!

Aquí está la cosa, antes de hacer ioinc build Entré en mi archivo package.json y esto es lo que encontré "cordova-ios": "^4.4.0", y no ^4.5.0 .

De todos modos, seguí tus instrucciones, ejecuté rm -rf node_modules/ platform/ios luego npm i y npm build .

Ese último comando luego cambió mi "cordova-ios": "^4.4.0", a "cordova-ios": "^4.5.0", .
Para seguir sus instrucciones lo más cerca posible, lo cambié a su sugerencia "cordova-ios": "4.4.0", (lo mismo para config.xml ).

Desinstalé mi node_modules y platform/ios una vez más y ejecuté npm i y luego ionic cordova build ios y funcionó .

Sorprendentemente, después de hacerlo, todavía me encuentro con "cordova-ios": "^4.4.0", en mi package.json y <engine name="ios" spec="^4.4.0" /> en mi config.xml

Sorprendentemente, después de hacerlo, todavía me encontré con "cordova-ios": "^4.4.0", en mi paquete.json y en mi config.xml

Supongo que Cordova hace eso. Personalmente, no soy fanático de las herramientas que interfieren con mi configuración... :(

Voy a cerrar esto entonces. Me alegro de que te esté funcionando ahora.

@nuno tiene razón, el complemento de la consola es la causa raíz, que se ha incluido en cordova 7, por lo que simplemente eliminar el complemento soluciona el problema.

@kensodemann
No funcionó para mí. tengo

Ld build/emulator/MyApp.app/MyApp normal x86_64
cd /Aplicaciones/IonicApps/BabyName/plataformas/ios
exportar IPHONEOS_DEPLOYMENT_TARGET=9.0
export PATH="/Aplicaciones/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/Library/Frameworks/Python.framework /Versions/3.5/bin:/Users/saikrishna/Softwares/android-sdks/platform-tools:/Users/saikrishna/Softwares/android-sdks/tools:/usr/local/bin:/usr/bin:/bin: /usr/sbin:/sbin"
/Aplicaciones/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10. 3.sdk -L/Aplicaciones/IonicApps/BabyName/plataformas/ios/build/emulator -F/Aplicaciones/IonicApps/BabyName/plataformas/ios/build/emulator -FMyApp/Plugins/cordova-plugin-facebook4 -FMyApp/Plugins/ cordova-plugin-googleplus -filelist /Users/eupherntechnology/Library/Developer/Xcode/DerivedData/MyApp-gddohggkprehdkdqznpxmbtrwfzt/Build/Intermediates/MyApp.build/Debug-iphonesimulator/MyApp.build/Objects-normal/x86_64/MyApp.LinkFileList - Xlinker -rpath -Xlinker @ruta_ejecutable/Frameworks -mios-simulator-version-min=9.0 -dead_strip -Xlinker -object_path_lto -Xlinker /Users/eupherntechnology/Library/Developer/Xcode/DerivedData/MyApp-gddohggkprehdkdqznpxmbtrwfzt/Build/Intermediates/MyApp. build/Debug-iphonesimulator/MyApp.build/Objects-normal/x86_64/MyApp_lto.o -Xlinker -no_de duplicado -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime -ObjC -Xlinker -sectcreate -Xlinker __TEXT -Xlinker __entitlements -Xlinker /Users/eupherntechnology/Library/Developer/Xcode/DerivedData/MyApp-gddohggkprehdkdqznpxmbtrwfzt/Build /Intermediates/MyApp.build/Debug-iphonesimulator/MyApp.build/MyApp.app.xcent /Applications/IonicApps/BabyName/platforms/ios/build/emulator/libCordova.a -weak_framework AudioToolbox -framework StoreKit -framework Bolts -framework FBSDKCoreKit -marco FBSDKLoginKit -marco FBSDKShareKit -marco CoreLocation -marco GoogleAppUtilities -marco GoogleAuthUtilities -marco GoogleNetworkingUtilities -marco GoogleSignIn -marco GoogleSymbolUtilities -marco GoogleUtilities -weak_framework AddressBook -weak_framework CoreText -weak_framework SafariServices -weak_framework Security -weak_framework SystemConfiguration -weak-lz -weak-lz -weak-lz -weak_framework WebKit -weak_framework Social -weak_framework MessageUI -Xlinker -d ependency_info -Xlinker /Users/eupherntechnology/Library/Developer/Xcode/DerivedData/MyApp-gddohggkprehdkdqznpxmbtrwfzt/Build/Intermediates/MyApp.build/Debug-iphonesimulator/MyApp.build/Objects-normal/x86_64/MyApp_dependency_info.dat -o /Aplicaciones/ IonicApps/BabyName/plataformas/ios/build/emulator/MyApp.app/MyApp
símbolo duplicado _OBJC_CLASS_$_CDVLogger en:
/Users/eupherntechnology/Library/Developer/Xcode/DerivedData/MyApp-gddohggkprehdkdqznpxmbtrwfzt/Build/Intermediates/MyApp.build/Debug-iphonesimulator/MyApp.build/Objects-normal/x86_64/CDVLogger.o
/Aplicaciones/IonicApps/BabyName/platforms/ios/build/emulator/libCordova.a(CDVLogger.o)
símbolo duplicado _OBJC_METACLASS_$_CDVLogger en:
/Users/eupherntechnology/Library/Developer/Xcode/DerivedData/MyApp-gddohggkprehdkdqznpxmbtrwfzt/Build/Intermediates/MyApp.build/Debug-iphonesimulator/MyApp.build/Objects-normal/x86_64/CDVLogger.o
/Aplicaciones/IonicApps/BabyName/platforms/ios/build/emulator/libCordova.a(CDVLogger.o)
ld: 2 símbolos duplicados para arquitectura x86_64
clang: error: el comando del enlazador falló con el código de salida 1 (use -v para ver la invocación)

* CONSTRUCCIÓN FALLIDA *

Los siguientes comandos de compilación fallaron:
Ld build/emulator/MyApp.app/MyApp normal x86_64
(1 fracaso)
Error: código de error 65 para el comando: xcodebuild con argumentos: -xcconfig,/Applications/IonicApps/BabyName/platforms/ios/cordova/build-debug.xcconfig,-workspace,MyApp.xcworkspace,-scheme,MyApp,-configuration,Debug ,-sdk,iphonesimulator,-destination,platform=iOS Simulator,name=iPhone SE,build,CONFIGURATION_BUILD_DIR=/Applications/IonicApps/BabyName/platforms/ios/build/emulator,SHARED_PRECOMPS_DIR=/Applications/IonicApps/BabyName/platforms/ios /construir/sharedpch

Ambiente

paquetes cli: (/Aplicaciones/IonicApps/BabyName/node_modules)

@ionic/cli-utils  : 1.19.0
ionic (Ionic CLI) : 3.19.0

paquetes globales:

cordova (Cordova CLI) : 7.1.0 
Gulp CLI              : CLI version 3.9.1 Local version 3.9.1

paquetes locales:

Cordova Platforms : ios 4.5.4
Ionic Framework   : ionic1 1.3.3

Sistema:

ios-deploy : 1.9.1 
ios-sim    : 6.1.2 
Node       : v6.10.3
npm        : 2.15.12 
OS         : macOS Sierra
Xcode      : Xcode 8.3.3 Build version 8E3004b

Variables de entorno:

ANDROID_HOME : /Users/saikrishna/Softwares/android-sdks

Varios:

backend : pro

@surajitdeveloper -

¿Está seguro de que no está instalando el complemento de la consola?
¿Desmontaste todo y volviste a instalar desde cero?

Si su repositorio está en línea, proporcione un enlace y puedo echarle un vistazo rápido. Sin embargo, en general, esto no es un problema de Ionic Framework sino un problema con el uso de complementos incompatibles.

@kensodemann tiene razón, todo se debe a que los complementos son antiguos o incompatibles.

Para mí, resultó ser cordova-plugin-inappbrowser . En mi config.xml, todavía había una referencia a un repositorio de git que ya no existía. Primero no me di cuenta en el proceso de compilación, pero de repente, noté que la compilación se quejaba de no encontrar el repositorio para el complemento. La solución fue bastante simple: poner la línea en el config.xml en comentario y reinstalar el complemento. Y iOS estaba construyendo de nuevo :)

Entonces, si puede ayudar, verifique su registro de compilación después de ejecutar ionic cordova build ios ; puede contener errores sobre los complementos. Y verifique todos sus complementos: simplemente reinstalarlos podría no ayudar, es posible que también deba actualizar las versiones.

La solución de @nuno funciona para mí, solo ejecuta:
cordova plugin rm cordova-plugin-console
cordova platform rm ios
cordova platform add ios
cordova build ios
Estoy usando cordova-ios versión 4.5.4.

Hola a todos,

Tuve el mismo problema y traté de ejecutar la solución publicada por @didinj y no funciona porque después de esto aparece un error para los scripts cuando ejecuto la plataforma rm y luego construyo ios, agrego nuevamente scripts de aplicaciones pero el problema era este: npm install @ionic / app-scripts@latest --save-dev porque instalé la versión 3.1.7 de scripts y esto genera el mismo error principal, luego ejecuto y nuevamente app-scripts pero con una versión menor para app-scripts y ahora funciona bien con 3.0.0: npm install @ionic / [email protected] --save-dev

También estoy usando cordova-ios versión 4.5.4 y las últimas versiones de todo en macOS High Sierra 10.13.2 con Xcode 9.2

paquetes cli: (/usr/local/lib/node_modules)

@ionic/cli-utils  : 1.19.0
ionic (Ionic CLI) : 3.19.0

paquetes globales:

cordova (Cordova CLI) : 8.0.0

paquetes locales:

@ionic/app-scripts : 3.0.0
Cordova Platforms  : android 6.2.3 ios 4.5.4
Ionic Framework    : ionic-angular 3.9.2

Sistema:

ios-deploy : 1.9.2
Node       : v8.0.0
npm        : 5.0.0
OS         : macOS High Sierra
Xcode      : Xcode 9.2 Build version 9C40b

Espero que con esto pueda ayudar a otros usuarios.

Gracias a todos.

¡funciona para mi! gracias @kensodemann ! 😃

Según https://github.com/apache/cordova-plugin-console

Ya no se está trabajando en este complemento, ya que la funcionalidad proporcionada por este complemento ahora se incluye en cordova-ios 4.5.0 o superior, y el soporte ya está integrado en cordova-windows> 5.0.0. Debe eliminar este complemento de sus aplicaciones.

¿Alguien todavía tiene este problema? desde una nueva aplicación de Gresh, no puedo usar este complemento ...

La solución de @nuno también me funciona.

ionic cordova plugin remove cordova-plugin-console

  • Presione el comando anterior para obtener el éxito de compilación de ios.

¡Gracias por el problema! Este problema se está bloqueando para evitar comentarios que no son relevantes para el problema original. Si esto sigue siendo un problema con la última versión de Ionic, cree un nuevo problema y asegúrese de que la plantilla esté completa.

¿Fue útil esta página
0 / 5 - 0 calificaciones