2014-09-09 6 views
8

Prima di aggiungere una nuova dipendenza al mio progetto di test tramite CocoaPods, ho già aggiunto un file di intestazione C ('wahoo.h') e l'ho esposto al codice swift tramite un file di intestazione di bridging "wahoo-Bridging-Header.h ". L'app di test potrebbe essere compilata ed eseguita senza problemi.Perché #import aggiuntivo nell'intestazione di bridging non è riuscito in swift?

Quindi ho aggiunto una nuova dipendenza 'STHTTPRequest' al mio progetto. È possibile visualizzare l'elenco dei file di qui:

enter image description here

Se ho aggiunto questa linea:

#include <STHTTPRequest/STHTTPRequest.h>

Essa sarà in grado di compilare con questo messaggio di errore:

enter image description here

Ho provato alcune alternative, ma tutte hanno fallito:

#include "STHTTPRequest.h"

#import "STHTTPRequest.h"

A quanto pare non posso avere più di un ponte file di intestazione in un progetto. Come posso risolvere questo problema di importazione?

EDIT posso aggirare il problema se copio il file di intestazione da Pods in SO1 e aggiungere #include "SO1/STHTTPRequest.h" all'intestazione colmare. Non è una soluzione ideale.

Come è possibile automatizzare la copia dei file di intestazione? In alternativa, in che modo è possibile rendere i file di intestazione in Pods accessibili a SO1?

+0

Funziona se si '#include" STHTTPRequest/STHTTPRequest.h "'? – Antonio

+0

STHTTPRequest.h si trova in un altro progetto nello stesso spazio di lavoro, hai provato il percorso in cui il file si trova nel navigatore di progetto? '' – Binarian

+0

@Antonio Non funzionerebbe, poiché i percorsi dei file sono in '<>' – Binarian

risposta

1

Questo funziona:

#include <STHTTPRequest.h> 
+11

questo non ha funzionato per me – calql8edkos

+0

Aggiungi $ {PODS_ROOT} come ricorsivo e quindi inizierà a funzionare –

3

Si dovrebbe aggiungere il seguente percorso di ricerca intestazione: "$ {PODS_ROOT}/intestazioni/STHTTPRequest"

+0

È già stato aggiunto da CocoaPods al progetto SO1 –

2

ho aggiunto "pods/intestazioni/Pubbliche" come ricorsiva voce nelle impostazioni di compilazione per il mio progetto in "Percorsi di ricerca/Percorsi di ricerca intestazione utente".

Ho quindi possibile utilizzare è formato standard di importazione: - #import "AFNetworking/AFNetworking.h"

7

Dovete dire Xcode dove cercare i file header che stai elencando nell'intestazione colmare. Trovare la sezione Percorsi di ricerca, e modificare l'impostazione a livello di progetto per Header percorsi di ricerca, l'aggiunta di una ricorsiva ingresso per la directory Pods. Dovrebbe essere Pods/** ora.

Nella intestazione Bridging includono con:

#include <STHTTPRequest/STHTTPRequest.h> 

oa causa di percorso di ricerca ricorsiva:

#include <STHTTPRequest.h> 
0

Se la libreria pod in c Obiettivo in quel caso è necessario importare classe come questa -

@import STHTTPRequest;