No hay tal módulo ‘RestKit’ con cocoapods y swift

Estoy teniendo este problema con un nuevo proyecto. Este problema ocurre tanto con RestKit como con Facebook SDK. Extrañamente SwiftyJSON funciona bien. Creé un nuevo proyecto rápido y un Podfile con:

source 'https://github.com/CocoaPods/Specs.git' use_frameworks! target 'test-fb-swift4' do pod "FBSDKCoreKit" pod 'SwiftyJSON', '~> 2.1' pod 'RestKit', :inhibit_warnings => true end target 'test-fb-swift4Tests' do end 

Después de crear ese archivo, ejecuto la instalación de pod y vuelvo a abrir xcode con el archivo test-fb-swift4.xcworkspace.

Ahora dentro de mi controlador pongo un RestKit de importación y obtengo el error No such module ‘RestKit’. He intentado muchas formas diferentes de formatear el Podfile incluso en versiones muy simples como:

 source 'https://github.com/CocoaPods/Specs.git' pod 'RestKit' 

He intentado agregar y eliminar el use_frameworks, con y sin el objective. Con y sin el: inhibit_warnings.

Estoy ejecutando CocoaPods 0.36.4 y probé la última comstackción de rc, el mismo trato. La versión de Objective-C de otro proyecto funciona bien. Este es mi primer proyecto usando Swift y estoy atascado en este tema.

Yo tuve el mismo problema. Mi solución fue abrir el proyecto utilizando .xcworkspace , no el .xcodeproj . .xcodeproj solo contiene el proyecto principal; .xcworkspace incluye todo, incluido Restkit.

Tuve un problema similar. No con RestKit específicamente, sino inicialmente con HockeySDK. Probé todo, incluso quitando y reinstalando pods, actualizando cocoapods y actualizando pods, eliminando datos derivados, limpiando el proyecto, etc.

Luego noté que cada pod era un problema para mí. Después de continuar buscando en temas relacionados, finalmente descubrí que bajo:

• Target> Build Fases> Link Binary con bibliotecas

Tenía un marco de Pods fuera de lugar (probablemente de una configuración anterior de Pods o bash de instalación).

Objetivo/> Fases de comstackción> Enlace binario con bibliotecas”></p>
<p>  Después de eliminarlo, el problema desapareció.  Me di cuenta de que las personas parecían experimentar problemas similares en: </p>
<p>  • Proyecto> Información> Configuraciones </p>
<p>  también, donde el marco de Pods se estaba mapeando incorrectamente.  Entonces, si el primero no funciona para usted, también puede verificar el segundo. </p>
</div>
</li><!-- #comment-## -->
<div class=

La segunda opción funcionó para mí. En mi Proyecto> Información> Configuraciones, tengo 2 objectives para mi proyecto: el ordinario (Quizz) y el de prueba (QuizzTests): enter image description here

Para el habitual, la configuración se estableció con “Pods.debug” o “Pods.release”, pero no había ninguno para QuizzTests. Tan pronto como complete la configuración para QuizzTests, todo funcionó para mí.

Una cosa que podría hacer muy fácilmente para rectificar este problema es asegurarse de que XCode esté completamente apagado al instalar los pods. Cada vez que tengo este problema, vuelvo y descubro que XCode todavía estaba abierto a pesar de que cerré el proyecto. ¡Espero que ayude!

Para mí, la desintegración y la reinstalación de pods arreglaron el problema.

primero

 pod deintegrate 

y entonces

 pod install 

Otra posible solución que encontré fue agregar use_frameworks! a tu Podfile si aún no lo has hecho y luego ejecuta la pod install nuevamente. Fue un problema con Firebase cuando agregué solo ese pod.

Otra razón de este problema pueden ser los valores incorrectos en la configuración de comstackción del objective: crear solo architecture activa. Los ajustes como en la imagen funcionan para mí. Configuraciones correctas

Para mí, “Buscar dependencias implícitas” no estaba marcado. y fue el problema. Funcionó bien una vez que lo checked .

La ruta: Edit Scheme > Build > Find implicit Dependencies

enter image description here

En mi caso, solo tenía que marcar la siguiente opción en Xcode Encontrar implícitas Dependencias enter image description here

No sé exactamente por qué, pero esto fue suficiente para mí, espero que tú también :).

Tuve un problema similar al agregar Fabric a mi proyecto. Tenía objectives múltiples (Release y Dev). Lanzaría No Such Module para import Fabric . Lo que funcionó para mí fue ir a Project> Build Phases> Link Binary con Libraries y simplemente marcar el estado de ambos pod framework como Opcional . enter image description here

Después de horas de probar cosas, descubrí la causa. Mi objective principal de la aplicación tenía 4 configuraciones de comstackción (depuración, versión, interna, externa). Sin embargo, mis frameworks (proyectos secundarios) NO tienen interno, externo, ya que son personalizados añadidos. Una vez que agregué internos / externos a mis proyectos marco, todos archivaron bien.

En mi caso, al principio solo tenía un objective en xcode. pod install . Unos meses más tarde, tuve que hacer otro objective, así que tenía objectives múltiples.

En esta situación, si pod install y construyo xcode, aparece el error “no such module”.

Así que pod archivos de pod y luego pod init .

El formato del archivo de Pod se ha cambiado para objectives múltiples

¡¡Funciona!!

¡Mira esto!

Cosas que intenté:

  • Eliminar y volver a agregar el marco de pods vinculados
  • Limpieza
  • Eliminar datos derivados
  • pod instalar de nuevo

La única solución que tuve para este problema fue exponer el objective Pods- (yourapp) en el selector de esquema (al lado de los botones de ejecutar / detener) y construir manualmente ese objective Pods antes de construir y ejecutar mi objective principal de la aplicación nuevamente. ¡Espero que esto pueda salvar a alguien 10 minutos!

Esto debería funcionar:

  1. pod deintegrate
  2. rm -rf yourproject.xcworkspace
  3. pod instalar

Cuando edité y eliminé un directorio que no necesitaba en ProyectoConfiguraciones de comstackción (al lado de Información ), estaba borrando dos de las entradas en las Rutas de búsqueda de marco en el Objetivo de mi aplicación en Configuraciones de comstackción . Asegúrese de que las cuatro filas tengan entradas pobladas automáticamente desde la instalación del Pod como se muestra en la imagen a continuación: Rutas de búsqueda de marcos en la configuración de compilación para su aplicación de destino Para copiar las entradas de Debug and Release a las siguientes filas, seleccione una fila a la vez y presione eliminar, que debe copiar de la fila anterior. Una vez que hice eso, el espacio de trabajo se construiría muy bien.

Si está utilizando múltiples objectives que acceden a la misma clase (por ejemplo, aplicación de extensión de mensajes), y si esa clase se agrega a ambos objectives, debe agregar el pod para ambos objectives en el PodFile.

¿Tu aplicación se crea utilizando el objective principal?

Si es así, pude hacer que esto funcionara de la siguiente manera:

  1. Agregar una entrada para cada objective en el archivo Podfile
  2. Ejecutar pod install

Aquí está mi archivo Podfile final.

 platform :ios, '11.3' target 'myapp' do use_frameworks! # Pods for myapp pod 'KeychainSwift' pod 'ReachabilitySwift' pod 'Firebase/Core' pod 'Fabric' pod 'Crashlytics' target 'myappTests' do inherit! :search_paths # Pods for testing end target 'myappUITests' do inherit! :search_paths # Pods for testing end target 'myapp-local' do inherit! :search_paths # Pods for testing end target 'myapp-master' do inherit! :search_paths # Pods for testing end end 

El problema podría ser que realmente no existe dicho módulo. Especialmente si el nombre del pod contiene guiones y otros personajes controvertidos.

En mi caso, estaba tratando de usar la biblioteca Dip-UI . El proyecto de muestra usaba Carthage que quería reemplazar con CocoaPods. El nombre del módulo con Carthage fue DipUI , mientras que con CocoaPods fue Dip_UI , lo que significaba que estaba obteniendo “No such modulo” hasta que cambié el nombre.

Tu xcode no se actualiza a la versión esperada por la biblioteca / framework