2014-09-13 21 views
8

Ecco la mia configurazione:Utilizzando Cocoapods in framework embedded con Xcode 6 GM

  1. Pod X: Collegato con MyProjectSharedCode, dichiara di classe SomeClass (in Objective C)
  2. MyProjectExtension: oggi i dati di estensione, la condivisione con MyProject
  3. MyProject: Companion app per configurare MyProjectExtension
  4. MyProjectSharedCode: embedd ed framework per codice comune in MyProject e MyProjectExtension. Utilizza SomeClass.

Non riesco a farlo funzionare. Ho provato:

  • Importazione PodX.h in MyProjectSharedCode.h, ma il risultato e 'un errore di compilazione:

include of non-modular header inside framework module

  • Il che mi porta a un po' di link StackOverflow, tra cui this one. Tuttavia, la modifica di questa opzione non mi ha permesso di compilare neanche. Come dice @NachoSoto nell'ultimo commento della risposta accettata, la risposta sembra non funzionare da quando Xcode 6 B5.

Qualsiasi aiuto/lead sarebbe molto apprezzato.

+0

Non si collega il codice con un framework. Fai riferimento alle intestazioni per compilare, ma nulla è ancora collegato. Solo l'app host collega tutti i binari compilati. – Rivera

+0

Ho fatto un tentativo: collegato entrambe le app con i pod, come è attualmente. Aggiunto un nuovo obiettivo. Aggiornato il percorso di ricerca dell'intestazione per includere la cartella 'Pods'. Rimossa la cartella 'Common', ha aggiunto nuovamente i file con il framework come destinazione. Costruito. Ogni file Swift non è riuscito a compilare con l'errore: ': 0: errore: impossibile creare il modulo Objective-C 'LiFXWidgetSharedCode'' – DCMaxxx

+0

Primo. Non ho risolto il problema. L'ultimo tentativo è stato quello di creare pod con "Definisci modulo" nel progetto pod (come in doc _ "Quando si importa un framework esterno, assicurarsi che l'impostazione di creazione del modulo Defines per il framework che si sta importando sia impostata su Sì." _). Ma. Non lo so esattamente, ma penso che non tutto il codice sorgente dei pod sia ricompilato ogni volta che si crea, alcuni pod sono solo librerie statiche con header. Quindi, nessun modulo è definito, e puoi vedere l'errore dalla domanda. Smb potrebbe tentare di ricompilare le fonti di pod con il nome del modulo definito e le intestazioni di ambito pubblico (sono di default nei pod). – Renatus

risposta

2

C'è un buon post che è uscito oggi sull'utilizzo del ramo di sviluppo di Cocoapods 0.36.0 che è il punto in cui è stato aggiunto il supporto framework/rapido.

http://swiftwala.com/cocoapods-is-ready-for-swift/

Baring che ho collegando le cialde in un quadro e poi comprese le intestazioni nell'intestazione bridging. È un po 'bizzarro ma funziona finché non si desidera scrivere rapidamente che utilizza i pod nel framework stesso.

Modifica La versione pre-release di 0.36.0 è fuori you can see the blog post here.

Problemi correlati