El comando del enlazador falló con el código de salida 1 (use -v para ver la invocación), Xcode 8, Swift 3

¡No puedo deshacerme de este error!

He intentado con todo tipo de cosas, como eliminar datos derivados (Preferencias-> Ubicaciones-> hacer clic en la flecha gris para abrir la carpeta de Datos derivados en Buscador-> clic derecho, mover a la papelera), limpiar el proyecto (CMD + Shift + K o Producto -> Limpiar), actualizando carthage y dependencias, verificando otras respuestas en StackOverflow (sobre todo ajustes en Configuraciones de comstackción / Fases), y vuelvo a clonar la aplicación desde github, etc.

El mismo proyecto funciona en las computadoras de mis colaboradores.

EDITAR: A partir de la respuesta mejor calificada actual, pude depurar un poco más … Todavía no estoy seguro de cómo solucionarlo. Parece que tengo algo en el proyecto dos veces? ¡Miré y no puedo encontrar nada que aparezca dos veces!

Aquí hay una foto del registro:

Estaba enfrentando el mismo problema hoy en xcode 8 versión 8.3.2

haga clic derecho sobre el tema -> revele en el registro

enter image description here

entonces puedes verificar qué está causando ese problema

enter image description here

Tal vez instaló un archivo pod y todavía está tratando de construir desde el archivo .xcodeproj lugar de .xcworkspace

lo único que funcionó para mí fue ejecutar la pod deintegrate y la pod install pod deintegrate

¿Has intentado limpiar? cmd + shift + k

De acuerdo … Así que aquí está lo que resolvió mi problema …

en el archivo delegado de la aplicación:

 #import "AppDelegate.h" #import "DarkSkyAPI.h" //#import "Credentials.h" 

Ya había importado Credentials.h en el archivo DarkSkyAPI.m de mi proyecto. Comentando la importación adicional, ¡el error desapareció!

Algunas cosas para mencionar y tal vez ayudar a cualquier persona en el futuro. La respuesta de @umairqureshi_6 me ayudó a lo largo del proceso, pero no lo resolvió. Llevó a donde pude desenterrar la información. Seguí viendo los archivos de AppDelegate y DarkSkyAPI apareciendo en el registro de errores y la información que estaba sacando del archivo de credenciales causaba el error. Sabía que tenía que estar en uno de estos 3 archivos, así que de inmediato revisé las importaciones, porque recordé haber escuchado que .h lleva todas las importaciones desde su archivo .m. ¡Auge!

I k ahora 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 de Core Data ManagedObject en un controlador de vista de mi proyecto. Accidentalmente importé el archivo .m en lugar del archivo .h que causaba el símbolo duplicado en el error de architecture (el comando del enlazador falló) porque mi archivo .m de clase de propiedades importa el archivo .h de la clase de datos básicos y, por lo tanto, causa la importación duplicada.

Así que solo verifique si ha importado los archivos correctos antes de probar múltiples soluciones.!

¡Solo tenía que import Foundation !

¡Estaba usando Kitura para el lado del servidor de Swift y seguía olvidando esto!

Aquí está mi problema y solución:

Quité dos archivos del código fuente usando el árbol de código fuente (controlador de versión). Después de aplicar el diff, que contiene las dos clases que eliminé, Xcode no lo agregó automáticamente. Así que recibí el error del enlazador.

Agregué manualmente los archivos, haciendo clic derecho en el nombre del grupo y seleccionando “Agregar archivos a”. Ahora mi error se resolvió.

Si alguien enfrentó el error del enlazador con respecto al archivo de clase, intente agregarlo manualmente.

Muchas soluciones se mencionaron anteriormente. Nadie trabajó para mí (pero intente arriba primero).

Seleccione Proyecto -> Seleccionar destino -> Marco enlazado y Bibliotecas -> Agregar todas las bibliotecas de pod. (eliminar si existen en binarios incrustados)

Ahora elimínelos de la carpeta de Framework en el explorador de archivos izquierdo de xcode.

Esto resolvió mi problema.

Seleccione el proyecto-> Fase de comstackción-> Enlace binario con bibliotecas y agregue todas las bibliotecas de pod.

Tuve el mismo problema al usar Carthage para las dependencias.

Simplemente vaya a Seleccionar proyecto -> Configuraciones de comstackción -> Buscar para habilitar código de bit -> Si está seleccionado Sí, seleccione No.

Eso resolvió este problema para mí.

Tuve el mismo problema

La causa fue que declare la misma variable global en 2 archivos . Entonces estaba mostrando el mismo error diciendo 2 símbolos duplicados .

La solución fue eliminar esas variables.

Ok, tuve el mismo problema hoy y comencé a buscar en Google, cuando me encontré con este hilo. No terminé de leer la pregunta cuando la respuesta me vino a la mente: Declaré una clase con un constructor vacío

 class MyClass{ MyClass(); void func_one(){ // code } void func_two(){ // code } ~MyClass(){ cout << "Deleting object" << endl; } }; 

Entonces pensé en por qué no terminar (no estoy seguro si estoy correcto con la selección de palabras aquí, pero a quién le importa) el constructor de mi clase con llaves ( {} ). Así que lo hice:

 class MyClass{ MyClass(){} void func_one(){ // code } void func_two(){ // code } ~MyClass(){ cout << "Deleting object" << endl; } }; 

El problema se eliminó, mi código comenzó a funcionar perfectamente.

Lo sé, la buena práctica es investigar el problema y encontrar la verdadera causa, pero esto funcionó para mí.

Intereting Posts