Probleme mit EXF Framework

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Probleme mit EXF Framework

    Hallo liebes Entwicklerforum,

    jetzt muss ich mich auch mal zu Wort melden. War bis jetzt nur lesend aktiv und stehe jetzt vor einem Problem wo ich eure Hilfe gut gebrauchen könnte.

    Hab da auch schon ein paar andere Posts gefunden. Diese brachten aber leider nicht den gewünschten Erfolg. Aufgrund dessen wollte ich mal einen neuen Thread eröffnen und das Problem möglichst klar und mit Bildern darstellen.


    Dann mal zum Problem:

    Ich haben ein Projekt erstellt, ich welchem ich EXIF-Daten aus Bildern auslesen möchte. Diese Bilder werden über den UIImagePicker in eine NSData Variable geladen um sie dann nach EXIF-Daten zu scannen.
    Zum scannen soll das ZipArchiv Framework verwendet werden. Nachdem ich mir deren Anleitung angesehen habe wollte ich das ganze also in meinem Projekt umsetzen.

    Folgende Schritte habe ich ausgeführt:

    1. Das Framework wie in der Dokumentation in mein Projekt eingebunden. Siehe Bilder im Anhang!
    2. Den BOOL fürs Tracking auf FALSE gesetzt.
    3. Das Framework in meiner Projekt.m Datei eingebunden.
    4. Eine Methode zum auslesen der Daten geschreiben.
    5. FEHLER beim Builden im Simulator und Device.

    Folgenden Code habe ich geschreiben:

    Quellcode

    1. #import "EXF.h"
    2. BOOL gLogging = FALSE;
    3. -(void) readEXIF {
    4. EXFJpeg* jpegScanner = [[EXFJpeg alloc] init];
    5. [jpegScanner release];
    6. }
    Alles anzeigen


    Der Fehler tritt beim [alloc] auf. Wenn ich diese Zeile im Code auskommentiere, läuft das Projekt ohne Probleme.

    Folgender Fehler wird mir von xCode ausgegeben:

    "
    Undefined symbols:
    "_OBJC_CLASS_$_EXFJpeg", referenced from:
    objc-class-ref-to-EXFJpeg in ExportViewController.o
    ld: symbol(s) not found
    collect2: ld returned 1 exit status
    "

    Ich hoffe ihr könnt mir bei diesem Problem helfen.
    Danke schonmal und schönen Tag noch

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Schlumpfinchen ()

  • macmoonshine schrieb:

    Es fehlt die Implementierung der Klasse EXFJpeg. Was enthält denn der Ordner ZipArchive im zweiten Screenshot?

    Die Klasse EXFJpeg ist in der Klasse EXF implementiert welche ich wie im Code zu sehen eingebunden habe.
    Ehm seh gerade das ich mich mit der Überschrift vertan habe. Geht nicht ums ZipArchiv sondern um EXF :D
    Und im Ordner ZipArchiv ist ebenfasll ein Framework. Dieses Funktioniert aber ohne Probleme.

    Sorry
  • Es scheint ja eine linker Meldung zu sein. Also felhen dir irgendwo die object files zu der lib.

    Btw. Dir ist schon klar, das du die EXIF Daten von Bildern aus dem Bilderarchiv nicht bekommst, sondern nur wenn Du mit der Kamera ein neues schießt im UIImagePicker ?

    Gruß

    Claus

    P.S. GPL License. Darf man das überhaupt in Apps verwenden wenn man sie in den Store stellen will ?
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Thallius schrieb:

    Btw. Dir ist schon klar, das du die EXIF Daten von Bildern aus dem Bilderarchiv nicht bekommst, sondern nur wenn Du mit der Kamera ein neues schießt im UIImagePicker ?

    Ne. Aber danke für die Information ;)
    Gibt es denn eine Möglichkeit aus den Bildern meiner Alben die EXIF Daten raus zu holen? Das wäre für meine App eigendlich von zentraler Bedeutung :wacko:
    Mir ist schon klar das ich aus Bilder, welche keine EXIF Daten enthalten auch nichts rausholen kann. Es geht hier auch hauptsächlich um Bilder wo ich weis, das EXIF Daten vorliegen.

    Nun aber nochmal zum Problem. Kannst du das evtl. noch etwas begrenzen und mir vlt. sagen wo der Fehler liegen könnte. Hab da gestern einfach zu lange dran gearbeitet und weis einfach nicht wo das Problem liegen soll :(

    Danke schonmal
  • Schlumpfinchen schrieb:

    Gibt es denn eine Möglichkeit aus den Bildern meiner Alben die EXIF Daten raus zu holen? Das wäre für meine App eigendlich von zentraler Bedeutung


    Wenn es die gäbe wäre ich auch sehr interessiert daran. Ich wollte diesbezüglich nämlich auch schonmal eine schöne App schreiben habe sie dann aber genau wegen dem Problem fallen lassen. Allerdings habe ich mich da auch nicht wirklich lange mit beschäftigt es herauszufinden.

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • So mir sind gerade ein paar sachen aufgefallen.

    Also...

    In dem Framework waren nur die lib.a und Header (.h) Dateien enthalten. Diese habe ich wie in der Anleitung des Frameworks eingebunden.

    Nun meine Vermutung:

    Es fehlen die "Code" Dateien (.m) damit das EXFJpeg Objekt erzeugt werden kann.

    Nun meine Frage:

    Habe ich da mit meiner Vermutung recht oder sind die "Code" Dateien in der lib.a Datei eingebunden?
    Wenn nein. Wieso kommt man auf die Idee ein Framework anzubieten, in welchem die hälfte fehlt? Und kennt jmd. eine Quelle wo man solche Dateien ggf. finden kann?

    PS. Ja ich habs gegoogelt :D Hab auch einige gefunden. Dann ist das Problem mit dem EXFJpeg Objekt behoben. Es fehlen dann aber weitere Dateien die ich nicht finden kann :(
  • Ich bin mir gerade nicht sicher ob Du da nicht sowieso den falschen Weg gehst. Du bekommst vom UIImagePicker ja die MetaDaten zurück. Diese libs erwarten aber doch sicher das komplette jpg image, dass sie dann selber parsen. Da du aber das komplette jpg Image überhaupt nicht bekommst dürfte die ganze Arbeit nachher für den Ar... sein ;)

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Hmmmm. Ich lasse mir von UIImgePicker das Foto aus meinem Album geben. Dieses Speicher ich in einem UIImage zwischen bzw. lasse es in ein NSData Objekt ausgeben, welches ich anschließend mit dem Framework auf EXIF-Daten scannen möchte. Also wieso sollte ich nun nicht das Foto sondern die MetaDaten haben? Ich kann das Foto bereits anzeigen und per Mail verschicken.

    -> Ich muss bereits Zugriff auf das komplette Foto haben. Oder nicht ?
  • Wie Du bereits schreibst bekommst du vom Picker ein UIImage. Dieses hat aber nichts mehr mit dem JPEG FileFormat zu tun und beinhaltet deshalb natürlich auch nicht mehr die EXIF Daten. Wenn doch, dann habe ich die bisher noch nicht gefunden.

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Schlumpfinchen schrieb:

    Hmmmm. Ich lasse mir von UIImgePicker das Foto aus meinem Album geben. Dieses Speicher ich in einem UIImage zwischen bzw. lasse es in ein NSData Objekt ausgeben, welches ich anschließend mit dem Framework auf EXIF-Daten scannen möchte.

    Ich will Dich ja nicht enttäuschen, aber das wird nicht funktionieren. Die UIImage-nach-NSData-Sachen (UIImageJPEGRepresentation()) erzeugen eine neue Datei aus der Bitmap, die Metadaten gehen dabei verloren. Schon im UIImage, das vom Imagepicker kommt, ist nichts mehr drin.

    Übrigens braucht man für die Metadaten keine externe Bibliothek, das geht auch mit ImageIO. In diesem Thread ist Beispielcode. Aktuell ist der NSURL->CGDataProvider, der lässt sich aber umbauen auf NSData->CGDataProvider oder UIImage->CGImage->CGDataProvider->CGImageSource. Allerdings sind bei dem Weg die Metadaten (zumindest im Simulator) leer, bei dem Weg UIImage->NSData->CGImageSource ist genau ein Eintrag drin: Die Dateilänge. Kann sein, dass es auf einem realen Gerät anders ist, ansonsten: Alles für die Katz.
    Multigrad - 360°-Produktfotografie für den Mac