Cocoapods + No se puede cargar el módulo subyacente para 'x'

89

Estoy ejecutando XCode 7, Swift 2.0, iOS 9.

Quiero instalar Alamofire en mi proyecto usando Cocoapods. He hecho lo siguiente:

gem install cocoapods

pod setup

pod init

Podfile actualizado a:

# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'
use_frameworks!

target 'JSONeg' do

  pod 'Alamofire', :branch => 'swift-2'

end

Luego instalé la vaina:

pod install

Y agregué lo siguiente a ViewController.swift

import Alamofire

Esto genera el siguiente error:

Cannot load underlying module for 'Alamofire'

Probé con otra cápsula y generó el mismo error, así que supongo que el problema está en la instalación de Cocoapods. Cualquier ayuda será muy apreciada.


fuente
compruebe que ha importado los marcos necesarios
user3722523

Respuestas:

209

Esto parece ser un error en XCode. Tuve el mismo problema y, como se describe en los comentarios de otra respuesta a esta pregunta, la construcción del proyecto hizo que el error desapareciera.

vichle
fuente
4
Casi vengo aquí al comienzo de cualquier proyecto ... Gracias amigo
SoliQuiD
2
La maldita solución todavía funciona ... XCode debería ser de código abierto.
Siddharth
24

Vaya a Producto> Construir y resolverá el problema: ingrese la descripción de la imagen aquí

Zulqarnain
fuente
14

Esto funcionó para mí:

  1. Cierra tu proyecto
  2. En la terminal, vaya al directorio de su proyecto
  3. Agregue este comando: actualización de pod
  4. Después de eso, se actualizarán todos sus pods. Solo ejecuta tu proyecto
Alex Kolovatov
fuente
10

No se puede cargar el módulo subyacente para 'x' para SWIFT:

Cómo solucionar el problema:

paso: 1 Cree un nuevo proyecto y compile y ejecute correctamente sin instalar el pod.

paso: 2 Después de construir y ejecutar el proyecto con éxito, ahora intente instalar el pod y luego intente importarrealm, alamofire, gráficos, etc. , funcionará como un encanto.

Caso de falla -> Nuevo proyecto -> Agregar (reino, alamofire, gráficos, etc.) a través de cocoapods sin construir primero -> abrir espacio de trabajo de Xcode -> construir y ejecutar

Caso de éxito -> Nuevo proyecto -> compilar y ejecutar -> agregar (reino, alamofire, gráficos, etc.) a través de cocoapods -> abrir el espacio de trabajo de Xcode -> compilar y ejecutar de nuevo = éxito

Arun
fuente
No puede considerar "iniciar un nuevo proyecto" cada vez que vea este error cuando el 99% de las veces ocurre en un proyecto existente. ¿Qué tal simplemente probar la 'actualización de pod'
Renexandro
9

Una vez que haya instalado Alamofire pod.

Paso 1 debe abrir su proyecto haciendo doble clic en el archivo your_project_name.xcworkspace.

Paso.2 Vaya a la configuración del proyecto -> Fases de construcción -> Vincular binarios con bibliotecas -> Agregar marco "Alamofire.framework"

¡¡Eso es!!

Ahora puedes importar el módulo

Ajay Reddy
fuente
8

Qué ha ayudado en mi caso:

1) Cierre el proyecto y XCode

2) En el comando de repetición del terminal

> pod install

3) Abra el proyecto

(Si no ayuda, intente eliminar Pod / carpeta antes de reinstalar)

Andrey
fuente
1
Además, elimine la Pod/carpeta antes de reinstalar
nikans
7

Probé todas estas soluciones: reconstrucción, limpieza, reinstalación de los módulos, etc., pero en mi caso, fue un problema cambiar mi configuración de 'Construir solo arquitectura activa' a 'No', debido a una AR biblioteca que estaba usando. Lo cambié de nuevo a 'Sí' y se solucionó. Espero que esto ayude a alguien.

Jacobo Koenig
fuente
Cierto, ese fue el principal problema, tienes que limpiar con command-shift-K
Hola Soy Edu Feliz Navidad
Tuve que configurarlo de SÍ a NO. Extraño.
Mundi
7

Tuve que hacer un Producto> (Opt Click) Limpiar carpeta de compilación ... luego ejecuté nuevamente y el problema desapareció.

shokaveli
fuente
5

Estoy en Xcode versión 8.3.1 (8E1000a). De alguna manera, este problema ocurre cuando quería instalar el módulo SwiftCloudant. Probablemente no cerré mi Xcode cuando ejecuté la instalación de pod.

Arreglé esto agregando manualmente el SwiftCloudant.framework en la pestaña Objetivos> General.

Objetivos> General> Bibliotecas y marcos vinculados

khongks
fuente
Después de que todo lo demás fallara, esto realmente funcionó. Muchas gracias.
AmirZ
4

En mi caso, fue una razón diferente, fueron las Otras banderas rápidas en la configuración de compilación de mis objetivos, tuve que agregar la bandera heredada en la parte superior.

Abd Al-rhman Taher Badary
fuente
3

¿Has comprobado si tienes una versión reciente de Cocoapods? Puede actualizar actualizando todas sus gemas:

sudo gem update

o simplemente reinstale Cocoapods:

 [sudo] gem install cocoapods

Si eso no ayuda, eche un vistazo también a: CocoaPods: compilación para iOS 9 / Swift 2 con Xcode-beta

donde se muestra cómo cambiar fácilmente la versión de las herramientas de la línea de comandos en la pestaña "Ubicaciones" de las preferencias de Xcode, y cambiar "Herramientas de la línea de comandos" a Xcode 7.0.

Glenn
fuente
Sí, fue la versión más reciente. Sin embargo, acabo de descubrir el problema. Construí el proyecto y, de repente, funcionó.
Ok, por favor responder a su propia pregunta con la solución has calculado para que otros puedan solucionar ese problema cuando se encuentran con que,
Glenn
3

Sigue los pasos:

1.Instalar pods 2.Abrir workSpace 3.Ejecutar / construir su aplicación 4.Luego puede importar el marco

Agustín A
fuente
2

No se pudo cargar el módulo subyacente

  1. Compruebe la ruta de marco: Build Settings -> Framework Search Paths.
  2. Asegúrese de que la ruta a un marco no contenga espacio.
  3. Si la ruta contiene una variable, busque el valor de las variables buscando el nombre de la variable en su Build Settings.
  4. Asegúrese de que el valor de las variables no contenga espacios.
  5. Si la ruta contiene espacios, cambie el nombre de los directorios que contienen espacios.
  6. Limpiar y construir el proyecto.

En resumen, asegúrese de que su <Project Root>ruta no contenga espacios. De lo contrario, cambie el nombre del dirque contiene espacios, luego limpie y construya su proyecto.

Por ejemplo, si esta es la raíz de su proyecto:, /Users/handsomeboy/ios app/Fancy App/cambie el nombre de la carpeta que tiene espacios. Una forma de deshacerse del espacio: cambiar 'ios app'a'ios_app'

Markus Wu
fuente
2

La configuración GCC_SYMBOLS_PRIVATE_EXTERN(que se muestra como "Símbolos ocultos por defecto" en la configuración de destino) YESen el marco que está vinculado me ayudó a deshacerme de este error. Pasé 2 días para descubrir esto, espero que ayude a alguien :)

Alejandro
fuente
2

En esta URL: https://github.com/Alamofire/Alamofire/issues/441

Uno de los usuarios escribió esto:

La limpieza no funcionó, la reinstalación desde las cápsulas no funcionó, la instalación desde Carthage no funcionó, la instalación manual no funcionó. Finalmente lo hice funcionar después de Build for Testing.

Así que probé esto (xcode Versión 9.2 (9C40b)):

ingrese la descripción de la imagen aquí

Funcionó para mí. Error desaparecido ahora.

Nota: Mi pod no era Alamofire, así que supongo que funcionará para todos los Pod.

EFE
fuente
2

Otro escenario posible: asegúrese de que el objetivo de prueba esté definido dentro del alcance del objetivo principal (no fuera de él)

p.ej

target 'MyApp' do
  pod 'GoogleAnalytics', '~> 3.1'

  target 'MyAppTests' do
    inherit! :search_paths
    pod 'OCMock', '~> 2.0.1'
  end
end

Si en cambio se ve así:

target 'MyApp' do
  pod 'GoogleAnalytics', '~> 3.1'
end

target 'MyAppTests' do
  inherit! :search_paths
  pod 'OCMock', '~> 2.0.1'
end

entonces también recibirá este error.

Me han robado
fuente
1

El mismo problema para mí. Lo resolví eliminando la versión de Alamofire en el archivo de pod.

Archivo de pod como

# Uncomment this line to define a global platform for your project
platform :ios, "8.0"

# Uncomment this line if you're using Swift
use_frameworks!

target 'GettingSwift' do
 pod 'Alamofire'
end

target 'GettingSwiftTests' do
end
Purushottam Padhya
fuente
1

En mi caso:

1. Línea de comentario de //import Pod_Module

2. Vaya a Proyecto -> Limpiar o use la tecla de acceso directo (Comando + Shift + K)

2. Cierre su proyecto

3. En la terminal, vaya al directorio de su proyecto

4. Ejecute > pod install

5. Abra el .xcworkspacearchivo y ¡constrúyelo!

6. Descomente la línea deimport Pod_Module

Reza Dehnavi
fuente
0

Al instalar CocoaPods, asegúrese de especificar ios 9.0 borrando el #. Por lo tanto, # platform :ios, '9.0'debería ser platform :ios, '9.0'Entonces, si el error vuelve a aparecer, simplemente compile y ejecute. Después de compilar y ejecutar, el error no debería volver.

Además, esto puede ocurrir si tiene más de una versión de Xcode instalada en su computadora. Salga (no solo cierre) todas las versiones de Xcode primero.


fuente
0

prueba Build For testing funciona para mí

Tawfik Bouabid
fuente
0

Si ha verificado que sus pods se han instalado correctamente, entonces el error puede estar asociado con los datos derivados restantes de antes de instalar los pods. Puede borrar sus datos derivados yendo a File -> Workspace Settings... -> Derived Data. Eliminar la carpeta de datos derivados asociada con su aplicación y limpiar su compilación debería resolver el problema.

Brian Li
fuente