2012-09-27 19 views
5

Sto provando a realizzare un'app per fotocamera/foto che aggiungerà un filtro a un'immagine. Ho sentito parlare di GPUImage di Brad Larson e così l'ho scaricato e ho cercato di manipolarlo per avere più familiarità con il codice.Come si aggiunge GPUImage a un progetto iOS?

Ora ho creato un nuovo progetto in Xcode e l'ho aggiunto ai miei framework, ma non ho idea di come utilizzarlo in un nuovo progetto.

Come posso utilizzare correttamente GPUImage nel mio nuovo progetto?

+0

Ho aggiunto la procedura dettagliata w/foto qui: http://stackoverflow.com/a/21896243/1553014 vedere se aiuta. –

risposta

16

Non so come potrei essere molto più chiaro rispetto alle istruzioni passo-passo ho messo su the very first page of the GitHub project e nel README.md nella sezione "Aggiungere il quadro al progetto iOS":

Una volta ottenuto l'ultimo codice sorgente per il framework, è abbastanza semplice aggiungere alla tua applicazione. Inizia trascinando il file GPUImage.xcodeproj nel progetto Xcode dell'applicazione per incorporare il framework nel progetto. Successivamente, vai alla destinazione della tua applicazione e aggiungi GPUImage come dipendenza della destinazione. Infine, ti consigliamo di trascinare la libreria libGPUImage.a dalla cartella Prodotti del framework GPUImage alla fase di creazione di Link Binary With Libraries nella destinazione dell'applicazione .

GPUImage ha bisogno di un paio di altri framework per essere collegato nella vostra applicazione , quindi avrai bisogno di aggiungere quanto segue come librerie collegate nel vostro target di applicazione:

  • CoreMedia
  • CoreVideo
  • OpenGLES
  • AVFoundation
  • QuartzCore

avrete anche bisogno di trovare le intestazioni quadro, quindi all'interno di impostazioni di generazione del progetto impostare l'intestazione percorsi di ricerca per la relativa percorso dalla vostra applicazione per il quadro/sottodirectory all'interno della directory di origine GPUImage. Rendi ricorsivo questo percorso di ricerca dell'intestazione.

Per utilizzare le classi GPUImage all'interno dell'applicazione, è sufficiente includere l'intestazione quadro nucleo utilizzando il seguente:

#import "GPUImage.h" 

Come nota: se si esegue in l'errore "di classe GPUImageView sconosciuta in Interface Builder" o simili quando si tenta di creare un'interfaccia con il generatore di interfacce , potrebbe essere necessario aggiungere -ObjC al proprio altro linker flag nelle impostazioni di generazione del progetto.

Inoltre, se è necessario distribuirlo a iOS 4.x, sembra che la versione corrente di Xcode (4.3) di richieda il collegamento debole del framework video Core nell'applicazione finale o si riscontrino arresti anomali con il messaggio "Simbolo non trovato: _CVOpenGLESTextureCacheCreate" quando si crea un archivio per il caricamento sull'App Store o per la distribuzione ad hoc . Per fare ciò, vai alla scheda Fasi di generazione del progetto, espandi il gruppo Collega file binari con librerie e trova CoreVideo.framework nell'elenco. Modificare l'impostazione per questo nel diritto remoto dell'elenco da Richiesto a Facoltativo nel lontano .

Inoltre, questo è un framework ARC-enabled, quindi se si desidera utilizzare questo all'interno di un manuale di riferimento contato applicazione mira iOS 4.x, è necessario aggiungere -fobjc-arc ai vostri Altre Bandiere Linker anche.

Per vedere questo in azione, osservare le numerose applicazioni di esempio fornite con il framework.

+0

Grazie signore! Avrei dovuto leggere tutto prima. –

+2

Sono un po 'confuso con questo "quindi nelle impostazioni di costruzione del tuo progetto imposta i Percorsi di ricerca dell'intestazione al percorso relativo dall'applicazione alla sottodirectory framework/all'interno della directory di origine GPUImage. Rendi questo percorso di ricerca dell'intestazione ricorsivo." –

+0

Ho questi errori "'GPUImage.h' file non trovato" e "Apple LLVM compilatore 3.1 Errore" –

1

Probabilmente il modo più semplice per integrare GPUImage nel progetto è tramite . E mentre il repository di CocoaPods di GPUImage non è effettivamente mantenuto da Brad, il suo mantenimento è abbastanza regolare e rende l'integrazione un gioco da ragazzi.

> Go get it

Problemi correlati