Rápido. No se pudo construir el módulo objetivo-c 'Alamofire'

117

Instalación fresca del submódulo de vainilla de Alamofire, usando XCode6 y siguiendo las instrucciones a T. Algo aquí simplemente no encaja bien. El error que recibo es "No se pudo construir el módulo objetivo-c" alamofire "en la importación de alamofire. Aquí hay una captura de pantalla del error que recibo:

ingrese la descripción de la imagen aquí Y mi configuración:

ingrese la descripción de la imagen aquí

stophinal
fuente
Creo que tienes que instalar alamofire según las instrucciones dadas aquí github.com/Alamofire/Alamofire
Saurabh Prajapati
¿hiciste que funcionara? funcionó para mí y después de otro "Construir y ejecutar" se detuvo y recibí el mismo mensaje de error ... :(
Georg
2
Un colega acaba de recibir el mismo mensaje de error, pero la razón resultó ser que todavía estaba usando Xcode 6.1 (es la era 6.3 en la que estamos mientras escribo esto). Diciendo esto solo para que conste, si alguien más lucha con lo mismo.
villapossu

Respuestas:

103

Cuando esto suceda, primero cree los marcos por separado. En tu caso:

  • Cambiar el esquema a Alamofire
  • Construir ( ⌘B )
  • Vuelve a tu esquema
  • correr
Daniel Larsson
fuente
3
Gran respuesta; ¡No me di cuenta de cambiar el esquema de compilación para corregir este tipo de errores!
tehprofessor
1
Gracias por la ayuda.
Tidane
5
Si tiene que construir el esquema por separado, probablemente signifique que no tiene el marco configurado como una dependencia de destino en la configuración de compilación de su aplicación correctamente. Haga esto y no debería tener que construirlo manualmente.
Charles A.
Voté esto a favor, ya que funciona en Xcode. Desafortunadamente, no funcionará si se construye desde la línea de comandos o si se construye para la versión.
Eneko Alonso
Esto solucionó un problema que tenía con GoogleApiClient / Drive. La compilación tendría éxito, pero tan pronto como se hicieran cambios en el archivo, Xcode se quejaría de la importación.
Nick Alexander
53

Vaya a Developer / Xcode / DerivedData y elimine la carpeta de su marco. (O simplemente elimine DerivedData)

Si tiene una compilación de su aplicación en un simulador en ejecución, deberá eliminar la aplicación allí.

Luego limpia y construye

Sean Howell
fuente
Esto también funcionó para mí, pero luego encuentro varios comandos producidos, este enlace ayudará: stackoverflow.com/questions/50718018/… .
Bhimbim
32

Esto siempre funciona para mí:

  1. Salir de Xcode
  2. Eliminar ~/Library/Developer/Xcode/DerivedData
  3. Cambie al esquema de su marco y construya ⌘B
  4. Cambie al esquema de su aplicación y compile ⌘B
Sam Soffes
fuente
22

Eliminar la carpeta DerivedData y limpiar y compilar el proyecto resolvió este problema para mí.

Isuru
fuente
15

Intente lo siguiente en este orden y uno de los pasos debería funcionar.

  1. Cmd+ B- Construye el espacio de trabajo y posiblemente debería construir el objetivo o módulo que queremos.

  2. Cmd+ Ky luego Cmd+ B- Limpiar y luego construir

  3. Cmd+ Shift+ Option+ Ky Cmd+ B- Carpeta de construcción limpia

  4. Salga de Xcode, elimine los datos derivados, inicie Xcode y Cmd+ Shift+ Option+ Kluego Cmd+B

Esta es la forma más limpia posible de limpiar los datos derivados y otras cachés de Xcode.

ravisekahrp
fuente
Para aquellos que utilizan icloud sincronización (Por ejemplo, tener el proyecto en carpeta Documentos por lo que sería fácil sincronización de múltiples Mac), cheque de archivo con el nombre: XXX 2.swift. Busque y elimine todos ellos, luego ejecute pod install.
John Pang
12

Si recibe este error al intentar importar un marco dinámico, asegúrese de que el marco esté incluido en las dependencias de destino del destino.

Project > "Target" > Build Phases > Target Dependencies

David James
fuente
Además, si está trabajando con otro marco desarrollado en el mismo espacio de trabajo, asegúrese de agregar el Proyecto como una biblioteca vinculada en lugar del archivo del marco; de lo contrario, el marco no será visible como una dependencia de destino.
Dávid Pásztor
11

Construir limpio funcionó para mí.

  1. Construye limpio para Alamo
  2. Construir limpio para HTTPDemo
Nick Mitchell
fuente
6

Comente la importación y todo el código que la usa, compile, ejecute y luego descomente. Funcionó para mí ...

xytor
fuente
1

Resolví este problema en uno de mis proyectos híbridos Objective-C / Swift.

En su archivo de puente de Objective-C, agregue la siguiente línea:

#import <Alamofire/Alamofire.h>

Eddie Lau
fuente
0

Cualquier pod que no se haya podido compilar también puede causar este error. (en mi caso, no se pudo construir un pod antiguo que usaba una sintaxis obsoleta).

Puede intentar pod updateactualizar sus pods a la última versión y ver cómo va.

Gang Fang
fuente
Para aquellos que utilizan icloud sincronización (Por ejemplo, tener el proyecto en carpeta Documentos por lo que sería fácil sincronización de múltiples Mac), cheque de archivo con el nombre: XXX 2.swift. Busque y elimine todos ellos, luego ejecute pod install.
John Pang
0

Solución loca para este problema: la única solución que funciona para mí

Cree un nuevo esquema y agregue el marco que muestra el error. En este caso 'Alamofire'. Ejecute todos esos esquemas.

Una vez que compile todos los esquemas, el objetivo de su proyecto también funcionará bien.

Puede parecer una solución loca, pero la única solución que funciona para mí.

Saranjith
fuente
0

Si las arquitecturas válidas del proyecto Alamofire no contienen las arquitecturas válidas de su proyecto, aparece el error "No se pudo construir el módulo objetivo-c ...".

Agregue estas arquitecturas i386 x86_64 arm64 arm64e armv7 armv7s armv6 armv64 a las ' Arquitecturas válidas ' del proyecto Alamofire en la ' Configuración de construcción '.

Cree el mismo dispositivo de destino para ambos proyectos. Por ejemplo, al principio, cree el proyecto Alamofire para iPhone 8 (13.2) y luego cree su proyecto para el mismo simulador.

Si la construcción del proyecto Alamofire toma muy poco tiempo, eso significa alrededor de 0.5 segundos, significa que el proyecto Alamofire ocurre un error porque la arquitectura del simulador seleccionado no está en las Arquitecturas Válidas .

Yusuf Demirci
fuente