Ecco la mia configurazione:Utilizzando Cocoapods in framework embedded con Xcode 6 GM
Pod X
: Collegato conMyProjectSharedCode
, dichiara di classeSomeClass
(in Objective C)MyProjectExtension
: oggi i dati di estensione, la condivisione conMyProject
MyProject
: Companion app per configurareMyProjectExtension
MyProjectSharedCode
: embedd ed framework per codice comune inMyProject
eMyProjectExtension
. UtilizzaSomeClass
.
Non riesco a farlo funzionare. Ho provato:
- Importazione
PodX.h
inMyProjectSharedCode.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.
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
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
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