Swift: no se puede usar la biblioteca desde el file Pod

Estoy usando la biblioteca Typhoon para el marco de dependency injection. Yo uso CocoaPod para instalar esta biblioteca. Aquí está mi file pod:

 target "typhoon-swift-demo" do pod 'Typhoon' end target "typhoon-swift-demoTests" do end 

Me he instalado con éxito, pero cuando abro el file de proyecto del área de trabajo. Escribo esa línea de código como el código de muestra de Typhoon:

 public class ApplicationAssembly: TyphoonAssembly { } 

TyphoonAssembly error de que mi aplicación no reconoce TyphoonAssembly He intentado usar algunas líneas, como:

 import Typhoon // not recogize typhoon import TyphoonAssembly // not regconize 

Por favor, dime cómo solucionar este problema. ¿Qué debo agregar antes de poder usar la biblioteca? Gracias 🙂

Tienes que importar los files del encabezado del Pod con Objective-C y no con Swift. Entonces mezclarás los dos idiomas si quieres usar CocoaPods con Swift. Aquí hay un gran tutorial sobre cómo lograr esto.

Además de la respuesta de Quark, el ejemplo de The Typhoon Swift muestra cómo configurar Typhoon para su uso con Swift y CocoaPods.

Tenga en count que si está utilizando testings de "estilo de aplicación", que es el pnetworkingeterminado en casi todas partes ahora, el objective de testing ya tendrá implícitamente las dependencies del objective principal. Por lo tanto, el objective de testing debe declararse exclusivo. Ejemplo:

 platform :ios, '7.0' target :PocketForecast, :exclusive => true do pod 'Typhoon', :head pod 'CKUITools' pod 'ICLoader' pod 'NGAParallaxMotion' pod 'NSURL+QueryDictionary' pod 'OCLogTemplate' pod 'PaperFold', :git => 'https://github.com/jasperblues/PaperFold-for-iOS.git', :tag => '1.2-no-gesture-recognizers' end target :PocketForecastTests do pod 'Expecta', '~> 0.2.1' pod 'OCHamcrest' pod 'OCMockito' end inhibit_all_warnings! 

Si el objective de testing no se declara exclusivo, tendrá todas las bibliotecas de la aplicación vinculadas dos veces. Esto puede causar problemas en el caso de Typhoon, ya que usa mucha introspección.

Tenga en count también en la aplicación de ejemplo, que hay un encabezado de puente, que incluye:

 #import "Typhoon.h" 

Ejemplo de Typhoon Swift:

introduzca la descripción de la imagen aquí

Creo que esto necesita una actualización. He comenzado recientemente a desarrollar aplicaciones Swift y, desde un entorno Java, busqué un framework como Spring. Lo mejor que encontré es Typhoon. Sin embargo, no encontré una buena presentación para los novatos, así que hice un proyecto innovador para probarlo.

Integré Typhoon por:

  1. Instalación de cocoapods
  2. Crear un podfile básico con un "use_frameworks!" linea como aqui
  3. pod de instalar
  4. Agregando la matriz "TyphoonInitialAssemblies" a mi file de plist
  5. Cree un primer ensamblaje y agréguelo a la matriz en el plist

En el assembly,

 import Typhoon public class MyAssembly:TyphoonAssembly{} 

¡Funciona de maravilla!

Incluso has conocido este error.

Fijé por path: => quitar "plataforma: ios, 'x.0'"

use_frameworks! target 'LateManagement' do pod 'Alamofire' pod 'SwiftyJSON' end