¡No puedo deshacerme de este error!
He intentado todo tipo de cosas, como borrar Datos Derivados (Preferencias-> Ubicaciones-> hacer clic en la flecha gris para abrir la carpeta Datos Derivados en Finder-> hacer clic derecho, mover a la papelera), limpiar el proyecto (CMD + Shift + K o Producto -> Limpiar), actualizando carthage y dependencias, verificó otras respuestas en StackOverflow (principalmente ajustes en Build Settings / Phases) y reclonó la aplicación desde github, etc.
El mismo proyecto funciona en las computadoras de mis colaboradores.
EDITAR: A partir de la respuesta actual mejor calificada, pude depurar un poco más ... Sin embargo, todavía no estoy seguro de cómo solucionarlo. ¿Parece que tengo algo en el proyecto dos veces? ¡Miré y no encontré nada apareciendo dos veces!
Respuestas:
Hoy me enfrentaba al mismo problema en xcode 8 versión 8.3.2
haga clic con el botón derecho en el problema -> revelar en el registro
entonces puede verificar qué está causando ese problema
fuente
Tal vez instaló un archivo de pod y todavía está intentando compilar a partir del
.xcodeproj
archivo en lugar de.xcworkspace
fuente
.xcodeproj
durante más de un año ... ¡Algo así de simple!lo único que funcionó para mí fue correr
pod deintegrate
ypod install
fuente
¿Intentaste una limpieza? cmd + shift + k
fuente
Bien ... Así que esto es lo que resolvió mi problema ...
en el archivo delegado de la aplicación:
Ya había importado Credentials.h en el archivo DarkSkyAPI.m en mi proyecto. ¡Al comentar la importación adicional, el error desapareció!
Algunas cosas para mencionar y tal vez ayudar a alguien en el futuro. La respuesta de @ umairqureshi_6 me ayudó en el proceso, pero no lo resolvió. Me llevó a donde pude buscar la información. Seguí viendo los archivos AppDelegate y DarkSkyAPI apareciendo en el registro de errores y la información que estaba extrayendo del archivo Credentials estaba causando el error. Sabía que tenía que estar en uno de estos 3 archivos, así que inmediatamente verifiqué las importaciones, porque recordé haber escuchado que el .h lleva todas las importaciones de su archivo .m. ¡Auge!
fuente
Sé que la pregunta ya ha sido respondida. Pero si esto ayuda a alguien a ahorrar algo de tiempo: tuve el mismo error. Revisé todo para encontrar un error muy pequeño y estúpido de mi parte. Importé un archivo personalizado ManagedObject de datos centrales en un controlador de vista de mi proyecto. Importé accidentalmente el archivo .m en lugar del archivo .h que estaba causando el símbolo duplicado en el error de arquitectura (el comando del vinculador falló) porque mi archivo .m de la clase de propiedades importa el archivo .h de la clase de datos principales y, por lo tanto, causa una importación duplicada.
¡Así que compruebe si ha importado los archivos correctos antes de probar varias soluciones!
fuente
Arriba se mencionan muchas soluciones. Nadie trabajó para mí (pero primero intente arriba).
Seleccione Proyecto -> Seleccionar destino -> Marco y bibliotecas vinculados -> Agregar todas las bibliotecas de pod. (eliminar si existen en binarios incrustados)
Ahora elimínelos de la carpeta Framework en el explorador de archivos izquierdo de xcode.
Esto resolvió mi problema.
fuente
Seleccione el proyecto-> Fase de compilación-> Vincular binario con bibliotecas y agregue todas las bibliotecas de pod.
fuente
Tuve el mismo problema al usar Carthage para las dependencias.
Simplemente vaya a Seleccionar proyecto -> Configuración de compilación -> Buscar habilitar código de bits -> Si está seleccionado en Sí, seleccione No.
Eso me resolvió este problema.
fuente
Tuve el mismo problema.
La causa fue que declaré la misma variable global en 2 archivos . Entonces mostraba el mismo error diciendo 2 símbolos duplicados .
La solución fue eliminar esas variables.
fuente
Para cualquiera que tenga este problema con el marco Flurry. Esto es lo que solucionó mi problema. Para mí, el problema era que había importado los siguientes archivos pero nunca los usé. "libFlurryTVOS_9.2.3" "libFlurryWatch_9.2.3"
Así que todo lo que tuve que hacer fue ir a la configuración de destino del proyecto y eliminar estos 2 archivos de la sección "Marco vinculado y bibliotecas" y el problema se resolvió.
fuente
En mi caso, el motivo del error es la biblioteca que se vinculó dos veces.
Lo uso
react-native
para que se vincule automáticamente usandoreact-native link
y manualmente en xcode.fuente
Asegúrese de que la
Find Implicit Dependencies
casilla de verificación esté marcada.(Producto -> Esquema -> Editar esquema -> Generar -> Buscar dependencias implícitas)
fuente
Estaba probando el marco Sparkle con CocoaPods.
Lamentablemente, puse
pod 'Sparkle', '~> 1.21'
PodFile en el lugar equivocado. Lo puse debajo de Pruebas (para pruebas unitarias).Una vez colocado en el lugar correcto en PodFile, todo está bien.
fuente
¡Solo tenía que hacer
import Foundation
!¡Estaba usando Kitura para el lado del servidor Swift y seguía olvidándome de esto!
fuente
Aquí está mi problema y solución:
Eliminé dos archivos del código fuente usando el árbol de fuentes (controlador de versión). Después de aplicar el diff, que contiene las dos clases que eliminé, Xcode no lo agregó automáticamente. Entonces obtuve un error de vinculador.
Agregué manualmente los archivos, haciendo clic derecho en el nombre del grupo y seleccione "Agregar archivos a". Ahora mi error se resolvió.
Si alguien se enfrentó al error del vinculador con respecto al archivo de clase, intente agregarlo manualmente.
fuente
No tuve este problema cuando construí y ejecuté mi propio dispositivo. Solo tuve este problema con los simuladores. Simplemente reinicié mi computadora y la ejecuté. Funcionó.
fuente
En mi caso, he cambiado el
Target
nombre en mi, porPodfile
lo que se crea el mismo error para mí.Simplemente vaya a
project-> Build Phase->Link Binary with libraries
Eliminar lo antiguoFrameWorks
haciendo clic enminus button(-)
Y limpiar y ejecutar nuevamente. Es trabajo para mí.Eliminar no deseados
.framework
.fuente
Las otras respuestas no me funcionaron, así que aquí comparto mi solución en caso de que pueda ayudar a alguien más:
Mi problema fue que estaba configurando el Podfile de mi XCode-Project para la plataforma incorrecta. Cambiar "plataforma: ios" al comienzo de mi Podfile a "plataforma: macos" funcionó para deshacerme del error.
fuente
Yo tuve el mismo problema. Si está revisando cualquier proyecto de github, entonces en lugar de usar git clone, use git lfs clone, ya que a veces, algunos archivos grandes no se clonan correctamente usando solo git. Además, asegúrese de que su código de bits esté desactivado.
fuente
Para mí, el archivo de bloqueo de gemas especificaba una versión anterior de cocoapods que la que había instalado. Tuve que volver a ramificarme y correr en
bundle exec pod install
lugar depod install
fuente
Parece que el problema es diferente para la mayoría de nosotros y el mensaje de error tiene información decente. En mi caso, el Deployment Target se estableció en
10.13
laexport MACOSX_DEPLOYMENT_TARGET=10.13
línea, pero yo estaba corriendo10.14
. Así que tuve que cambiar mi destino de implementación a10.14
en General> Información de implementación para que los símbolos relacionados con ITLibrary volvieran a estar disponibles.fuente
En mi caso, estaba produciendo varios productos del mismo proyecto. Para uno de los productos, el
main.m
archivo importó un archivo de encabezado de otra carpeta del mismo proyecto. Pero ese archivo no se incluyó en "Fuentes cumplidas" en "Fase de compilación". Esto provocó un error del vinculador.Después de comparar cuidadosamente la configuración de "Fases de compilación" para un producto que podría construirse con éxito, me di cuenta de que el
.m
archivo del encabezado debe incluirse en la lista de "Fuente compilada". Mi problema se resolvió después de agregar ese archivo. Adjuntar una imagen para mayor claridad. Se tuvo que agregar el archivo resaltado.fuente
Tuve los mismos problemas al hacer una compilación del proyecto Ionic 1.
Pude resolver el problema después de eliminar el archivo CDVLogger.hy CDVLogger.m
fuente
Ok, tuve el mismo problema hoy y comencé a buscarlo en Google, cuando encontré este hilo. No he terminado de leer la pregunta cuando se me ocurrió la respuesta: declaré una clase con un constructor vacío
Luego pensé por qué no terminar (no estoy seguro de si estoy en lo cierto con la selección de palabras aquí, pero a quién le importa) el constructor de mi clase con llaves (
{}
). Así que lo hice:El problema eliminado, mi código comenzó a funcionar perfectamente.
Lo sé, la buena práctica es investigar el problema y encontrar la causa real, pero esto funcionó para mí.
fuente