2014-10-16 14 views
8

Uso la libreria Typhoon per Dipendenza Injection Framework. Io uso CocoaPod per l'installazione di questa libreria. Ecco il mio file pod:Swift: impossibile utilizzare la libreria dal file Pod

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

target "typhoon-swift-demoTests" do 

end 

Ho installato correttamente ma quando apro il file di progetto dell'area di lavoro. I tipo quelli riga di codice come codice di esempio Typhoon:

public class ApplicationAssembly: TyphoonAssembly { 

} 

incontro di errore che la mia domanda non riconosce TyphoonAssembly ho cercato di utilizzare alcune linee come ad esempio:

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

prego di dirmi come per risolvere questo problema. Cosa dovrei aggiungere prima di poter usare la libreria. Grazie :)

risposta

10

È necessario importare i file di intestazione del pod utilizzando Objective-C e non Swift. Quindi mescolerai le due lingue se vuoi usare CocoaPods con Swift. Here's a great tutorial su come ottenere ciò.

+0

Nizza: D grazie mille: D mi costa lasso di tempo: D solo perché ho voglia di saltare direttamente in rapido prima di imparare qualche cosa di base : D – hqt

+0

Quello non ha funzionato per me. Questo era meglio http://blog.ios-developers.io/parse-backend-with-swift/ – jonypz

3

In aggiunta alla risposta di Quark, The Typhoon Swift example mostra come impostare Typhoon per l'utilizzo con Swift e CocoaPods.

Si noti che se si utilizzano i test di tipo "applicazione", che è il valore predefinito quasi ovunque ora, la destinazione del test avrà già implicitamente le dipendenze del target principale. Pertanto l'obiettivo del test dovrebbe essere dichiarato esclusivo. Esempio:

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! 

Se il bersaglio di prova non è dichiarato in esclusiva, allora avrà tutte le librerie dell'applicazione collegate due volte. Questo può causare problemi nel caso di Typhoon, poiché utilizza molta introspezione.


noti inoltre nell'applicazione di esempio, che è un'intestazione di transizione, che comprende:

#import "Typhoon.h" 


Typhoon Swift Esempio:

enter image description here

+0

grazie :) Ho letto il file pod del progetto, ma non capisco perché l'autore lo scrive. Ora posso capire chiaramente: D La tua biblioteca + demo sono grandiose, non solo per questa libreria di framework, ma anche per chi cerca di imparare la programmazione iOS :) – hqt

+0

:) Saresti così gentile da aggiungere un commento al Podfile spiegando quanto sopra e invia una richiesta di pull? Sembra che dovremmo aver incluso questa spiegazione. –

2

Penso che questo abbia bisogno di un aggiornamento. Ho iniziato recentemente a sviluppare applicazioni Swift e, provenendo da uno sfondo Java, ho cercato un framework come Spring. Il migliore che ho trovato è Typhoon. Tuttavia, non ho trovato una buona presentazione per i neofiti, quindi ho fatto un progetto per provarlo.

ho integrato Typhoon da:

  1. Installazione cocoapods
  2. Creazione di un podfile base con un "use_frameworks!"Linea like here
  3. pod installare
  4. Aggiungendo la "matrice TyphoonInitialAssemblies" per il mio file plist
  5. Crea una prima assemblea e inserirlo alla matrice nel plist

Nell'assemblea,

import Typhoon 

public class MyAssembly:TyphoonAssembly{} 

Funziona come un fascino!

1

Hai anche incontrato questo errore.

ho fissato in via: => Rimuovi "piattaforma: ios, 'x.0'"

use_frameworks! target 'LateManagement' fare pod 'Alamofire' pod 'SwiftyJSON' fine

Problemi correlati