2012-09-27 17 views
5

Ich versuche, eine Kamera/Foto-App zu erstellen, die einen Filter auf einem Bild hinzufügen wird. Ich habe von Brad Larson GPUImage gehört und so habe ich es heruntergeladen und versucht, es zu manipulieren, um mit dem Code vertrauter zu sein.Wie fügen Sie GPUImage zu einem iOS-Projekt hinzu?

Jetzt habe ich ein neues Projekt in Xcode erstellt und es in meine Frameworks aufgenommen, aber ich habe keine Ahnung, wie ich es in einem neuen Projekt verwenden soll.

Wie kann ich GPUImage richtig in meinem neuen Projekt verwenden?

+0

Ich habe w here/Bilder detaillierte Schritte hinzugefügt: http://stackoverflow.com/a/21896243/1553014 sehen, ob es hilft. –

Antwort

16

Ich weiß nicht, wie ich als die Schritt-für-Schritt-Anleitung viel klarer sein könnte ich auf the very first page of the GitHub project setzen und in der README.md unter dem Abschnitt „Hinzufügen von dem Rahmen zu Ihrem iOS-Projekt“:

Sobald Sie den neuesten Quellcode für das Framework haben, ist es ziemlich einfach , es zu Ihrer Anwendung hinzuzufügen. Beginnen Sie, indem Sie die Datei GPUImage.xcodeproj in das Xcode-Projekt Ihrer Anwendung ziehen, um das Framework in Ihr Projekt einzubetten. Gehen Sie als Nächstes zum Ziel Ihrer Anwendung und fügen Sie GPUImage als Zielabhängigkeit hinzu. Abschließend möchten Sie die Bibliothek libGPUImage.a aus dem Ordner Produkte des Produkts GPUImage in die Build-Phase Link Binary With Libraries im Ziel Ihrer Anwendung ziehen.

GPUImage braucht ein paar andere Frameworks in Ihrem Anwendung verknüpft werden, so dass Sie die folgenden als verknüpfte Bibliotheken in Ihrer Anwendung Ziel hinzufügen müssen:

  • Coremedia
  • Corevideo
  • OpenGLES
  • AVFoundation
  • Quartz

Sie brauchen auch die Rahmen-Header zu finden, also in Ihre Projektbuildeinstellungen der Header-Suchpfade den relativen Pfad aus Ihrer Anwendung auf den Rahmen/Unterverzeichnis innerhalb des GPUImage Quellverzeichnisses eingestellt. Machen Sie diesen Header-Suchpfad rekursiv.

Um die GPUImage Klassen in Ihrer Anwendung zu verwenden, sind einfach den Rahmen Kopfkern mit dem folgenden:

#import "GPUImage.h" 

Als Anmerkung: Wenn Sie in der Fehlermeldung „Unknown Klasse GPUImageView in Interface Builder“ laufen oder Ähnliches, wenn Sie versuchen, eine Schnittstelle mit Interface Builder zu erstellen, müssen Sie möglicherweise -ObjC zu Ihrem anderen Linker Flags in den Build-Einstellungen Ihres Projekts hinzufügen.

Auch, wenn Sie dies auf iOS 4 bereitstellen müssen.x, es scheint, dass die aktuelle Version von Xcode (4.3) erfordert, dass Sie das Core Video-Framework in Ihrer endgültigen Anwendung schwach zu verknüpfen, oder Sie sehen Abstürze mit der Nachricht "Symbol nicht gefunden: _CVOpenGLESTextureCacheCreate", wenn Sie ein Archiv erstellen für den Upload in den App Store oder für ad hoc Verteilung. Wechseln Sie dazu auf die Registerkarte Build Phases Ihres Projekts erweitern Sie die Binary Binary With Libraries Gruppe, und finden Sie CoreVideo.framework in der Liste. Ändern Sie die Einstellung dafür in der Ferne rechts von der Liste von Erforderlich zu Optional.

Darüber hinaus ist dies ein ARC-fähigen Rahmen, wenn Sie also diese innerhalb einer manuellen Referenz gezählt Anwendung Targeting iOS 4.x verwenden möchten, Sie benötigen -fobjc-Bogen zu Ihrem Andere Linker Flags hinzufügen auch.

Um dies in Aktion zu sehen, sehen Sie sich eine der vielen Beispielanwendungen an, die ich mit dem Framework geliefert habe.

+0

Danke Sir! Ich hätte alles zuerst lesen sollen. –

+2

Ich bin ein wenig verwirrt mit diesem "so innerhalb der Build-Einstellungen Ihres Projekts setzen Sie die Header-Suchpfade auf den relativen Pfad von Ihrer Anwendung zum Framework/Unterverzeichnis innerhalb des GPUImage-Quellverzeichnisses. Machen Sie diesen Header-Suchpfad rekursiv." –

+0

Ich habe diese Fehler "'GPUImage.h' Datei nicht gefunden" und "Apple LLVM Compiler 3.1 Fehler" –

1

Die einfachste Möglichkeit, GPUImage in Ihr Projekt zu integrieren, ist wahrscheinlich . Und während der GPUImage CocoaPods Repo von Brad nicht wirklich gepflegt wird, ist der Unterhalt ziemlich regelmäßig, und es macht die Integration ein Kinderspiel.

> Go get it

Verwandte Themen