iphone - todos - 6 símbolos duplicados para arquitectura i386
duplicate symbols for architecture x86_64 (9)
duplicate symbol _OBJC_METACLASS_$_SBJsonParser in:
/Users/Gaditek/Library/Developer/Xcode/DerivedData/DietBet-gyhoyhmdrobtqregldjyixtgmize/Build/Intermediates/DietBet.build/Debug-iphonesimulator/DietBet.build/Objects-normal/i386/SBJsonParser.o
/Users/Gaditek/Desktop/AliMaisamProjects/Dietbet/DietBet/libfacebook_ios_sdk.a(SBJsonParser.o)
duplicate symbol _OBJC_CLASS_$_SBJsonParser in:
/Users/Gaditek/Library/Developer/Xcode/DerivedData/DietBet-gyhoyhmdrobtqregldjyixtgmize/Build/Intermediates/DietBet.build/Debug-iphonesimulator/DietBet.build/Objects-normal/i386/SBJsonParser.o
/Users/Gaditek/Desktop/AliMaisamProjects/Dietbet/DietBet/libfacebook_ios_sdk.a(SBJsonParser.o)
duplicate symbol _OBJC_IVAR_$_SBJsonWriter.sortKeys in:
/Users/Gaditek/Library/Developer/Xcode/DerivedData/DietBet-gyhoyhmdrobtqregldjyixtgmize/Build/Intermediates/DietBet.build/Debug-iphonesimulator/DietBet.build/Objects-normal/i386/SBJsonWriter.o
/Users/Gaditek/Desktop/AliMaisamProjects/Dietbet/DietBet/libfacebook_ios_sdk.a(SBJsonWriter.o)
duplicate symbol _OBJC_IVAR_$_SBJsonWriter.humanReadable in:
/Users/Gaditek/Library/Developer/Xcode/DerivedData/DietBet-gyhoyhmdrobtqregldjyixtgmize/Build/Intermediates/DietBet.build/Debug-iphonesimulator/DietBet.build/Objects-normal/i386/SBJsonWriter.o
/Users/Gaditek/Desktop/AliMaisamProjects/Dietbet/DietBet/libfacebook_ios_sdk.a(SBJsonWriter.o)
duplicate symbol _OBJC_METACLASS_$_SBJsonWriter in:
/Users/Gaditek/Library/Developer/Xcode/DerivedData/DietBet-gyhoyhmdrobtqregldjyixtgmize/Build/Intermediates/DietBet.build/Debug-iphonesimulator/DietBet.build/Objects-normal/i386/SBJsonWriter.o
/Users/Gaditek/Desktop/AliMaisamProjects/Dietbet/DietBet/libfacebook_ios_sdk.a(SBJsonWriter.o)
duplicate symbol _OBJC_CLASS_$_SBJsonWriter in:
/Users/Gaditek/Library/Developer/Xcode/DerivedData/DietBet-gyhoyhmdrobtqregldjyixtgmize/Build/Intermediates/DietBet.build/Debug-iphonesimulator/DietBet.build/Objects-normal/i386/SBJsonWriter.o
/Users/Gaditek/Desktop/AliMaisamProjects/Dietbet/DietBet/libfacebook_ios_sdk.a(SBJsonWriter.o)
ld: 6 duplicate symbols for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
¿Dime cómo solucionar este problema?
Como puede ver, el enlazador se queja de que SBJsonWriter
y SBJsonParser
están definidos en libfacebook_ios_sdk.a y como archivos individuales en su proyecto.
Realmente no puede resolver el problema, excepto eliminar los archivos individuales de su destino.
El problema es que los desarrolladores de libfacebook_ios_sdk.a pensaron que sería una buena idea usar el framework json (sin importar los choques con el código utilizado en la aplicación host). Este es un problema común con los SDK en iOS.
Debe haber agregado SBJsonParser.h / .m dos veces en el proyecto.
Parece que probablemente tenga algún archivo .h / .m incluido dos veces, como dos veces incluido un API / biblioteca de terceros, o que haya creado un archivo nuevo cuyo nombre sea exactamente el mismo que el archivo ya disponible en el proyecto. Revisa si tienes algún archivo que esté duplicado en tu carpeta de proyectos.
Algo que a menudo ayuda si nada más funciona es abrir su archivo .pbxcodeproj con un editor de texto y grep para el nombre de la clase que está subiendo en el registro de fallas en Xcode. Puede haber dos líneas duplicadas: elimine una de ellas.
El problema probablemente se deba a un error tipográfico cuando se incluye el encabezado. Compruebe para que el archivo de encabezado (.h) esté incluido y no el archivo de implementación (.m).
Este era el problema para mí
También puedes:
- Copie archivos
.h
depods
de conflicto. - Elimine estos
pods
conflicto depodfile
. - Copie estos archivos
.h
para proyectar. - Cambie el nombre en
#import
</.h>
a".h"
de archivos.h
copiados. - Haz que la
pod install
y bulid.
El truco es que su código no tiene ningún error porque los archivos .h
importan, pero los archivos .o
vinculan correctamente.
He resuelto problemas por favor, sigue el paso.
- Ir al objetivo de la aplicación
- Compilar fuentes
- Eliminar el archivo duplicado usando (-).
si importa cualquiera de su archivo .h dos veces sucede.
Por ejemplo, si importa cualquier archivo .h, tanto ViewController.h como ... el archivo ViewController.m sucede.
Si, sobre todo, no resuelves tu problema, comprueba si declaras una constante en dos archivos diferentes (es decir, comprueba si tienes dos archivos iguales (.h & .m). Los archivos duplicados no deberían estar allí en tu proyecto.