tutorial the programming language for español developer apple ios xcode swift

ios - the - Obteniendo el error "No hay tal módulo" usando Xcode, pero el marco está ahí



xcode for windows (30)

Actualmente estoy codificando en Swift, y tengo un error:

No existe tal módulo Social

Pero no entiendo, porque el módulo está en mi proyecto, declarado en "Marcos y bibliotecas vinculadas" y en "Binarios incrustados".

El marco está en Objective-C, así que escribí un encabezado de puente para él.

Por favor, ¿cómo puedo hacer que Xcode reconozca el marco?


¡Asegúrese de que la opción Find implicit Dependencies en las opciones de compilación del esquema esté activada!


Acabo de eliminar mi cocoapod. Luego, hice una instalación de pod para eliminarlo. Luego, lo agregué nuevamente a mi podfile y lo reinstalé. Eso lo hizo funcionar. No estoy seguro de por qué.


Arreglé esto con

Objetivos -> General -> Marcos vinculados y bibliotecas

Agregue el marco que debe estar en la parte superior de la carpeta del área de Workspace . Dolor en el culo.


Asegúrese de que el nombre de sus configuraciones en los subproyectos coincida con el del proyecto "principal". Si el nombre de la configuración no coincide exactamente (distingue entre mayúsculas y minúsculas), Xcode cancelará el proceso de archivo y mostrará el error "No existe tal módulo ..."

Es decir, si tiene un proyecto "principal" con una configuración llamada "AppStore", debe asegurarse de que todos los subproyectos también tengan este nombre de configuración.

Ver mis capturas de pantalla adjuntas.


Compare esta captura de pantalla con su configuración de compilación. Puede que esto funcione. Vaya a la ruta de búsqueda del marco:


Descubrí que las Import Paths en la Build Settings eran incorrectas para un módulo personalizado (MySQL). Después de señalar eso en la dirección correcta, el mensaje desapareció.


En General => Marcos y bibliotecas vinculadas, agregué mi ./Pods/Pods.xcodeproj y funcionó.


En Xcode 10.1, la solución para mí fue cambiar el sistema de compilación en la Configuración del espacio de trabajo en el menú Archivo. Está configurado de forma predeterminada en Nuevo sistema de compilación , lo cambió a Sistema de compilación heredado y eso funcionó.


En caso de que sea viernes por la tarde o en cualquier momento después de la 1 a. M .:

Abrir xcodeproj lugar de xcworkspace causará un error como este ...


En mi caso, después de muchos intentos de descubrir qué estaba haciendo mal al importar un marco, finalmente descubrí que el marco en sí era el problema. Si no obtiene su marco de una fuente confiable, debe inspeccionar el marco y asegurarse de que contenga una carpeta Módulos con un archivo module.modulemap dentro de él. Si module.modulemap no está presente, obtendrá el error "No existe tal módulo ''MyFramework''".

Si a la carpeta Módulos le falta la carpeta "MyFramework.swiftmodule", se encontrará el marco, pero Xcode no sabrá sobre su contenido, por lo que obtendrá diferentes errores.


En mi caso, el problema era simplemente que algunos de los proyectos que usaban el framework tenían una versión iOS de destino de implementación anterior a la versión iOS del framework de destino de implementación. Una vez que cambié la versión de iOS de destino de implementación del marco, el error desapareció.


En mi caso, la aplicación IPHONEOS_DEPLOYMENT_TARGET se configuró en 9.3, mientras que en mi marco recién creado se configuró en 10.2

El solucionador de dependencias implícitas ignoró mi nuevo marco porque los requisitos de la plataforma de destino son más altos que los requisitos de la aplicación.

Después de ajustar el objetivo de implementación de iOS del marco para que coincida con el objetivo de implementación de mi aplicación, el marco se compiló y se vinculó correctamente.


Estaba experimentando este problema también. La solución para mí fue que los esquemas de archivo entre los dos proyectos no coincidían. Tengo un xcworkspace con un proyecto de marco y un proyecto de aplicación. El problema era que en el esquema de archivo para mi aplicación, estaba usando una configuración de compilación diferente a la que usaba el marco para su esquema de archivo. Configuré ambas configuraciones de compilación para liberar, y eso solucionó el problema.


Estaba recibiendo el mismo error para

import Firebase

Pero luego noté que no estaba agregando pod a la sección de destino principal, sino solo agregando a los objetivos Test y TestUI en Podfile.

Con el comando

pod init

para un proyecto xcode swift, se genera el siguiente Podfile

# Uncomment the next line to define a global platform for your project # platform :ios, ''9.0'' target ''MyApp'' do # Comment the next line if you''re not using Swift and don''t want to use dynamic frameworks use_frameworks! # Pods for MyApp target ''MyAppTests'' do inherit! :search_paths # Pods for testing end target ''MyAppUITests'' do inherit! :search_paths # Pods for testing end end

Por lo tanto, debe asegurarse de agregar uno a cualquier marcador de posición apropiado.


Estaba recibiendo este problema porque establecí el objetivo incorrecto en el podfile (el proyecto en sí mismo en lugar de la sección UITests).


Esto es lo que finalmente funcionó para mí. Es bastante lamentable que tuviera que hacer todo esto, pero esto fue lo único que pude encontrar que funcionó.

Después de asegurarse de que la biblioteca figuraba en el linked framework and libraries . Si no está allí, puede hacer clic en + y, con suerte, ver su marco / pod en la lista.

Haga clic en su proyecto en el icono del esquema (vea la imagen a continuación)

Entonces debería ver su marco de enfoque en la lista:

Haga clic en Manage Schemes.

Entonces deberías ver algo como esto:

Marque la box de su marco, haga clic en AutoCreate Schemes now y luego close .

Luego intente importar su marco / pod nuevamente.

A mi me funciono.


Lo que funcionó para mí es this solución a otra pregunta. Cerrar Xcode y reabrir el proyecto como espacio de trabajo.
Vaya a la carpeta de su proyecto y abra el archivo .xcodeworkspace .
Una vez que abra el espacio de trabajo (en lugar del proyecto), los Pods deberían aparecer como proyecto de nivel superior en Project Navigator.


Los siguientes pasos me funcionaron.

  1. Salir de xcode
  2. Ejecute "pod update" en la terminal
  3. Abra .xcworkspace y compile nuevamente.

No estoy muy seguro de por qué se ignora la respuesta de Martin R en los comentarios a la pregunta:

Asegúrese de haber intentado simplemente omitir la importación del marco ya que ya se agregó con el encabezado de puente .

Espero que esto ayude


No estoy seguro de por qué sucede esto, pero una forma de resolver su problema es ir a la configuración de compilación y definir las Rutas de búsqueda del marco a una carpeta que contenga los marcos en cuestión. Si los marcos se colocan en el directorio de su proyecto, simplemente configure la ruta de búsqueda del marco en $(SRCROOT) y $(SRCROOT) como recursivo.


Ok, cómo se resolvió el mismo problema para mí fue establecer la ubicación de los datos derivados en relación con el directorio del espacio de trabajo en lugar de mantenerlo predeterminado. Ir a las preferencias en xcode. Vaya a la pestaña de ubicaciones en las preferencias y configure los Datos derivados en Relativo. Espero eso ayude.


Para mí, Build Active Architecture Only se configuró en Sí para la configuración seleccionada. Esto hizo el truco:

Seleccione "Pods" en el navegador de proyectos izquierdo> Seleccione "Configuración de compilación"> Construir arquitectura activa solo para no


Si está construyendo para una plataforma como tvOS, asegúrese de tener un simulador de Apple TV (es decir, coincidente) seleccionado.

Construir una aplicación tvOS con un simulador de iOS seleccionado me dio exactamente este error. Pasé la mayor parte de una hora buscando todo tipo de problemas de compilación ... doh.


Solo por completar con otra posibilidad, este error puede ocurrir cuando la opción "Buscar dependencias implícitas" está desactivada. Vaya a Editar esquema -> Construir.

Luego verifique estas opciones.


Suponiendo que el Framework realmente está allí y en la ruta, etc., elimine el directorio ~ / Library / Developer / Xcode / DerivedData / ModuleCache (y limpie el proyecto y elimine los datos derivados específicos del proyecto para una buena medida).

Cuando realiza la limpieza estándar, el directorio ModuleCache no se reconstruye.


También encontré el mismo error hace unos días. Así es como resolví el problema:

El error es "módulo no encontrado"

  • Cree Podfile en su directorio de proyecto raíz
  • Instalar cocoapods (un administrador de dependencias para proyectos Swift e iOS)
  • Ejecute la instalación de pod
  • Vaya a Configuración de compilación del proyecto:

    • Encuentre el encabezado de puente Objective-c en el compilador Swift - Generación de código (si no encuentra el compilador Swift aquí, probablemente agregue un nuevo archivo Swift al proyecto)
    • Arrastre y suelte el archivo de encabezado de la biblioteca desde el lado izquierdo al encabezado de puente (vea la imagen adjunta)
  • Cree un nuevo archivo de encabezado de puente: por ejemplo, TestProject-Bridging-Header.h y colóquelo en Swift Compiler → Objective-C Generated Interface Header Name (ref, vea la imagen de arriba)

  • En el archivo TestProject-Bridging-Header.h, escriba #import "Mixpanel / Mixpanel.h"
  • En su archivo Swift, el código debe ser: Importar Mixpanel (es decir, nombre de la biblioteca)

Eso es todo.


Tuve el mismo problema al usar Cocoapods y Swift . No noté las siguientes líneas en el Podfile:

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

Entonces, todo lo que tuve que hacer fue cambiarlo a:

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

... y funcionó :)


Tuve este problema al desarrollar un Pod personalizado. Descubrí que solo necesitaba especificar la dependencia en mi Procfile:

Pod::Spec.new do |s| # ... other declarations s.dependency ''Alamofire'', ''~> 4.3'' end


Ya había instalado pods. Build funcionó sin problemas cuando construí la aplicación en mi dispositivo, pero el archivo no funcionó. Acabo de correr:

pod install

no se instalaron nuevos pods, solo el archivo .xcodeproj se regeneró y el archivo comenzó a funcionar


Cocoapods el mismo error cuando agregué un par de marcos usando Cocoapods . Si estamos usando Pods en nuestro proyecto, deberíamos usar xcodeworkspace lugar de xcodeproject . Para ejecutar el proyecto a través de xcodebuild, -workspace <workspacename> parámetro -workspace <workspacename> en el comando xcodebuild y funcionó perfectamente.