not manually found ios xcode swift cocoapods

ios - manually - ''No existe tal módulo'' cuando uso CocoaPods



pod install command not found (18)

Así que aquí está mi procedimiento. Creo un nuevo Podfile en el directorio del proyecto, luego agregué lo siguiente

platform :ios, ''9.0'' use_frameworks! target ''CPod'' do pod ''AFNetworking'', ''~> 2.5'' pod ''ORStackView'', ''~> 2.0'' pod ''SwiftyJSON'', ''~> 2.1'' end

xcworkspace la pod install , y todo va bien, abro el xcworkspace . Luego me dirijo a ViewController.swift y si intento importar un pod no obtengo No such module ''SwiftyJSON'' , si tuviera que import SwiftyJSON . ¿Algunas ideas?

EDITAR: SwiftyJSON es un módulo basado en Swift, no Obj-C


A veces sucede cuando tienes un pod obj-c dentro de un proyecto rápido (¡incluso cuando usas use_frameworks! En el .podfile ).

Si está seguro de que el pod está instalado y aún no recibe dicho módulo , intente esto:

  • Ir al proyecto Pods en Xcode
  • Vainas
  • Haga clic derecho en el pod afectado
  • Mostrar en el Finder

Debe haber un archivo de paquete con el sufijo .framework . Crea una carpeta Módulos en ella. En esta carpeta, cree un archivo llamado module.modulemap con código:

framework module MODULE_NAME_HERE { umbrella header "MODULE_NAME_HERE.h" export * module * { export * } link framework LINKED_FRAMEWORKS_AND_LIBRARIES_THE_POD_NEEDS_HERE link framework "AdSupport" link "c++" link "z" }

Reconstruir y deberías estar bien.


Acabo de actualizar dependencias particulares en la terminal

Vaya a la carpeta del proyecto y luego ejecute el siguiente comando

pod actualiza el nombre de tu pod

Para mi necesito hacer

actualización de pod Accesibilidad Swift


Agregar el enlace "c ++" en el archivo framework module.modulemap me funcionó


Asegúrese de importar el nombre de marco correcto que se define en .podspec del pod.


Como @ jakub-truhlář escribió, el problema raíz es el archivo module.modulemap que falta debido a algún problema de concurrencia que mezcla las bibliotecas Swift y Objective-C, pero en lugar de crear esos archivos manualmente, sería mejor intentar limpiar varias veces los Datos Derivados y Construye tu proyecto. Cuando el proyecto se construye con éxito, confirme los archivos module.modulemap en su repositorio para evitar perder esos archivos, por ejemplo, cambiando la rama actual.


Debe volver a abrir el archivo .xcworkspace del proyecto (no .xcodeproj) después de instalar su podfile.

  1. Clona el repositorio con CocoaPods
  2. Abra YourWorkspace / YourApplication.xcworkspace
  3. Seleccione la aplicación que desea ejecutar Agregar SwiftyJSON.framework en binarios incrustados para ese proyecto Hit Run

Happy Coding :)


En caso de múltiples objetivos. Por ej. Target1, Target2

use_frameworks! target ''Target1'' do pod ''Fabric'' pod ''Crashlytics'' target ''Target2'' do end end

Luego ejecute pod install.


Enfrenté el mismo problema en un marco rápido que desarrollé. El marco tenía una dependencia del proyecto git y el marco en sí mismo se agregó como un pod a mi proyecto principal. Entonces, idealmente, la dependencia se ha especificado en el archivo podspec y en el Podfile también.

No me enfrenté al problema al acceder a través de mi proyecto principal, pero cuando abro el marco independiente arrojaba el error "No hay tal módulo".

La causa raíz es que las configuraciones básicas se establecen con la ruta que apunta hacia mi proyecto principal en lugar del marco en sí porque ejecuté podinstall primero en mi proyecto principal y luego en el proyecto marco.

Por ejemplo: en el archivo del proyecto era como 0091AB0C861D71C94ADD7240 / * Pods-myframework.release.xcconfig * / = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; nombre = "Pods-myframework.release.xcconfig"; ruta = "../../Apps/MyMainProject/Pods/Target Support Files / Pods-myframework / Pods-myframework.release.xcconfig" ; sourceTree = ""; };

Después de hacer la corrección mencionada a continuación, 4444F5B1B35F066E57F96782 / * Pods-myframework.release.xcconfig * / = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; nombre = "Pods-myframework.release.xcconfig"; ruta = "Pods / Archivos de soporte de destino / Pods-myframework / Pods-myframework.release.xcconfig" ; sourceTree = ""; };

Para arreglar el error,

  1. Archivo de proyecto -> Configuraciones -> Establecer todas las configuraciones establecidas en ninguna.
  2. Eliminar la carpeta Pods y Podfile.lock.
  3. Ejecute ''pod install'' primero en el directorio del proyecto marco y luego realice la instalación del pod en el directorio principal del proyecto.

Intenté todas estas sugerencias pero nada funcionó para mí. En cambio, lo que funcionó para mí fue desintegrar las vainas. Luego, elimine la carpeta de pods de la jerarquía de xcode y realice la instalación de pod. De repente funcionó. No me pregunten por qué porque de todos modos la mayoría de estas sugerencias son acertadas o no, pero estaré contento si también funciona para otra persona :)


Intente agregar el marco de Pods a su esquema de compilación y compile el marco. Después de haberlo construido, compila / ejecuta tu proyecto.

Pasos:

  1. Menú Esquema> Administrar esquemas> verificar Pods > Cerrar

  2. Seleccione Pods en el menú del esquema.
  3. Construir Pods .
  4. Seleccione su proyecto desde el mismo menú, luego compílelo / ejecútelo.

Intente usar la actualización de pod después del comando de instalación de pod que resolverá el problema de No hay tal módulo . Acabo de intentarlo y funciona bien.

Gracias Ratneshwar


No estoy seguro si esto sería útil para otros. Pero, en mi caso, terminó siendo un error tonto de no hacer referencia a dependencias del archivo .podspec.

Tenemos una aplicación con múltiples bibliotecas internas, y esas bibliotecas también tienen dependencias entre sí, lo que representamos en los Podfiles ... pero NO en las podspecs.

Entonces, a pesar de que nuestros Podfiles tenían:

Aplicación / Podfile

# Development Pods pod ''ConsumingLibrary '', :path => ''../ios-consuming-lib'' pod ''DependentLibrary1'', :path => ''../ios-library-one'' pod ''CommonCoreLibrary'', :path => ''../ios-common-core-lib''

ConsumingLibrary / Podfile

# Development Pods pod ''DependentLibrary1'', :path => ''../ios-library-one'' pod ''CommonCoreLibrary'', :path => ''../ios-common-core-lib''

Necesario también llamarlo en .podspec''s:

ConsumingLibrary / ConsumingLibrary.podspec

# TODO # Add here any resources to be exported. s.dependency ''DependentLibrary1'', ''~> 0.1.0-RC''

DependentLibrary1 / DependentLibrary1.podspec

# TODO # Add here any resources to be exported. s.dependency ''CommonCoreLibrary'', ''~> 0.1.0-RC''

Creo que perdí alrededor de 2 horas tratando de descubrir por qué podría construir ConsumingLibrary y ejecutar pruebas, pero tan pronto como construí la aplicación, eso consumió las tres bibliotecas: seguí obteniendo:

No existe tal módulo ''DependentLibrary1''


Para usar Swift en Objective-C, debe importar un archivo de encabezado que Xcode genera automáticamente en tiempo de compilación (NameOfModule + Swift.h). En este caso, debe intentar importar SwifityJSON en su archivo de encabezado de esta manera:

#import "SwiftyJSON-Swift.h"


Presione Comando + Opción + Mayús + K y luego ejecute su aplicación, verá una magia.

O desde el menú -> Producto, presione Opción en su teclado y verá Limpiar carpeta de compilación.

Parece curioso que Xcode pueda hacer esas cosas con nosotros, pero me pasó lo mismo cuando utilicé una biblioteca Swift con Pod y después de demasiada lucha terminé con Clean Build Folder.


También puede intentar reinstalar pods usando:

pod deintegrate

y entonces

pod install

Esto solucionó este problema para mí


Tuve este problema al agregar CocoaPods en un proyecto antiguo, que ya había incluido manualmente libs de antes. Sucedió porque Xcode no se estaba resolviendo a la Framework Search Path generada por CocoaPods debido a los valores establecidos previamente en la configuración del objetivo.

Solución que me ayudó:

  1. copia el camino viejo

  2. presione Eliminar para borrar por completo la configuración de la Framework Search Path del Framework Search Path en la columna del objetivo: la ruta, generada por CocoaPods, aparecerá allí

  3. agregue la ruta de búsqueda anterior debajo de la generada (solo es necesario si todavía tiene algunos marcos agregados manualmente para trabajar)

  4. Proyecto limpio, borrar datos derivados, compilar.

El resultado se vería así (primera línea agregada por Xcode, segunda agregada por CocoaPods y tercera es manual):


Tuve este problema cuando abrí XCode y luego seleccioné el espacio de trabajo de mi proyecto a través de archivo-> abrir reciente.

Descubrí que tenía dos archivos .xcworkspace en mi sistema de archivos para el mismo espacio de trabajo / proyecto.

Abrir XCode haciendo doble clic en el archivo .xcworkspace correcto hizo el truco. El correcto es el que funciona.

Más tarde eliminé el incorrecto.


  • proyecto limpio
  • cerrar xcode
  • abrir xcode
  • disfrutar